From 4051e90e63cc46fc26316f82151888f1e14c3f22 Mon Sep 17 00:00:00 2001 From: Bright Date: Tue, 11 Mar 2025 11:53:26 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95=E0=B8=B4?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=A8=E0=B8=B6=E0=B8=81=E0=B8=A9?= =?UTF-8?q?=E0=B8=B2=20Issue=20#1242?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProfileEducationsController.ts | 27 +++++++++++++++-- .../ProfileEducationsEmployeeController.ts | 25 ++++++++++++++++ ...ProfileEducationsEmployeeTempController.ts | 29 +++++++++++++++++++ 3 files changed, 79 insertions(+), 2 deletions(-) diff --git a/src/controllers/ProfileEducationsController.ts b/src/controllers/ProfileEducationsController.ts index e01c7e30..d2f1c48f 100644 --- a/src/controllers/ProfileEducationsController.ts +++ b/src/controllers/ProfileEducationsController.ts @@ -12,11 +12,10 @@ import { Patch, Put, } from "tsoa"; - +import { Not } from "typeorm" import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; - import { ProfileEducation, CreateProfileEducation, @@ -118,6 +117,18 @@ export class ProfileEducationsController extends Controller { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } await new permission().PermissionOrgUserUpdate(req, "SYS_REGISTRY_OFFICER", profile.id); + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileId: body.profileId, isEducation: true }, + { isEducation: false } + ); + } + if (body.isHigh) { + await this.profileEducationRepo.update( + { profileId: body.profileId, isHigh: true }, + { isHigh: false } + ); + } const before = null; const data = new ProfileEducation(); const meta = { @@ -157,6 +168,18 @@ export class ProfileEducationsController extends Controller { const record = await this.profileEducationRepo.findOneBy({ id: educationId }); if (!record) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล"); await new permission().PermissionOrgUserUpdate(req, "SYS_REGISTRY_OFFICER", record.profileId); + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileId: record.profileId, isEducation: true, id: Not(educationId) }, + { isEducation: false } + ); + } + if (body.isHigh) { + await this.profileEducationRepo.update( + { profileId: record.profileId, isHigh: true, id: Not(educationId) }, + { isHigh: false } + ); + } const before = structuredClone(record); // const before_null = null; const history = new ProfileEducationHistory(); diff --git a/src/controllers/ProfileEducationsEmployeeController.ts b/src/controllers/ProfileEducationsEmployeeController.ts index d181ae96..34d92475 100644 --- a/src/controllers/ProfileEducationsEmployeeController.ts +++ b/src/controllers/ProfileEducationsEmployeeController.ts @@ -12,6 +12,7 @@ import { Patch, Put, } from "tsoa"; +import { Not } from "typeorm" import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; @@ -124,6 +125,18 @@ export class ProfileEducationsEmployeeController extends Controller { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } await new permission().PermissionOrgUserUpdate(req, "SYS_REGISTRY_EMP", profile.id); + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileEmployeeId: body.profileEmployeeId, isEducation: true }, + { isEducation: false } + ); + } + if (body.isHigh) { + await this.profileEducationRepo.update( + { profileEmployeeId: body.profileEmployeeId, isHigh: true }, + { isHigh: false } + ); + } const before = null; const data = new ProfileEducation(); const meta = { @@ -167,6 +180,18 @@ export class ProfileEducationsEmployeeController extends Controller { "SYS_REGISTRY_EMP", record.profileEmployeeId, ); + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileEmployeeId: record.profileEmployeeId, isEducation: true, id: Not(educationId) }, + { isEducation: false } + ); + } + if (body.isHigh) { + await this.profileEducationRepo.update( + { profileEmployeeId: record.profileEmployeeId, isHigh: true, id: Not(educationId) }, + { isHigh: false } + ); + } const before = structuredClone(record); const before_null = null; const history = new ProfileEducationHistory(); diff --git a/src/controllers/ProfileEducationsEmployeeTempController.ts b/src/controllers/ProfileEducationsEmployeeTempController.ts index 045e493d..7d6d4117 100644 --- a/src/controllers/ProfileEducationsEmployeeTempController.ts +++ b/src/controllers/ProfileEducationsEmployeeTempController.ts @@ -12,6 +12,7 @@ import { Patch, Put, } from "tsoa"; +import { Not } from "typeorm" import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; @@ -114,6 +115,22 @@ export class ProfileEducationsEmployeeTempController extends Controller { if (!profile) { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileEmployeeId: body.profileEmployeeId, isEducation: true }, + { isEducation: false } + ); + } + if (body.isHigh) { + const existing = await this.profileEducationRepo.find({ + where: { profileId: body.profileEmployeeId, isHigh: true }, + }); + console.log("isHigh ",existing) + await this.profileEducationRepo.update( + { profileEmployeeId: body.profileEmployeeId, isHigh: true }, + { isHigh: false } + ); + } const before = null; const data = new ProfileEducation(); const meta = { @@ -153,6 +170,18 @@ export class ProfileEducationsEmployeeTempController extends Controller { await new permission().PermissionUpdate(req, "SYS_REGISTRY_TEMP"); const record = await this.profileEducationRepo.findOneBy({ id: educationId }); if (!record) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล"); + if (body.isEducation) { + await this.profileEducationRepo.update( + { profileEmployeeId: record.profileEmployeeId, isEducation: true, id: Not(educationId) }, + { isEducation: false } + ); + } + if (body.isHigh) { + await this.profileEducationRepo.update( + { profileEmployeeId: record.profileEmployeeId, isHigh: true, id: Not(educationId) }, + { isHigh: false } + ); + } const before = structuredClone(record); // const before_null = null; const history = new ProfileEducationHistory();