org commander

This commit is contained in:
AdisakKanthawilang 2025-04-21 14:57:59 +07:00
parent 8895eb85d4
commit 34d5f3a896

View file

@ -8521,9 +8521,12 @@ export class ProfileController extends Controller {
let commanderAbovePosition_: any = {}; let commanderAbovePosition_: any = {};
let commanderFullname_: any = {}; let commanderFullname_: any = {};
let commanderPosition_: any = {}; let commanderPosition_: any = {};
let commanderOrg_: any = {};
let commanderAboveOrg_: any = {};
const findProfile = await this.profileRepo.findOne({ const findProfile = await this.profileRepo.findOne({
where: { keycloak: request.user.sub }, where: { keycloak: request.user.sub },
relations: ['posLevel']
}); });
const findRevision = await this.orgRevisionRepo.findOne({ const findRevision = await this.orgRevisionRepo.findOne({
@ -8567,7 +8570,7 @@ export class ProfileController extends Controller {
orgRevisionId: findRevision?.id, orgRevisionId: findRevision?.id,
...condition, ...condition,
}, },
relations: ["current_holder"], relations: ["current_holder","current_holder.posLevel","orgRoot","orgChild1","orgChild2","orgChild3","orgChild4"],
order: { posMasterOrder: "ASC" }, order: { posMasterOrder: "ASC" },
}); });
let findOSAB: PosMaster | null = null; let findOSAB: PosMaster | null = null;
@ -8577,6 +8580,12 @@ export class ProfileController extends Controller {
findOSAB = await AppDataSource.getRepository(PosMaster) findOSAB = await AppDataSource.getRepository(PosMaster)
.createQueryBuilder("posMaster") .createQueryBuilder("posMaster")
.leftJoinAndSelect("posMaster.current_holder", "current_holder") .leftJoinAndSelect("posMaster.current_holder", "current_holder")
.leftJoinAndSelect("current_holder.posLevel", "posLevel")
.leftJoinAndSelect("posMaster.orgRoot", "orgRoot")
.leftJoinAndSelect("posMaster.orgChild1", "orgChild1")
.leftJoinAndSelect("posMaster.orgChild2", "orgChild2")
.leftJoinAndSelect("posMaster.orgChild3", "orgChild3")
.leftJoinAndSelect("posMaster.orgChild4", "orgChild4")
.where("posMaster.current_holderId IS NOT NULL") .where("posMaster.current_holderId IS NOT NULL")
.andWhere("posMaster.orgRevisionId = :revisionId", { revisionId: findRevision?.id }) .andWhere("posMaster.orgRevisionId = :revisionId", { revisionId: findRevision?.id })
.andWhere( .andWhere(
@ -8611,6 +8620,12 @@ export class ProfileController extends Controller {
findTSAB = await AppDataSource.getRepository(PosMaster) findTSAB = await AppDataSource.getRepository(PosMaster)
.createQueryBuilder("posMaster") .createQueryBuilder("posMaster")
.leftJoinAndSelect("posMaster.current_holder", "current_holder") .leftJoinAndSelect("posMaster.current_holder", "current_holder")
.leftJoinAndSelect("current_holder.posLevel", "posLevel")
.leftJoinAndSelect("posMaster.orgRoot", "orgRoot")
.leftJoinAndSelect("posMaster.orgChild1", "orgChild1")
.leftJoinAndSelect("posMaster.orgChild2", "orgChild2")
.leftJoinAndSelect("posMaster.orgChild3", "orgChild3")
.leftJoinAndSelect("posMaster.orgChild4", "orgChild4")
.where("posMaster.current_holderId IS NOT NULL") .where("posMaster.current_holderId IS NOT NULL")
.andWhere("posMaster.orgRevisionId = :revisionId", { revisionId: findRevision?.id }) .andWhere("posMaster.orgRevisionId = :revisionId", { revisionId: findRevision?.id })
.andWhere( .andWhere(
@ -8636,24 +8651,59 @@ export class ProfileController extends Controller {
.orderBy("posMaster.posMasterOrder", "ASC") .orderBy("posMaster.posMasterOrder", "ASC")
.getOne(); .getOne();
} }
const commanderOrg = [
findCmd?.orgChild4?.orgChild4Name ?? null,
findCmd?.orgChild3?.orgChild3Name ?? null,
findCmd?.orgChild2?.orgChild2Name ?? null,
findCmd?.orgChild1?.orgChild1Name ?? null,
findCmd?.orgRoot?.orgRootName ?? null,
];
const _commanderOrg = commanderOrg
.filter((part) => part !== undefined && part !== null)
.join(" ");
const commanderAbroveOrg = [
findOSAB?.orgChild4?.orgChild4Name ?? null,
findOSAB?.orgChild3?.orgChild3Name ?? null,
findOSAB?.orgChild2?.orgChild2Name ?? null,
findOSAB?.orgChild1?.orgChild1Name ?? null,
findOSAB?.orgRoot?.orgRootName ?? null,
];
const _commanderAbroveOrg = commanderAbroveOrg
.filter((part) => part !== undefined && part !== null)
.join(" ");
fullName_ = fullName_ =
(findProfile?.prefix ?? "") + (findProfile?.prefix ?? "") +
(findProfile?.firstName ?? "") + (findProfile?.firstName ?? "") +
(findProfile?.firstName ? " " : "") + (findProfile?.firstName ? " " : "") +
(findProfile?.lastName ?? ""); (findProfile?.lastName ?? "");
position_ = findProfile?.position ?? ""; position_ = (findProfile?.position ? findProfile?.position : "") + (findProfile?.posLevel?.posLevelName ? findProfile?.posLevel?.posLevelName : "");
commanderFullname_ = commanderFullname_ =
(findCmd?.current_holder?.prefix ?? "") + (findCmd?.current_holder?.prefix ?? "") +
(findCmd?.current_holder?.firstName ?? "") + (findCmd?.current_holder?.firstName ?? "") +
(findCmd?.current_holder?.firstName ? " " : "") + (findCmd?.current_holder?.firstName ? " " : "") +
(findCmd?.current_holder?.lastName ?? ""); (findCmd?.current_holder?.lastName ?? "");
commanderPosition_ = findCmd?.current_holder?.position ?? ""; commanderOrg_ = _commanderOrg;
commanderPosition_ = (findCmd?.current_holder?.position ? findCmd?.current_holder?.position: "") + (findCmd?.current_holder?.posLevel?.posLevelName ? findCmd?.current_holder?.posLevel?.posLevelName : "");
commanderAboveFullname_ = commanderAboveFullname_ =
(findOSAB?.current_holder?.prefix ?? "") + (findOSAB?.current_holder?.prefix ?? "") +
(findOSAB?.current_holder?.firstName ?? "") + (findOSAB?.current_holder?.firstName ?? "") +
(findOSAB?.current_holder?.firstName ? " " : "") + (findOSAB?.current_holder?.firstName ? " " : "") +
(findOSAB?.current_holder?.lastName ?? ""); (findOSAB?.current_holder?.lastName ?? "");
commanderAbovePosition_ = findOSAB?.current_holder?.position ?? ""; commanderAboveOrg_ = _commanderAbroveOrg;
commanderAbovePosition_ = (findOSAB?.current_holder?.position ? findOSAB?.current_holder?.position : "") + (findOSAB?.current_holder?.posLevel?.posLevelName ? findOSAB?.current_holder?.posLevel?.posLevelName : "");
const commanderAbrove2Org = [
findTSAB?.orgChild4?.orgChild4Name ?? null,
findTSAB?.orgChild3?.orgChild3Name ?? null,
findTSAB?.orgChild2?.orgChild2Name ?? null,
findTSAB?.orgChild1?.orgChild1Name ?? null,
findTSAB?.orgRoot?.orgRootName ?? null,
];
const _commanderAbrove2Org = commanderAbrove2Org
.filter((part) => part !== undefined && part !== null)
.join(" ");
if (findCmd?.current_holderId == findProfile?.id) { if (findCmd?.current_holderId == findProfile?.id) {
commanderFullname_ = commanderFullname_ =
@ -8661,20 +8711,24 @@ export class ProfileController extends Controller {
(findOSAB?.current_holder?.firstName ?? "") + (findOSAB?.current_holder?.firstName ?? "") +
(findOSAB?.current_holder?.firstName ? " " : "") + (findOSAB?.current_holder?.firstName ? " " : "") +
(findOSAB?.current_holder?.lastName ?? ""); (findOSAB?.current_holder?.lastName ?? "");
commanderPosition_ = findOSAB?.current_holder?.position ?? ""; commanderOrg_ = _commanderAbroveOrg;
commanderPosition_ = (findOSAB?.current_holder?.position ? findOSAB?.current_holder?.position : "") + (findOSAB?.current_holder?.posLevel?.posLevelName ? findOSAB?.current_holder?.posLevel?.posLevelName : "");
commanderAboveFullname_ = commanderAboveFullname_ =
(findTSAB?.current_holder?.prefix ?? "") + (findTSAB?.current_holder?.prefix ?? "") +
(findTSAB?.current_holder?.firstName ?? "") + (findTSAB?.current_holder?.firstName ?? "") +
(findTSAB?.current_holder?.firstName ? " " : "") + (findTSAB?.current_holder?.firstName ? " " : "") +
(findTSAB?.current_holder?.lastName ?? ""); (findTSAB?.current_holder?.lastName ?? "");
commanderAbovePosition_ = findTSAB?.current_holder?.position ?? ""; commanderAboveOrg_ = _commanderAbrove2Org;
commanderAbovePosition_ = (findTSAB?.current_holder?.position ? findTSAB?.current_holder?.position : "") + (findTSAB?.current_holder?.posLevel?.posLevelName ? findTSAB?.current_holder?.posLevel?.posLevelName : "");
const formattedDataTSAB = { const formattedDataTSAB = {
fullname: fullName_, fullname: fullName_,
position: position_, position: position_,
commanderAboveFullname: commanderAboveFullname_, commanderAboveFullname: commanderAboveFullname_,
commanderAboveOrg: commanderAboveOrg_,
commanderAbovePosition: commanderAbovePosition_, commanderAbovePosition: commanderAbovePosition_,
commanderFullname: commanderFullname_, commanderFullname: commanderFullname_,
commanderOrg: commanderOrg_,
commanderPosition: commanderPosition_, commanderPosition: commanderPosition_,
}; };
return new HttpSuccess(formattedDataTSAB); return new HttpSuccess(formattedDataTSAB);
@ -8684,8 +8738,10 @@ export class ProfileController extends Controller {
fullname: fullName_, fullname: fullName_,
position: position_, position: position_,
commanderAboveFullname: commanderAboveFullname_, commanderAboveFullname: commanderAboveFullname_,
commanderAboveOrg: commanderAboveOrg_,
commanderAbovePosition: commanderAbovePosition_, commanderAbovePosition: commanderAbovePosition_,
commanderFullname: commanderFullname_, commanderFullname: commanderFullname_,
commanderOrg: commanderOrg_,
commanderPosition: commanderPosition_, commanderPosition: commanderPosition_,
}; };
return new HttpSuccess(formattedData); return new HttpSuccess(formattedData);