diff --git a/src/controllers/CommandController.ts b/src/controllers/CommandController.ts index c2e37592..5dc501ba 100644 --- a/src/controllers/CommandController.ts +++ b/src/controllers/CommandController.ts @@ -7010,7 +7010,7 @@ export class CommandController extends Controller { profile.currentSubDistrictId = currentSubDistrictId ? currentSubDistrictId.id : _null; profile.currentZipCode = item.bodyProfile.currentZipCode; profile.email = item.bodyProfile.email; - profile.dateStart = item.bodyProfile.dateStart; + profile.dateStart = item.bodySalarys?.commandDateAffect ?? item.bodyProfile.dateStart; profile.amount = item.bodyProfile.amount ?? null; profile.amountSpecial = item.bodyProfile.amountSpecial ?? null; profile.isProbation = item.bodyProfile.isProbation; @@ -7080,7 +7080,7 @@ export class CommandController extends Controller { profile.currentSubDistrictId = currentSubDistrictId ? currentSubDistrictId.id : _null; profile.currentZipCode = item.bodyProfile.currentZipCode; profile.email = item.bodyProfile.email; - profile.dateStart = item.bodyProfile.dateStart; + profile.dateStart = item.bodySalarys?.commandDateAffect ?? item.bodyProfile.dateStart; profile.amount = item.bodyProfile.amount ?? null; profile.amountSpecial = item.bodyProfile.amountSpecial ?? null; profile.isProbation = item.bodyProfile.isProbation; @@ -7132,7 +7132,7 @@ export class CommandController extends Controller { profile.email = item.bodyProfile.email; profile.telephoneNumber = item.bodyProfile.telephoneNumber; profile.phone = item.bodyProfile.phone; - profile.dateStart = item.bodyProfile.dateStart; + profile.dateStart = item.bodySalarys?.commandDateAffect ?? item.bodyProfile.dateStart; profile.amount = item.bodyProfile.amount ?? null; profile.amountSpecial = item.bodyProfile.amountSpecial ?? null; profile.leaveCommandId = _null; @@ -7582,6 +7582,15 @@ export class CommandController extends Controller { // profile.dateStart = new Date(); } await this.positionRepository.save(positionNew, { data: req }); + } else if (!posMaster.isSit) { + // fallback: ตำแหน่งในโครงสร้างถูกแก้ไข ใช้ข้อมูลตำแหน่งที่สมัครสอบมา + console.log("[Excexute/CreateOfficerProfile] positionNew is null, using bodyPosition data as fallback"); + profile.position = item.bodyPosition.positionName ?? null; + profile.posTypeId = item.bodyPosition.posTypeId ?? null; + profile.posLevelId = item.bodyPosition.posLevelId ?? null; + profile.positionField = item.bodyPosition.positionField ?? null; + profile.positionArea = item.bodyPosition.positionArea ?? null; + profile.positionExecutiveField = item.bodyPosition.positionExecutiveField ?? null; } await this.profileRepository.save(profile, { data: req }); setLogDataDiff(req, { before, after: profile });