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

@ -25,6 +25,8 @@ import { KpiCapacityDetail } from "../entities/kpiCapacityDetail";
import { Like, In } from "typeorm";
import permission from "../interfaces/permission";
import { RequestWithUser } from "../middlewares/user";
import { addLogSequence, setLogDataDiff } from "../interfaces/utils";
@Route("api/v1/kpi/capacity")
@Tags("kpiCapacity")
@Security("bearerAuth")
@ -75,11 +77,14 @@ export class kpiCapacityController extends Controller {
name: requestBody.name,
description: requestBody.description,
});
const before = null;
kpiCapacity.createdUserId = request.user.sub;
kpiCapacity.createdFullName = request.user.name;
kpiCapacity.lastUpdateUserId = request.user.sub;
kpiCapacity.lastUpdateFullName = request.user.name;
await this.kpiCapacityRepository.save(kpiCapacity);
await this.kpiCapacityRepository.save(kpiCapacity, { data: request });
setLogDataDiff(request, { before, after: kpiCapacity });
let idx: number = 0;
for (const data of requestBody.capacityDetails) {
@ -95,7 +100,8 @@ export class kpiCapacityController extends Controller {
kpiCapacityDetail.createdFullName = request.user.name;
kpiCapacityDetail.lastUpdateUserId = request.user.sub;
kpiCapacityDetail.lastUpdateFullName = request.user.name;
await this.kpiCapacityDetailRepository.save(kpiCapacityDetail);
await this.kpiCapacityDetailRepository.save(kpiCapacityDetail, { data: request });
setLogDataDiff(request, { before, after: kpiCapacityDetail });
}
return new HttpSuccess(kpiCapacity.id);
@ -146,15 +152,17 @@ export class kpiCapacityController extends Controller {
name: requestBody.name,
description: requestBody.description,
});
const before = structuredClone(kpiCapacity);
kpiCapacity.lastUpdateUserId = request.user.sub;
kpiCapacity.lastUpdateFullName = request.user.name;
this.kpiCapacityRepository.merge(kpiCapacity, _kpiCapacity);
await this.kpiCapacityRepository.save(kpiCapacity);
await this.kpiCapacityRepository.save(kpiCapacity, { data: request });
setLogDataDiff(request, { before, after: kpiCapacity });
const _kpiCapacityDetailsOld = await this.kpiCapacityDetailRepository.find({
where: { kpiCapacityId: kpiCapacity.id },
});
await this.kpiCapacityDetailRepository.remove(_kpiCapacityDetailsOld);
await this.kpiCapacityDetailRepository.remove(_kpiCapacityDetailsOld, { data: request });
let idx: number = 0;
for (const data of requestBody.capacityDetails) {
@ -166,11 +174,14 @@ export class kpiCapacityController extends Controller {
description: data.description,
kpiCapacityId: kpiCapacity.id,
});
const beforeDetail = structuredClone(kpiCapacityDetail);
kpiCapacityDetail.createdUserId = request.user.sub;
kpiCapacityDetail.createdFullName = request.user.name;
kpiCapacityDetail.lastUpdateUserId = request.user.sub;
kpiCapacityDetail.lastUpdateFullName = request.user.name;
await this.kpiCapacityDetailRepository.save(kpiCapacityDetail);
await this.kpiCapacityDetailRepository.save(kpiCapacityDetail, { data: request });
setLogDataDiff(request, { before: beforeDetail, after: kpiCapacityDetail });
}
return new HttpSuccess(kpiCapacity.id);
@ -374,9 +385,9 @@ export class kpiCapacityController extends Controller {
where: { kpiCapacityId: id },
});
if (kpiCapacityDetails.length > 0) {
await this.kpiCapacityDetailRepository.remove(kpiCapacityDetails);
await this.kpiCapacityDetailRepository.remove(kpiCapacityDetails, { data: request });
}
await this.kpiCapacityRepository.remove(kpiCapacity);
await this.kpiCapacityRepository.remove(kpiCapacity, { data: request });
return new HttpSuccess();
}
}