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();