ค้นหาลุกจ้างประจำ

This commit is contained in:
kittapath 2024-09-04 09:56:58 +07:00
parent c6ed6e72b9
commit 1d0b35983b

View file

@ -845,6 +845,97 @@ export class OrganizationUnauthorizeController extends Controller {
posTypeId: findProfile.posTypeId,
});
}
/**
* API user profile employee
*
* @summary user profile employee
*
*/
@Get("employee-prem/citizen/{id}")
async GetProfileEmployeePremByCitizenId(@Path() id: string) {
const findRevision = await this.orgRevisionRepository.findOne({
where: { orgRevisionIsCurrent: true },
});
if (!findRevision) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. OrgRevision");
}
const findProfile = await AppDataSource.getRepository(ProfileEmployee)
.createQueryBuilder("profile")
.leftJoinAndSelect("profile.current_holders", "current_holders")
.leftJoinAndSelect("current_holders.orgRoot", "orgRoot")
.leftJoinAndSelect("current_holders.orgChild1", "orgChild1")
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
.leftJoinAndSelect("current_holders.positions", "positions")
// .leftJoinAndSelect("positions.posExecutive", "posExecutive")
.where({ citizenId: id, employeeclass: "PREM" })
.getOne();
if (!findProfile) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found Profile");
}
const root =
findProfile.current_holders == null ||
findProfile.current_holders.length == 0 ||
findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
? null
: findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot;
const child1 =
findProfile.current_holders == null ||
findProfile.current_holders.length == 0 ||
findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
? null
: findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1;
const child2 =
findProfile.current_holders == null ||
findProfile.current_holders.length == 0 ||
findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
? null
: findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2;
const child3 =
findProfile.current_holders == null ||
findProfile.current_holders.length == 0 ||
findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
? null
: findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3;
const child4 =
findProfile.current_holders == null ||
findProfile.current_holders.length == 0 ||
findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
? null
: findProfile.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4;
let _child1 = child1 == null ? "" : `${child1.orgChild1Name}/`;
let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`;
let _child3 = child3 == null ? "" : `${child3.orgChild3Name}/`;
let _child4 = child4 == null ? "" : `${child4.orgChild4Name}/`;
let _root = root == null ? "" : `${root.orgRootName}`;
return new HttpSuccess({
rootId: root == null ? null : root.id,
root: root == null ? null : root.orgRootName,
orgRootShortName: root == null ? null : root.orgRootShortName,
orgRevisionId: findRevision.id,
profileId: findProfile.id,
org: `${_child4}${_child3}${_child2}${_child1}${_root}`,
type: "EMPLOYEE",
rank: findProfile.rank,
prefix: findProfile.prefix,
firstName: findProfile.firstName,
lastName: findProfile.lastName,
citizenId: findProfile.citizenId,
position: findProfile.position,
posLevelId: findProfile.posLevelId,
posTypeId: findProfile.posTypeId,
});
}
textPointSummaryKpi(val: number | undefined) {
if (val == undefined || val == null) val = -1;
if (val >= 0 && val <= 60) return "ต้องปรับปรุง";