fix ระบบประเมินบุคคล (EVA) เพิ่มรายชื่อกรรมการ ระบบแจ้ง Error #2396
This commit is contained in:
parent
640c7eabee
commit
eb2f4c8b1b
1 changed files with 19 additions and 6 deletions
|
|
@ -2630,13 +2630,22 @@ export class EvaluationController {
|
|||
if (!evaluation) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found.");
|
||||
}
|
||||
if (!evaluation.evaluation_directors_director) {
|
||||
evaluation.evaluation_directors_director = [];
|
||||
}
|
||||
body.directors.forEach(async (directorId) => {
|
||||
// ดึง directors เดิมที่มีอยู่
|
||||
const existingDirectors = await this.evaluation_directors_directorRepository.find({
|
||||
where: { evaluationId: evaluation.id },
|
||||
});
|
||||
const existingDirectorIds = new Set(existingDirectors.map((d) => d.directorId));
|
||||
|
||||
// เพิ่ม directors ใหม่ที่ยังไม่มี
|
||||
const newDirectors = [];
|
||||
for (const directorId of body.directors) {
|
||||
// ข้ามถ้ามีอยู่แล้ว
|
||||
if (existingDirectorIds.has(directorId)) {
|
||||
continue;
|
||||
}
|
||||
const director = await this.directorRepository.findOne({ where: { id: directorId } });
|
||||
if (director != null) {
|
||||
await this.evaluation_directors_directorRepository.save({
|
||||
newDirectors.push({
|
||||
directorId: director.id,
|
||||
evaluationId: evaluation.id,
|
||||
createdUserId: request.user.sub,
|
||||
|
|
@ -2646,8 +2655,12 @@ export class EvaluationController {
|
|||
createdAt: new Date(),
|
||||
lastUpdatedAt: new Date(),
|
||||
});
|
||||
existingDirectorIds.add(director.id); // เพิ่มเพื่อป้องกันซ้ำใน batch เดียวกัน
|
||||
}
|
||||
});
|
||||
}
|
||||
if (newDirectors.length > 0) {
|
||||
await this.evaluation_directors_directorRepository.insert(newDirectors);
|
||||
}
|
||||
|
||||
evaluation.lastUpdateUserId = request.user.sub;
|
||||
evaluation.lastUpdateFullName = request.user.name;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue