Merge branch 'nice' into develop

# Conflicts:
#	src/controllers/KpiUserCapacityController.ts
#	src/controllers/KpiUserEvaluationController.ts
This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-08-22 14:27:49 +07:00
commit dfd9ebb3c1
21 changed files with 526 additions and 236 deletions

View file

@ -29,6 +29,7 @@ import { KpiSpecial } from "../entities/kpiSpecial";
import { Not } from "typeorm";
import { RequestWithUser } from "../middlewares/user";
import permission from "../interfaces/permission";
import { addLogSequence, setLogDataDiff } from "../interfaces/utils";
@Route("api/v1/kpi/user/achievement/special")
@Tags("KpiUserSpecial")
@ -93,6 +94,7 @@ export class KpiUserSpecialController extends Controller {
includingName: String(requestBody.includingName),
},
});
let before = null;
if (!chk_kpiSpecial) {
const kpiSpecial = Object.assign(new KpiSpecial(), requestBody);
if (!kpiSpecial) {
@ -102,7 +104,8 @@ export class KpiUserSpecialController extends Controller {
kpiSpecial.createdFullName = request.user.name;
kpiSpecial.lastUpdateUserId = request.user.sub;
kpiSpecial.lastUpdateFullName = request.user.name;
await this.kpiSpecialRepository.save(kpiSpecial);
await this.kpiSpecialRepository.save(kpiSpecial, { data: request });
setLogDataDiff(request, { before, after: kpiSpecial });
}
kpiUserSpecial.startDate = requestBody.startDate == undefined ? null : requestBody.startDate;
kpiUserSpecial.endDate = requestBody.endDate == undefined ? null : requestBody.endDate;
@ -110,7 +113,9 @@ export class KpiUserSpecialController extends Controller {
kpiUserSpecial.createdFullName = request.user.name;
kpiUserSpecial.lastUpdateUserId = request.user.sub;
kpiUserSpecial.lastUpdateFullName = request.user.name;
await this.kpiUserSpecialRepository.save(kpiUserSpecial);
await this.kpiUserSpecialRepository.save(kpiUserSpecial, { data: request });
setLogDataDiff(request, { before, after: kpiUserSpecial });
return new HttpSuccess(kpiUserSpecial.id);
}
@ -165,23 +170,29 @@ export class KpiUserSpecialController extends Controller {
includingName: String(requestBody.includingName),
},
});
let before = null;
if (!chk_kpiSpecial) {
const kpiSpecial = Object.assign(new KpiSpecial(), requestBody);
if (!kpiSpecial) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล");
}
before = structuredClone(kpiSpecial);
kpiSpecial.createdUserId = request.user.sub;
kpiSpecial.createdFullName = request.user.name;
kpiSpecial.lastUpdateUserId = request.user.sub;
kpiSpecial.lastUpdateFullName = request.user.name;
await this.kpiSpecialRepository.save(kpiSpecial);
await this.kpiSpecialRepository.save(kpiSpecial, { data: request });
setLogDataDiff(request, { before, after: kpiSpecial });
}
before = structuredClone(kpiUserSpecial);
kpiUserSpecial.lastUpdateUserId = request.user.sub;
kpiUserSpecial.lastUpdateFullName = request.user.name;
Object.assign(kpiUserSpecial, requestBody);
kpiUserSpecial.startDate = requestBody.startDate == undefined ? null : requestBody.startDate;
kpiUserSpecial.endDate = requestBody.endDate == undefined ? null : requestBody.endDate;
await this.kpiUserSpecialRepository.save(kpiUserSpecial);
await this.kpiUserSpecialRepository.save(kpiUserSpecial, { data: request });
setLogDataDiff(request, { before, after: kpiUserSpecial });
return new HttpSuccess(kpiUserSpecial.id);
}
@ -198,7 +209,7 @@ export class KpiUserSpecialController extends Controller {
if (!delKpiUserSpecial) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลงานที่ได้รับมอบหมายพิเศษนี้");
}
await this.kpiUserSpecialRepository.remove(delKpiUserSpecial);
await this.kpiUserSpecialRepository.remove(delKpiUserSpecial, { data: request });
return new HttpSuccess();
}
@ -330,10 +341,12 @@ export class KpiUserSpecialController extends Controller {
`ไม่พบข้อมูลงานที่ได้รับมอบหมายพิเศษนี้: ${item.id}`,
);
}
const before = null;
this.kpiUserSpecialRepository.merge(kpiUserSpecial, item);
kpiUserSpecial.lastUpdateUserId = request.user.sub;
kpiUserSpecial.lastUpdateFullName = request.user.name;
await this.kpiUserSpecialRepository.save(kpiUserSpecial);
await this.kpiUserSpecialRepository.save(kpiUserSpecial, { data: request });
setLogDataDiff(request, { before, after: kpiUserSpecial });
}
return new HttpSuccess();
}