Fix [Invalid KPI] ดึงข้อมูลการรักษาการ ต้องดึงมาจากในรายการรักษาการใน ทะเบียนประวัติที่ใช้งานอยู่ #132

This commit is contained in:
Bright 2025-06-19 12:10:05 +07:00
parent afdc758cd0
commit 3ac035d5e0

View file

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