diff --git a/src/controllers/ProfileEmployeeTempController.ts b/src/controllers/ProfileEmployeeTempController.ts index 7e726cbe..5deed3d7 100644 --- a/src/controllers/ProfileEmployeeTempController.ts +++ b/src/controllers/ProfileEmployeeTempController.ts @@ -1428,6 +1428,7 @@ export class ProfileEmployeeTempController extends Controller { @Query() isRetire?: boolean, @Query() type?: string, ) { + let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP"); let queryLike = "CONCAT(profileEmployee.prefix, profileEmployee.firstName, ' ', profileEmployee.lastName) LIKE :keyword"; if (searchField == "citizenId") { @@ -1435,7 +1436,6 @@ export class ProfileEmployeeTempController extends Controller { } else if (searchField == "position") { queryLike = "profileEmployee.position LIKE :keyword"; } - let _data = await new permission().PermissionList(request, "SYS_REGISTRY_TEMP"); const findRevision = await this.orgRevisionRepo.findOne({ where: { orgRevisionIsCurrent: true }, }); @@ -1446,17 +1446,19 @@ export class ProfileEmployeeTempController extends Controller { .createQueryBuilder("profileEmployee") .leftJoinAndSelect("profileEmployee.posLevel", "posLevel") .leftJoinAndSelect("profileEmployee.posType", "posType") - .leftJoinAndSelect("profileEmployee.current_holders", "current_holders") + .leftJoinAndSelect("profileEmployee.current_holderTemps", "current_holderTemps") .leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment") - .leftJoinAndSelect("current_holders.positions", "positions") - .leftJoinAndSelect("current_holders.orgRoot", "orgRoot") - .leftJoinAndSelect("current_holders.orgChild1", "orgChild1") - .leftJoinAndSelect("current_holders.orgChild2", "orgChild2") - .leftJoinAndSelect("current_holders.orgChild3", "orgChild3") - .leftJoinAndSelect("current_holders.orgChild4", "orgChild4") + .leftJoinAndSelect("current_holderTemps.positions", "positions") + .leftJoinAndSelect("current_holderTemps.orgRoot", "orgRoot") + .leftJoinAndSelect("current_holderTemps.orgChild1", "orgChild1") + .leftJoinAndSelect("current_holderTemps.orgChild2", "orgChild2") + .leftJoinAndSelect("current_holderTemps.orgChild3", "orgChild3") + .leftJoinAndSelect("current_holderTemps.orgChild4", "orgChild4") .andWhere( _data.root != undefined && _data.root != null - ? `current_holders.orgRootId IN (:...root)` + ? _data.root[0] != null + ? `current_holderTemps.orgRootId IN (:...root)` + : `current_holderTemps.orgRootId is null` : "1=1", { root: _data.root, @@ -1464,7 +1466,9 @@ export class ProfileEmployeeTempController extends Controller { ) .andWhere( _data.child1 != undefined && _data.child1 != null - ? `current_holders.orgChild1Id IN (:...child1)` + ? _data.child1[0] != null + ? `current_holderTemps.orgChild1Id IN (:...child1)` + : `current_holderTemps.orgChild1Id is null` : "1=1", { child1: _data.child1, @@ -1472,7 +1476,9 @@ export class ProfileEmployeeTempController extends Controller { ) .andWhere( _data.child2 != undefined && _data.child2 != null - ? `current_holders.orgChild2Id IN (:...child2)` + ? _data.child2[0] != null + ? `current_holderTemps.orgChild2Id IN (:...child2)` + : `current_holderTemps.orgChild2Id is null` : "1=1", { child2: _data.child2, @@ -1480,7 +1486,9 @@ export class ProfileEmployeeTempController extends Controller { ) .andWhere( _data.child3 != undefined && _data.child3 != null - ? `current_holders.orgChild3Id IN (:...child3)` + ? _data.child3[0] != null + ? `current_holderTemps.orgChild3Id IN (:...child3)` + : `current_holderTemps.orgChild3Id is null` : "1=1", { child3: _data.child3, @@ -1488,7 +1496,9 @@ export class ProfileEmployeeTempController extends Controller { ) .andWhere( _data.child4 != undefined && _data.child4 != null - ? `current_holders.orgChild4Id IN (:...child4)` + ? _data.child4[0] != null + ? `current_holderTemps.orgChild4Id IN (:...child4)` + : `current_holderTemps.orgChild4Id is null` : "1=1", { child4: _data.child4, @@ -1518,19 +1528,19 @@ export class ProfileEmployeeTempController extends Controller { keyword2: `${posLevel}`, }, ) - .andWhere( - isProbation != undefined && isProbation != null - ? `profile.isProbation = ${isProbation}` - : "1=1", - ) - .andWhere( - isRetire != undefined && isRetire != null - ? isRetire == true - ? `profile.dateRetire IS null` - : `profile.dateRetire IS NOT NULL` - : "1=1", - ) - .andWhere("profileEmployee.employeeClass LIKE :type", { + // .andWhere( + // isProbation != undefined && isProbation != null + // ? `profileEmployee.isProbation = ${isProbation}` + // : "1=1", + // ) + // .andWhere( + // isRetire != undefined && isRetire != null + // ? isRetire == true + // ? `profileEmployee.dateRetire IS null` + // : `profileEmployee.dateRetire IS NOT NULL` + // : "1=1", + // ) + .andWhere("profileEmployee.employeeClass = :type", { type: "TEMP", }) .skip((page - 1) * pageSize) @@ -1539,29 +1549,29 @@ export class ProfileEmployeeTempController extends Controller { const data = await Promise.all( record.map((_data) => { const shortName = - _data.current_holders.length == 0 + _data.current_holderTemps.length == 0 ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 != + : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) ?.orgChild3 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) ?.orgChild2 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) ?.orgChild1 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != + ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) ?.orgRoot != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` : null; const dateEmployment = _data.profileEmployeeEmployment.length == 0