diff --git a/src/controllers/EmployeeTempPositionController.ts b/src/controllers/EmployeeTempPositionController.ts index b551fa95..b507734b 100644 --- a/src/controllers/EmployeeTempPositionController.ts +++ b/src/controllers/EmployeeTempPositionController.ts @@ -1941,12 +1941,30 @@ export class EmployeeTempPositionController extends Controller { ) { await new permission().PermissionCreate(request, "SYS_ORG_TEMP"); const dataMaster = await this.employeeTempPosMasterRepository.findOne({ - where: { id: requestBody.posMaster }, - relations: ["positions"], + where: { + id: requestBody.posMaster, + orgRevision: { + orgRevisionIsCurrent: true, + orgRevisionIsDraft: false + } + }, + relations: ["positions", "orgRevision", "orgRoot", "orgChild1", "orgChild2", "orgChild3", "orgChild4"], }); if (!dataMaster) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งนี้"); } + let _root = dataMaster.orgRoot?.orgRootName; + let _child1 = dataMaster.orgChild1?.orgChild1Name; + let _child2 = dataMaster.orgChild2?.orgChild2Name; + let _child3 = dataMaster.orgChild3?.orgChild3Name; + let _child4 = dataMaster.orgChild4?.orgChild4Name; + const Org = + (_child4 == null ? "" : _child4 + "\n") + + (_child3 == null ? "" : _child3 + "\n") + + (_child2 == null ? "" : _child2 + "\n") + + (_child1 == null ? "" : _child1 + "\n") + + (_root == null ? "" : _root); + dataMaster.positions.forEach(async (position) => { if (position.id === requestBody.position) { position.positionIsSelected = true; @@ -1958,6 +1976,8 @@ export class EmployeeTempPositionController extends Controller { profile.posLevelId = position?.posLevelId ?? _null; profile.posTypeId = position?.posTypeId ?? _null; profile.position = position?.positionName ?? _null; + profile.employeeOc = Org ?? _null; + profile.positionEmployeePositionId = position?.positionName ?? _null; await this.profileRepository.save(profile); } } else {