diff --git a/src/entities/view/viewPosMaster.ts b/src/entities/view/viewPosMaster.ts new file mode 100644 index 00000000..40f7d2dc --- /dev/null +++ b/src/entities/view/viewPosMaster.ts @@ -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; +}