new-salary gen (emp)

This commit is contained in:
AdisakKanthawilang 2025-04-17 10:20:56 +07:00
parent e585e41a70
commit 1a38978b17
2 changed files with 431 additions and 16 deletions

View file

@ -0,0 +1,215 @@
import { ViewColumn, ViewEntity } from "typeorm";
@ViewEntity({
expression: `SELECT
employeePosMaster.id,
employeePosMaster.posMasterNoPrefix,
employeePosMaster.posMasterNo,
employeePosMaster.posMasterNoSuffix,
employeePosMaster.orgRevisionId,
employeePosMaster.orgRootId,
employeePosMaster.orgChild1Id,
employeePosMaster.orgChild2Id,
employeePosMaster.orgChild3Id,
employeePosMaster.orgChild4Id,
employeePosMaster.current_holderId,
profileEmployee.id as profileId,
profileEmployee.prefix,
profileEmployee.firstName,
profileEmployee.lastName,
profileEmployee.citizenId,
profileEmployee.position,
profileEmployee.amount,
profileEmployee.dateRetire,
profileEmployee.birthDate,
profileEmployee.salaryLevel,
profileEmployee.group,
orgRoot.id as rootId,
orgRoot.orgRootShortName,
orgRoot.orgRootOrder,
orgRoot.orgRootName,
orgChild1.id as child1Id,
orgChild1.orgChild1ShortName,
orgChild1.orgChild1Order,
orgChild1.orgChild1Name,
orgChild2.id as child2Id,
orgChild2.orgChild2ShortName,
orgChild2.orgChild2Order,
orgChild2.orgChild2Name,
orgChild3.id as child3Id,
orgChild3.orgChild3ShortName,
orgChild3.orgChild3Order,
orgChild3.orgChild3Name,
orgChild4.id as child4Id,
orgChild4.orgChild4ShortName,
orgChild4.orgChild4Order,
orgChild4.orgChild4Name,
position.id as positionId,
position.positionIsSelected,
position.posExecutiveId as positionPosExecutiveId,
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,
employeePosLevel.id as posLevelId,
employeePosLevel.posLevelName,
employeePosType.id as posTypeId,
employeePosType.posTypeName,
employeePosType.posTypeShortName
FROM
employeePosMaster
LEFT JOIN
profileEmployee ON employeePosMaster.current_holderId = profileEmployee.id
LEFT JOIN
orgRoot ON employeePosMaster.orgRootId = orgRoot.id
LEFT JOIN
orgChild1 ON employeePosMaster.orgChild1Id = orgChild1.id
LEFT JOIN
orgChild2 ON employeePosMaster.orgChild2Id = orgChild2.id
LEFT JOIN
orgChild3 ON employeePosMaster.orgChild3Id = orgChild3.id
LEFT JOIN
orgChild4 ON employeePosMaster.orgChild4Id = orgChild4.id
LEFT JOIN
position ON employeePosMaster.id = position.posMasterId
LEFT JOIN
posExecutive ON position.posExecutiveId = posExecutive.id
LEFT JOIN
profileDiscipline ON profileDiscipline.profileId = profileEmployee.id
LEFT JOIN
profileLeave ON profileLeave.profileId = profileEmployee.id
LEFT JOIN
profileAssessment ON profileAssessment.profileId = profileEmployee.id
LEFT JOIN
employeePosLevel ON profileEmployee.posLevelId = employeePosLevel.id
LEFT JOIN
employeePosType ON profileEmployee.posTypeId = employeePosType.id
WHERE
employeePosMaster.current_holderId IS NOT NULL
ORDER BY
profileEmployee.citizenId ASC
`,
})
export class viewEmployeePosMaster {
@ViewColumn()
id: string;
@ViewColumn()
posMasterNoPrefix: string;
@ViewColumn()
posMasterNo: number;
@ViewColumn()
posMasterNoSuffix: string;
@ViewColumn()
orgRevisionId: 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()
orgRootOrder: string;
@ViewColumn()
orgRootName: string;
@ViewColumn()
child1Id: string;
@ViewColumn()
orgChild1ShortName: string;
@ViewColumn()
orgChild1Order: string;
@ViewColumn()
orgChild1Name: string;
@ViewColumn()
child2Id: string;
@ViewColumn()
orgChild2ShortName: string;
@ViewColumn()
orgChild2Order: string;
@ViewColumn()
orgChild2Name: string;
@ViewColumn()
child3Id: string;
@ViewColumn()
orgChild3ShortName: string;
@ViewColumn()
orgChild3Order: string;
@ViewColumn()
orgChild3Name: string;
@ViewColumn()
child4Id: string;
@ViewColumn()
orgChild4ShortName: string;
@ViewColumn()
orgChild4Order: string;
@ViewColumn()
orgChild4Name: string;
@ViewColumn()
positionId: string;
@ViewColumn()
positionIsSelected: boolean;
@ViewColumn()
positionPosExecutiveId: string;
@ViewColumn()
isSpecial: boolean;
@ViewColumn()
posExecutiveId: string;
@ViewColumn()
posExecutiveName: string;
@ViewColumn()
profileDisciplineId: string;
@ViewColumn()
disCriplineDate: Date;
@ViewColumn()
profileLeaveId: string;
@ViewColumn()
profileAssessmentId: string;
@ViewColumn()
pointSum: number;
@ViewColumn()
posLevelId: string;
@ViewColumn()
posLevelName: string;
@ViewColumn()
posTypeId: string;
@ViewColumn()
posTypeName: string;
@ViewColumn()
salaryLevel: number;
@ViewColumn()
group: number;
@ViewColumn()
posTypeShortName: string;
}