add viewPosmaster

This commit is contained in:
AdisakKanthawilang 2025-04-02 10:01:00 +07:00
parent 5d4727761f
commit 7d23d00a06

View file

@ -0,0 +1,171 @@
import { ViewColumn, ViewEntity } from "typeorm";
@ViewEntity({
expression: `SELECT
posMaster.id,
posMaster.posMasterNoPrefix,
posMaster.posMasterNo,
posMaster.posMasterNoSuffix,
posMaster.orgRootId,
posMaster.orgChild1Id,
posMaster.orgChild2Id,
posMaster.orgChild3Id,
posMaster.orgChild4Id,
posMaster.current_holderId,
profile.id as profileId,
profile.prefix,
profile.firstName,
profile.lastName,
profile.citizenId,
profile.position,
profile.amount,
profile.dateRetire,
profile.birthDate,
orgRoot.id as rootId,
orgRoot.orgRootShortName,
orgChild1.id as child1Id,
orgChild1.orgChild1Name,
orgChild2.id as child2Id,
orgChild2.orgChild2Name,
orgChild3.id as child3Id,
orgChild3.orgChild3Name,
orgChild4.id as child4Id,
orgChild4.orgChild4Name,
position.id as positionId,
position.positionIsSelected,
position.posExecutiveId,
position.isSpecial,
posExecutive.id as posExecutiveId,
posExecutive.posExecutiveName,
profileDiscipline.id as profileDisciplineId,
profileDiscipline.date as disCriplineDate,
profileLeave.id as profileLeaveId,
profileAssessment.id as profileAssessmentId,
profileAssessment.pointSum,
posLevel.id as posLevelId,
posLevel.posLevelName,
posType.id as posTypeId,
posType.posTypeName
FROM
posMaster
LEFT JOIN
profile ON posMaster.current_holderId = profile.id
LEFT JOIN
orgRoot ON posMaster.orgRootId = orgRoot.id
LEFT JOIN
orgChild1 ON posMaster.orgChild1Id = orgChild1.id
LEFT JOIN
orgChild2 ON posMaster.orgChild2Id = orgChild2.id
LEFT JOIN
orgChild3 ON posMaster.orgChild3Id = orgChild3.id
LEFT JOIN
orgChild4 ON posMaster.orgChild4Id = orgChild4.id
LEFT JOIN
position ON posMaster.id = position.posMasterId
LEFT JOIN
posExecutive ON position.posExecutiveId = posExecutive.id
LEFT JOIN
profileDiscipline ON profileDiscipline.profileId = profile.id
LEFT JOIN
profileLeave ON profileLeave.profileId = profile.id
LEFT JOIN
profileAssessment ON profileAssessment.profileId = profile.id
LEFT JOIN
posLevel ON profile.posLevelId = posLevel.id
LEFT JOIN
posType ON profile.posTypeId = posType.id
WHERE
posMaster.current_holderId IS NOT NULL
ORDER BY
profile.citizenId ASC
`,
})
export class viewPosMaster {
@ViewColumn()
id: string;
@ViewColumn()
posMasterNoPrefix: string;
@ViewColumn()
posMasterNo: number;
@ViewColumn()
posMasterNoSuffix: string;
@ViewColumn()
orgRootId: string;
@ViewColumn()
orgChild1Id: string;
@ViewColumn()
orgChild2Id: string;
@ViewColumn()
orgChild3Id: string;
@ViewColumn()
orgChild4Id: string;
@ViewColumn()
current_holderId: string;
@ViewColumn()
profileId: string;
@ViewColumn()
prefix: string;
@ViewColumn()
firstName: string;
@ViewColumn()
lastName: string;
@ViewColumn()
citizenId: number;
@ViewColumn()
position: string;
@ViewColumn()
amount: number;
@ViewColumn()
dateRetire: Date;
@ViewColumn()
birthDate: Date;
@ViewColumn()
rootId: string;
@ViewColumn()
orgRootShortName: string;
@ViewColumn()
child1Id: string;
@ViewColumn()
orgChild1Name: string;
@ViewColumn()
child2Id: string;
@ViewColumn()
orgChild2Name: string;
@ViewColumn()
child3Id: string;
@ViewColumn()
orgChild3Name: string;
@ViewColumn()
child4Id: string;
@ViewColumn()
orgChild4Name: string;
@ViewColumn()
positionId: string;
@ViewColumn()
positionIsSelected: boolean;
@ViewColumn()
posExecutiveId: string;
@ViewColumn()
isSpecial: boolean;
@ViewColumn()
posExcutiveId: string;
@ViewColumn()
profileDisciplineId: string;
@ViewColumn()
disCriplineDate: Date;
@ViewColumn()
profileLeaveId: string;
@ViewColumn()
profileAssessmentId: string;
@ViewColumn()
pointSum: string;
@ViewColumn()
posLevelId: string;
@ViewColumn()
posLevelName: string;
@ViewColumn()
posTypeId: string;
@ViewColumn()
posTypeName: string;
}