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 { Not, Brackets } from "typeorm";
import { DevelopmentProject } from "../entities/developmentProject";
import { RequestWithUser } from "../middlewares/user";
import permission from "../interfaces/permission";
import { addLogSequence, setLogDataDiff } from "../interfaces/utils";
@Route("api/v1/kpi/user/achievement/development")
@Tags("KpiUserDevelopment")
@ -89,12 +90,13 @@ export class KpiUserDevelopmentController extends Controller {
// "ไม่สามารถเพิ่มข้อมูลได้เนื่องจากข้อมูลตัวชี้วัดซ้ำ",
// );
// }
let before = null;
kpiUserDevelopment.createdUserId = request.user.sub;
kpiUserDevelopment.createdFullName = request.user.name;
kpiUserDevelopment.lastUpdateUserId = request.user.sub;
kpiUserDevelopment.lastUpdateFullName = request.user.name;
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment);
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment, { data: request });
setLogDataDiff(request, { before, after: kpiUserDevelopment });
if (requestBody.developmentProjects != null) {
await Promise.all(
@ -106,7 +108,8 @@ export class KpiUserDevelopmentController extends Controller {
data.lastUpdateUserId = request.user.sub;
data.lastUpdateFullName = request.user.name;
data.kpiUserDevelopmentId = kpiUserDevelopment.id;
await this.developmentProjectRepository.save(data);
await this.developmentProjectRepository.save(data, { data: request });
setLogDataDiff(request, { before, after: data });
}),
);
}
@ -169,12 +172,17 @@ export class KpiUserDevelopmentController extends Controller {
// "ไม่สามารถเพิ่มข้อมูลได้เนื่องจากข้อมูลตัวชี้วัดซ้ำ",
// );
// }
await this.developmentProjectRepository.remove(kpiUserDevelopment.developmentProjects);
await this.developmentProjectRepository.remove(kpiUserDevelopment.developmentProjects, {
data: request,
});
const before = structuredClone(kpiUserDevelopment);
kpiUserDevelopment.lastUpdateUserId = request.user.sub;
kpiUserDevelopment.lastUpdateFullName = request.user.name;
Object.assign(kpiUserDevelopment, requestBody);
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment);
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment, { data: request });
setLogDataDiff(request, { before, after: kpiUserDevelopment });
if (requestBody.developmentProjects != null) {
await Promise.all(
requestBody.developmentProjects.map(async (x) => {
@ -185,7 +193,8 @@ export class KpiUserDevelopmentController extends Controller {
data.lastUpdateUserId = request.user.sub;
data.lastUpdateFullName = request.user.name;
data.kpiUserDevelopmentId = kpiUserDevelopment.id;
await this.developmentProjectRepository.save(data);
await this.developmentProjectRepository.save(data, { data: request });
setLogDataDiff(request, { before: null, after: data });
}),
);
}
@ -208,8 +217,10 @@ export class KpiUserDevelopmentController extends Controller {
if (!delKpiUserDevelopment) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลพัฒนาตนเองนี้");
}
await this.developmentProjectRepository.remove(delKpiUserDevelopment.developmentProjects);
await this.kpiUserDevelopmentRepository.remove(delKpiUserDevelopment);
await this.developmentProjectRepository.remove(delKpiUserDevelopment.developmentProjects, {
data: request,
});
await this.kpiUserDevelopmentRepository.remove(delKpiUserDevelopment, { data: request });
return new HttpSuccess();
}
@ -310,10 +321,12 @@ export class KpiUserDevelopmentController extends Controller {
if (!kpiUserDevelopment) {
throw new HttpError(HttpStatusCode.NOT_FOUND, `ไม่พบข้อมูลพัฒนาตนเองนี้: ${item.id}`);
}
const before = null;
this.kpiUserDevelopmentRepository.merge(kpiUserDevelopment, item);
kpiUserDevelopment.lastUpdateUserId = request.user.sub;
kpiUserDevelopment.lastUpdateFullName = request.user.name;
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment);
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment, { data: request });
setLogDataDiff(request, { before, after: kpiUserDevelopment });
}
return new HttpSuccess();
}