diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 0f775d6f..780b2153 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -7649,6 +7649,7 @@ export class ProfileController extends Controller { "current_holders.orgChild4", "profileSalary", "profileEducations", + "profileActpositions" ], order: { // profileSalary: { @@ -7657,6 +7658,9 @@ export class ProfileController extends Controller { profileEducations: { level: "ASC", }, + profileActpositions: { + createdAt: "ASC" + } }, }); if (!profile) { @@ -7740,57 +7744,76 @@ export class ProfileController extends Controller { ?.orgRoot != null ? `${profile.current_holders.find((x) => x.orgRevisionId == orgRevisionPublish.id)?.orgRoot.orgRootShortName} ${profile.current_holders.find((x) => x.orgRevisionId == orgRevisionPublish.id)?.posMasterNo}` : null; - const posMasterActs = await this.posMasterActRepository.find({ - relations: [ - "posMaster", - "posMaster.orgRoot", - "posMaster.orgChild1", - "posMaster.orgChild2", - "posMaster.orgChild3", - "posMaster.orgChild4", - "posMaster.current_holder", - "posMaster.current_holder.posLevel", - "posMaster.current_holder.posType", - ], - where: { - posMaster: { - orgRevisionId: orgRevisionPublish.id, - }, - posMasterChild: { - current_holderId: profile.id, - }, - }, - }); + // const posMasterActs = await this.posMasterActRepository.find({ + // relations: [ + // "posMaster", + // "posMaster.orgRoot", + // "posMaster.orgChild1", + // "posMaster.orgChild2", + // "posMaster.orgChild3", + // "posMaster.orgChild4", + // "posMaster.current_holder", + // "posMaster.current_holder.posLevel", + // "posMaster.current_holder.posType", + // ], + // where: { + // posMaster: { + // orgRevisionId: orgRevisionPublish.id, + // }, + // posMasterChild: { + // current_holderId: profile.id, + // }, + // }, + // }); + // const data = await Promise.all( + // posMasterActs + // .sort((a, b) => a.posMaster.posMasterOrder - b.posMaster.posMasterOrder) + // .map((item) => { + // const shortName = + // item.posMaster != null && item.posMaster.orgChild4 != null + // ? `${item.posMaster.orgChild4.orgChild4ShortName} ${item.posMaster.posMasterNo}` + // : item.posMaster != null && item.posMaster?.orgChild3 != null + // ? `${item.posMaster.orgChild3.orgChild3ShortName} ${item.posMaster.posMasterNo}` + // : item.posMaster != null && item.posMaster?.orgChild2 != null + // ? `${item.posMaster.orgChild2.orgChild2ShortName} ${item.posMaster.posMasterNo}` + // : item.posMaster != null && item.posMaster?.orgChild1 != null + // ? `${item.posMaster.orgChild1.orgChild1ShortName} ${item.posMaster.posMasterNo}` + // : item.posMaster != null && item.posMaster?.orgRoot != null + // ? `${item.posMaster.orgRoot.orgRootShortName} ${item.posMaster.posMasterNo}` + // : null; + // return { + // id: item.id, + // posMasterOrder: item.posMasterOrder, + // profileId: item.posMaster?.current_holder?.id ?? null, + // citizenId: item.posMaster?.current_holder?.citizenId ?? null, + // prefix: item.posMaster?.current_holder?.prefix ?? null, + // firstName: item.posMaster?.current_holder?.firstName ?? null, + // lastName: item.posMaster?.current_holder?.lastName ?? null, + // posLevel: item.posMaster?.current_holder?.posLevel?.posLevelName ?? null, + // posType: item.posMaster?.current_holder?.posType?.posTypeName ?? null, + // position: item.posMaster?.current_holder?.position ?? null, + // posNo: shortName, + // }; + // }), + // ); const data = await Promise.all( - posMasterActs - .sort((a, b) => a.posMaster.posMasterOrder - b.posMaster.posMasterOrder) - .map((item) => { - const shortName = - item.posMaster != null && item.posMaster.orgChild4 != null - ? `${item.posMaster.orgChild4.orgChild4ShortName} ${item.posMaster.posMasterNo}` - : item.posMaster != null && item.posMaster?.orgChild3 != null - ? `${item.posMaster.orgChild3.orgChild3ShortName} ${item.posMaster.posMasterNo}` - : item.posMaster != null && item.posMaster?.orgChild2 != null - ? `${item.posMaster.orgChild2.orgChild2ShortName} ${item.posMaster.posMasterNo}` - : item.posMaster != null && item.posMaster?.orgChild1 != null - ? `${item.posMaster.orgChild1.orgChild1ShortName} ${item.posMaster.posMasterNo}` - : item.posMaster != null && item.posMaster?.orgRoot != null - ? `${item.posMaster.orgRoot.orgRootShortName} ${item.posMaster.posMasterNo}` - : null; + profile.profileActpositions + .filter(x => x.status) + .map((item, idx) => { return { id: item.id, - posMasterOrder: item.posMasterOrder, - profileId: item.posMaster?.current_holder?.id ?? null, - citizenId: item.posMaster?.current_holder?.citizenId ?? null, - prefix: item.posMaster?.current_holder?.prefix ?? null, - firstName: item.posMaster?.current_holder?.firstName ?? null, - lastName: item.posMaster?.current_holder?.lastName ?? null, - posLevel: item.posMaster?.current_holder?.posLevel?.posLevelName ?? null, - posType: item.posMaster?.current_holder?.posType?.posTypeName ?? null, - position: item.posMaster?.current_holder?.position ?? null, - posNo: shortName, - }; - }), + posMasterOrder: idx+1, + profileId: item.profileId ?? null, + citizenId: profile.citizenId ?? null, + prefix: profile.prefix ?? null, + firstName: profile.firstName ?? null, + lastName: profile.lastName ?? null, + posLevel: profile.posLevel.posLevelName ?? null, + posType: profile.posType.posTypeName ?? null, + position: item.position ?? null, + posNo: item.posNo ?? null, + } + }) ); const permissionProflile = await this.permissionProflileRepository.findOne({ relations: ["orgRootTree"],