Merge branch 'develop' of github.com:Frappet/hrms-api-org into develop
This commit is contained in:
commit
1af0cd483d
4 changed files with 193 additions and 16 deletions
|
|
@ -1718,25 +1718,25 @@ export class ProfileEmployeeController extends Controller {
|
|||
if (orgRoot) {
|
||||
nodeCondition = "profileSalary.orgRoot = :orgRoot";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild1Id IS NULL";
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild1 IS NULL";
|
||||
} else if (node === 1 && nodeId) {
|
||||
orgChild1 = await this.child1Repository.findOne({where: { id: nodeId }});
|
||||
if (orgChild1) {
|
||||
nodeCondition = "profileSalary.orgChild1 = :orgChild1";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild2Id IS NULL";
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild2 IS NULL";
|
||||
} else if (node === 2 && nodeId) {
|
||||
orgChild2 = await this.child2Repository.findOne({where: { id: nodeId }});
|
||||
if (orgChild2) {
|
||||
nodeCondition = "profileSalary.orgChild2 = :orgChild2";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild3Id IS NULL";
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild3 IS NULL";
|
||||
} else if (node === 3 && nodeId) {
|
||||
orgChild3 = await this.child3Repository.findOne({where: { id: nodeId }});
|
||||
if (orgChild3) {
|
||||
nodeCondition = "profileSalary.orgChild3 = :orgChild3";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild4Id IS NULL";
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild4 IS NULL";
|
||||
} else if (node === 4 && nodeId) {
|
||||
orgChild4 = await this.child4Repository.findOne({where: { id: nodeId }});
|
||||
if (orgChild4) {
|
||||
|
|
@ -1750,27 +1750,32 @@ export class ProfileEmployeeController extends Controller {
|
|||
if (orgRootPms) {
|
||||
pmsCondition = "profileSalary.orgRoot = :orgRoot";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild1 IS NULL";
|
||||
} else if (_data.child1) {
|
||||
orgChild1Pms = await this.child1Repository.findOne({where: { id: _data.child1 }});
|
||||
if (orgChild1Pms) {
|
||||
pmsCondition = "profileSalary.orgChild1 = :orgChild1";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild2 IS NULL";
|
||||
} else if (_data.child2) {
|
||||
orgChild2Pms = await this.child2Repository.findOne({where: { id: _data.child2 }});
|
||||
if (orgChild2Pms) {
|
||||
pmsCondition = "profileSalary.orgChild2 = :orgChild2";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild3 IS NULL";
|
||||
} else if (_data.child3) {
|
||||
orgChild3Pms = await this.child3Repository.findOne({where: { id: _data.child3 }});
|
||||
if (orgChild3Pms) {
|
||||
pmsCondition = "profileSalary.orgChild3 = :orgChild3";
|
||||
}
|
||||
if (isAll == false) nodeAll = " AND profileSalary.orgChild4 IS NULL";
|
||||
} else if (_data.child4) {
|
||||
orgChild4Pms = await this.child4Repository.findOne({where: { id: _data.child4 }});
|
||||
if (orgChild4Pms) {
|
||||
pmsCondition = "profileSalary.orgChild4 = :orgChild4";
|
||||
}
|
||||
}
|
||||
pmsCondition = pmsCondition + nodeAll;
|
||||
// const findRevision = await this.orgRevisionRepo.findOne({
|
||||
// where: { orgRevisionIsCurrent: true },
|
||||
// });
|
||||
|
|
@ -1800,6 +1805,7 @@ export class ProfileEmployeeController extends Controller {
|
|||
.orWhere("profileEmployee.isRetirement = :isRetirement", { isRetirement: true });
|
||||
})
|
||||
)
|
||||
.andWhere("profileEmployee.leaveCommandId Is NOT NULL")
|
||||
.andWhere("profileSalary.order = (SELECT MAX(ps.order) FROM profileSalary ps WHERE ps.profileEmployeeId = profileEmployee.id)")
|
||||
|
||||
// .andWhere(
|
||||
|
|
@ -1885,19 +1891,19 @@ export class ProfileEmployeeController extends Controller {
|
|||
},
|
||||
)
|
||||
.andWhere(pmsCondition, {
|
||||
orgRoot: orgRootPms ? orgRootPms.orgRootName : undefined,
|
||||
orgChild1: orgChild1Pms ? orgChild1Pms.orgChild1Name : undefined,
|
||||
orgChild2: orgChild2Pms ? orgChild2Pms.orgChild2Name : undefined,
|
||||
orgChild3: orgChild3Pms ? orgChild3Pms.orgChild3Name : undefined,
|
||||
orgChild4: orgChild4Pms ? orgChild4Pms.orgChild4Name : undefined,
|
||||
orgRootPms: orgRootPms ? orgRootPms.orgRootName : "",
|
||||
orgChild1Pms: orgChild1Pms ? orgChild1Pms.orgChild1Name : "",
|
||||
orgChild2Pms: orgChild2Pms ? orgChild2Pms.orgChild2Name : "",
|
||||
orgChild3Pms: orgChild3Pms ? orgChild3Pms.orgChild3Name : "",
|
||||
orgChild4Pms: orgChild4Pms ? orgChild4Pms.orgChild4Name : "",
|
||||
})
|
||||
|
||||
.andWhere(nodeCondition, {
|
||||
orgRoot: orgRoot ? orgRoot.orgRootName : undefined,
|
||||
orgChild1: orgChild1 ? orgChild1.orgChild1Name : undefined,
|
||||
orgChild2: orgChild2 ? orgChild2.orgChild2Name : undefined,
|
||||
orgChild3: orgChild3 ? orgChild3.orgChild3Name : undefined,
|
||||
orgChild4: orgChild4 ? orgChild4.orgChild4Name : undefined,
|
||||
orgRoot: orgRoot ? orgRoot.orgRootName : "",
|
||||
orgChild1: orgChild1 ? orgChild1.orgChild1Name : "",
|
||||
orgChild2: orgChild2 ? orgChild2.orgChild2Name : "",
|
||||
orgChild3: orgChild3 ? orgChild3.orgChild3Name : "",
|
||||
orgChild4: orgChild4 ? orgChild4.orgChild4Name : "",
|
||||
})
|
||||
// .andWhere(`current_holders.orgRevisionId LIKE :orgRevisionId`, {
|
||||
// orgRevisionId: findRevision.id,
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ export class ProfileSalary extends EntityBase {
|
|||
comment: "refId",
|
||||
default: null,
|
||||
})
|
||||
refId: number;
|
||||
refId: string;
|
||||
|
||||
@Column({
|
||||
comment: "วันที่",
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ export class ProfileSalaryTemp extends EntityBase {
|
|||
comment: "refId",
|
||||
default: null,
|
||||
})
|
||||
refId: number;
|
||||
refId: string;
|
||||
|
||||
@Column({
|
||||
comment: "วันที่",
|
||||
|
|
|
|||
171
src/entities/view/viewPosMaster.ts
Normal file
171
src/entities/view/viewPosMaster.ts
Normal 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue