Fix [Invalid] รายชื่อลูกจ้างชั่วคราวไม่แสดงตามสิทธิ์ #131

This commit is contained in:
Bright 2025-06-19 17:44:17 +07:00
parent 64eb28af68
commit 9eac11ff30

View file

@ -1428,6 +1428,7 @@ export class ProfileEmployeeTempController extends Controller {
@Query() isRetire?: boolean, @Query() isRetire?: boolean,
@Query() type?: string, @Query() type?: string,
) { ) {
let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP");
let queryLike = let queryLike =
"CONCAT(profileEmployee.prefix, profileEmployee.firstName, ' ', profileEmployee.lastName) LIKE :keyword"; "CONCAT(profileEmployee.prefix, profileEmployee.firstName, ' ', profileEmployee.lastName) LIKE :keyword";
if (searchField == "citizenId") { if (searchField == "citizenId") {
@ -1435,7 +1436,6 @@ export class ProfileEmployeeTempController extends Controller {
} else if (searchField == "position") { } else if (searchField == "position") {
queryLike = "profileEmployee.position LIKE :keyword"; queryLike = "profileEmployee.position LIKE :keyword";
} }
let _data = await new permission().PermissionList(request, "SYS_REGISTRY_TEMP");
const findRevision = await this.orgRevisionRepo.findOne({ const findRevision = await this.orgRevisionRepo.findOne({
where: { orgRevisionIsCurrent: true }, where: { orgRevisionIsCurrent: true },
}); });
@ -1446,17 +1446,19 @@ export class ProfileEmployeeTempController extends Controller {
.createQueryBuilder("profileEmployee") .createQueryBuilder("profileEmployee")
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel") .leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
.leftJoinAndSelect("profileEmployee.posType", "posType") .leftJoinAndSelect("profileEmployee.posType", "posType")
.leftJoinAndSelect("profileEmployee.current_holders", "current_holders") .leftJoinAndSelect("profileEmployee.current_holderTemps", "current_holderTemps")
.leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment") .leftJoinAndSelect("profileEmployee.profileEmployeeEmployment", "profileEmployeeEmployment")
.leftJoinAndSelect("current_holders.positions", "positions") .leftJoinAndSelect("current_holderTemps.positions", "positions")
.leftJoinAndSelect("current_holders.orgRoot", "orgRoot") .leftJoinAndSelect("current_holderTemps.orgRoot", "orgRoot")
.leftJoinAndSelect("current_holders.orgChild1", "orgChild1") .leftJoinAndSelect("current_holderTemps.orgChild1", "orgChild1")
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2") .leftJoinAndSelect("current_holderTemps.orgChild2", "orgChild2")
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3") .leftJoinAndSelect("current_holderTemps.orgChild3", "orgChild3")
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4") .leftJoinAndSelect("current_holderTemps.orgChild4", "orgChild4")
.andWhere( .andWhere(
_data.root != undefined && _data.root != null _data.root != undefined && _data.root != null
? `current_holders.orgRootId IN (:...root)` ? _data.root[0] != null
? `current_holderTemps.orgRootId IN (:...root)`
: `current_holderTemps.orgRootId is null`
: "1=1", : "1=1",
{ {
root: _data.root, root: _data.root,
@ -1464,7 +1466,9 @@ export class ProfileEmployeeTempController extends Controller {
) )
.andWhere( .andWhere(
_data.child1 != undefined && _data.child1 != null _data.child1 != undefined && _data.child1 != null
? `current_holders.orgChild1Id IN (:...child1)` ? _data.child1[0] != null
? `current_holderTemps.orgChild1Id IN (:...child1)`
: `current_holderTemps.orgChild1Id is null`
: "1=1", : "1=1",
{ {
child1: _data.child1, child1: _data.child1,
@ -1472,7 +1476,9 @@ export class ProfileEmployeeTempController extends Controller {
) )
.andWhere( .andWhere(
_data.child2 != undefined && _data.child2 != null _data.child2 != undefined && _data.child2 != null
? `current_holders.orgChild2Id IN (:...child2)` ? _data.child2[0] != null
? `current_holderTemps.orgChild2Id IN (:...child2)`
: `current_holderTemps.orgChild2Id is null`
: "1=1", : "1=1",
{ {
child2: _data.child2, child2: _data.child2,
@ -1480,7 +1486,9 @@ export class ProfileEmployeeTempController extends Controller {
) )
.andWhere( .andWhere(
_data.child3 != undefined && _data.child3 != null _data.child3 != undefined && _data.child3 != null
? `current_holders.orgChild3Id IN (:...child3)` ? _data.child3[0] != null
? `current_holderTemps.orgChild3Id IN (:...child3)`
: `current_holderTemps.orgChild3Id is null`
: "1=1", : "1=1",
{ {
child3: _data.child3, child3: _data.child3,
@ -1488,7 +1496,9 @@ export class ProfileEmployeeTempController extends Controller {
) )
.andWhere( .andWhere(
_data.child4 != undefined && _data.child4 != null _data.child4 != undefined && _data.child4 != null
? `current_holders.orgChild4Id IN (:...child4)` ? _data.child4[0] != null
? `current_holderTemps.orgChild4Id IN (:...child4)`
: `current_holderTemps.orgChild4Id is null`
: "1=1", : "1=1",
{ {
child4: _data.child4, child4: _data.child4,
@ -1518,19 +1528,19 @@ export class ProfileEmployeeTempController extends Controller {
keyword2: `${posLevel}`, keyword2: `${posLevel}`,
}, },
) )
.andWhere( // .andWhere(
isProbation != undefined && isProbation != null // isProbation != undefined && isProbation != null
? `profile.isProbation = ${isProbation}` // ? `profileEmployee.isProbation = ${isProbation}`
: "1=1", // : "1=1",
) // )
.andWhere( // .andWhere(
isRetire != undefined && isRetire != null // isRetire != undefined && isRetire != null
? isRetire == true // ? isRetire == true
? `profile.dateRetire IS null` // ? `profileEmployee.dateRetire IS null`
: `profile.dateRetire IS NOT NULL` // : `profileEmployee.dateRetire IS NOT NULL`
: "1=1", // : "1=1",
) // )
.andWhere("profileEmployee.employeeClass LIKE :type", { .andWhere("profileEmployee.employeeClass = :type", {
type: "TEMP", type: "TEMP",
}) })
.skip((page - 1) * pageSize) .skip((page - 1) * pageSize)
@ -1539,29 +1549,29 @@ export class ProfileEmployeeTempController extends Controller {
const data = await Promise.all( const data = await Promise.all(
record.map((_data) => { record.map((_data) => {
const shortName = const shortName =
_data.current_holders.length == 0 _data.current_holderTemps.length == 0
? null ? null
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null &&
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 != _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 !=
null null
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null &&
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)
?.orgChild3 != null ?.orgChild3 != null
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null &&
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)
?.orgChild2 != null ?.orgChild2 != null
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) != null &&
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)
?.orgChild1 != null ?.orgChild1 != null
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != : _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id) !=
null && null &&
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) _data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)
?.orgRoot != null ?.orgRoot != null
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName} ${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` ? `${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName} ${_data.current_holderTemps.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
: null; : null;
const dateEmployment = const dateEmployment =
_data.profileEmployeeEmployment.length == 0 _data.profileEmployeeEmployment.length == 0