From ba9937510cf5c29575198806901f46c05ce335e6 Mon Sep 17 00:00:00 2001 From: mamoss <> Date: Tue, 13 May 2025 16:52:14 +0700 Subject: [PATCH] sort --- src/controllers/EmployeePositionController.ts | 24 ++- .../EmployeeTempPositionController.ts | 4 +- src/controllers/PositionController.ts | 32 ++- src/controllers/ProfileController.ts | 4 +- src/controllers/ProfileEmployeeController.ts | 194 +++++++++--------- .../ProfileSalaryTempController.ts | 4 +- 6 files changed, 144 insertions(+), 118 deletions(-) diff --git a/src/controllers/EmployeePositionController.ts b/src/controllers/EmployeePositionController.ts index a7e17165..a4c661d2 100644 --- a/src/controllers/EmployeePositionController.ts +++ b/src/controllers/EmployeePositionController.ts @@ -572,7 +572,7 @@ export class EmployeePositionController extends Controller { const chk_SName0 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgRoot: { orgRootShortName: SName, /*id: requestBody.orgRootId ?? ""*/ }, + orgRoot: { orgRootShortName: SName /*id: requestBody.orgRootId ?? ""*/ }, orgChild1Id: IsNull(), posMasterNo: requestBody.posMasterNo, }, @@ -588,7 +588,7 @@ export class EmployeePositionController extends Controller { const chk_SName1 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild1: { orgChild1ShortName: SName, /*id: requestBody.orgChild1Id ?? ""*/ }, + orgChild1: { orgChild1ShortName: SName /*id: requestBody.orgChild1Id ?? ""*/ }, orgChild2Id: IsNull(), posMasterNo: requestBody.posMasterNo, }, @@ -604,7 +604,7 @@ export class EmployeePositionController extends Controller { const chk_SName2 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild2: { orgChild2ShortName: SName, /*id: requestBody.orgChild2Id ?? ""*/ }, + orgChild2: { orgChild2ShortName: SName /*id: requestBody.orgChild2Id ?? ""*/ }, orgChild3Id: IsNull(), posMasterNo: requestBody.posMasterNo, }, @@ -620,7 +620,7 @@ export class EmployeePositionController extends Controller { const chk_SName3 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild3: { orgChild3ShortName: SName, /*id: requestBody.orgChild3Id ?? ""*/ }, + orgChild3: { orgChild3ShortName: SName /*id: requestBody.orgChild3Id ?? ""*/ }, orgChild4Id: IsNull(), posMasterNo: requestBody.posMasterNo, }, @@ -636,7 +636,7 @@ export class EmployeePositionController extends Controller { const chk_SName4 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild4: { orgChild4ShortName: SName, /*id: requestBody.orgChild4Id ?? ""*/ }, + orgChild4: { orgChild4ShortName: SName /*id: requestBody.orgChild4Id ?? ""*/ }, posMasterNo: requestBody.posMasterNo, }, relations: ["orgChild4"], @@ -780,7 +780,7 @@ export class EmployeePositionController extends Controller { const chk_SName0 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgRoot: { orgRootShortName: SName, /*id: requestBody.orgRootId ?? ""*/ }, + orgRoot: { orgRootShortName: SName /*id: requestBody.orgRootId ?? ""*/ }, orgChild1Id: IsNull(), posMasterNo: requestBody.posMasterNo, id: Not(posMaster.id), @@ -797,7 +797,7 @@ export class EmployeePositionController extends Controller { const chk_SName1 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild1: { orgChild1ShortName: SName, /*id: requestBody.orgChild1Id ?? ""*/ }, + orgChild1: { orgChild1ShortName: SName /*id: requestBody.orgChild1Id ?? ""*/ }, orgChild2Id: IsNull(), posMasterNo: requestBody.posMasterNo, id: Not(posMaster.id), @@ -814,7 +814,7 @@ export class EmployeePositionController extends Controller { const chk_SName2 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild2: { orgChild2ShortName: SName, /*id: requestBody.orgChild2Id ?? ""*/ }, + orgChild2: { orgChild2ShortName: SName /*id: requestBody.orgChild2Id ?? ""*/ }, orgChild3Id: IsNull(), posMasterNo: requestBody.posMasterNo, id: Not(posMaster.id), @@ -831,7 +831,7 @@ export class EmployeePositionController extends Controller { const chk_SName3 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild3: { orgChild3ShortName: SName, /*id: requestBody.orgChild3Id ?? ""*/ }, + orgChild3: { orgChild3ShortName: SName /*id: requestBody.orgChild3Id ?? ""*/ }, orgChild4Id: IsNull(), posMasterNo: requestBody.posMasterNo, id: Not(posMaster.id), @@ -848,7 +848,7 @@ export class EmployeePositionController extends Controller { const chk_SName4 = await this.employeePosMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, - orgChild4: { orgChild4ShortName: SName, /*id: requestBody.orgChild4Id ?? ""*/ }, + orgChild4: { orgChild4ShortName: SName /*id: requestBody.orgChild4Id ?? ""*/ }, posMasterNo: requestBody.posMasterNo, id: Not(posMaster.id), }, @@ -1174,7 +1174,9 @@ export class EmployeePositionController extends Controller { .andWhere(revisionCondition); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") diff --git a/src/controllers/EmployeeTempPositionController.ts b/src/controllers/EmployeeTempPositionController.ts index a7f875a1..ea8ebefb 100644 --- a/src/controllers/EmployeeTempPositionController.ts +++ b/src/controllers/EmployeeTempPositionController.ts @@ -943,7 +943,9 @@ export class EmployeeTempPositionController extends Controller { .andWhere(revisionCondition); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index d15450b3..9a4b4c21 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -1796,7 +1796,9 @@ export class PositionController extends Controller { .andWhere(revisionCondition); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -2231,7 +2233,9 @@ export class PositionController extends Controller { .andWhere(revisionCondition); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -3711,7 +3715,9 @@ export class PositionController extends Controller { }); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -3979,7 +3985,9 @@ export class PositionController extends Controller { }); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -4213,7 +4221,9 @@ export class PositionController extends Controller { }); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -4420,7 +4430,9 @@ export class PositionController extends Controller { qb.orWhere(typeCondition); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -4762,7 +4774,9 @@ export class PositionController extends Controller { qb.andWhere(conditionGroup); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") @@ -5047,7 +5061,9 @@ export class PositionController extends Controller { .andWhere({ current_holderId: IsNull() }); }), ) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN posMaster.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC") diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 7ad8c139..f5db921e 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -6204,7 +6204,9 @@ export class ProfileController extends Controller { ) // .orderBy("current_holders.posMasterNo", "ASC") // .orderBy(`${sortBy}`, sort) - .orderBy("orgRoot.orgRootOrder", sort) + .addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", sort) .addOrderBy("orgChild1.orgChild1Order", sort) .addOrderBy("orgChild2.orgChild2Order", sort) .addOrderBy("orgChild3.orgChild3Order", sort) diff --git a/src/controllers/ProfileEmployeeController.ts b/src/controllers/ProfileEmployeeController.ts index af3dd153..e63c266e 100644 --- a/src/controllers/ProfileEmployeeController.ts +++ b/src/controllers/ProfileEmployeeController.ts @@ -3270,7 +3270,9 @@ export class ProfileEmployeeController extends Controller { // }) // .orderBy("current_holders.posMasterNo", "ASC") // .orderBy(`${sortBy}`, sort) - .orderBy("orgRoot.orgRootOrder", sort) + .addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", sort) .addOrderBy("orgChild1.orgChild1Order", sort) .addOrderBy("orgChild2.orgChild2Order", sort) .addOrderBy("orgChild3.orgChild3Order", sort) @@ -3353,106 +3355,106 @@ export class ProfileEmployeeController extends Controller { let _child3 = child3?.orgChild3Name; let _child4 = child4?.orgChild4Name; return { - id: _data.id, - avatar: _data.avatar, - avatarName: _data.avatarName, - prefix: _data.prefix, - rank: _data.rank, - firstName: _data.firstName, - lastName: _data.lastName, - citizenId: _data.citizenId, - posLevel: _data.posLevel == null ? null : _data.posLevel.posLevelName, - posType: _data.posType == null ? null : _data.posType.posTypeName, - posTypeShortName: _data.posType == null ? null : _data.posType.posTypeShortName, + // id: _data.id, + // avatar: _data.avatar, + // avatarName: _data.avatarName, + // prefix: _data.prefix, + // rank: _data.rank, + // firstName: _data.firstName, + // lastName: _data.lastName, + // citizenId: _data.citizenId, + // posLevel: _data.posLevel == null ? null : _data.posLevel.posLevelName, + // posType: _data.posType == null ? null : _data.posType.posTypeName, + // posTypeShortName: _data.posType == null ? null : _data.posType.posTypeShortName, - posLevelTemp: _data.posLevelNameTemp, - posTypeTemp: _data.posTypeNameTemp, - posTypeShortNameTemp: _data.posTypeShortNameTemp, + // posLevelTemp: _data.posLevelNameTemp, + // posTypeTemp: _data.posTypeNameTemp, + // posTypeShortNameTemp: _data.posTypeShortNameTemp, - posLevelId: _data.posLevel == null ? null : _data.posLevel.id, - posTypeId: _data.posType == null ? null : _data.posType.id, - positionId: _data.positionIdTemp, - posmasterId: _data.posmasterIdTemp, + // posLevelId: _data.posLevel == null ? null : _data.posLevel.id, + // posTypeId: _data.posType == null ? null : _data.posType.id, + // positionId: _data.positionIdTemp, + // posmasterId: _data.posmasterIdTemp, - position: _data.position, - positionTemp: _data.positionTemp, + // position: _data.position, + // positionTemp: _data.positionTemp, posNo: _data.employeeClass == "TEMP" ? _data.posMasterNoTemp : shortName, - employeeClass: _data.employeeClass == null ? null : _data.employeeClass, - govAge: Extension.CalculateGovAge(_data.dateAppoint, 0, 0), - age: Extension.CalculateAgeStrV2(_data.birthDate, 0, 0), - dateEmployment: dateEmployment, - dateAppoint: _data.dateAppoint, - dateStart: _data.dateStart, - createdAt: _data.createdAt, - dateRetireLaw: _data.dateRetireLaw, - draftOrganizationOrganization: - _data.nodeTemp == "0" - ? _data.rootTemp - : _data.nodeTemp == "1" - ? _data.child1Temp - : _data.nodeTemp == "2" - ? _data.child2Temp - : _data.nodeTemp == "3" - ? _data.child3Temp - : _data.nodeTemp == "4" - ? _data.child4Temp - : null, - draftPositionEmployee: _data.positionTemp, - draftOrgEmployeeStatus: _data.statusTemp, - node: _data.nodeTemp, - nodeId: _data.nodeIdTemp, - nodeName: - _data.nodeTemp == "0" - ? _data.rootTemp - : _data.nodeTemp == "1" - ? _data.child1Temp - : _data.nodeTemp == "2" - ? _data.child2Temp - : _data.nodeTemp == "3" - ? _data.child3Temp - : _data.nodeTemp == "4" - ? _data.child4Temp - : null, - nodeShortName: - _data.nodeTemp == "0" - ? _data.rootShortNameTemp - : _data.nodeTemp == "1" - ? _data.child1ShortNameTemp - : _data.nodeTemp == "2" - ? _data.child1ShortNameTemp - : _data.nodeTemp == "3" - ? _data.child3ShortNameTemp - : _data.nodeTemp == "4" - ? _data.child4ShortNameTemp - : null, - root: _data.rootTemp ? _data.rootTemp : null, - rootId: _data.rootIdTemp ? _data.rootIdTemp : null, - rootShortName: _data.rootShortNameTemp ? _data.rootShortNameTemp : null, - child1: _data.child1Temp ? _data.child1Temp : null, - child1Id: _data.child1IdTemp ? _data.child1IdTemp : null, - child1ShortName: _data.child1ShortNameTemp ? _data.child1ShortNameTemp : null, - child2: _data.child2Temp ? _data.child2Temp : null, - child2Id: _data.child2IdTemp ? _data.child2IdTemp : null, - child2ShortName: _data.child2ShortNameTemp ? _data.child2ShortNameTemp : null, - child3: _data.child3Temp ? _data.child3Temp : null, - child3Id: _data.child3IdTemp ? _data.child3IdTemp : null, - child3ShortName: _data.child3ShortNameTemp ? _data.child3ShortNameTemp : null, - child4: _data.child4Temp ? _data.child4Temp : null, - child4Id: _data.child4IdTemp ? _data.child4IdTemp : null, - child4ShortName: _data.child4ShortNameTemp ? _data.child4ShortNameTemp : null, - org: - (_child4 == null ? "" : _child4 + "\n") + - (_child3 == null ? "" : _child3 + "\n") + - (_child2 == null ? "" : _child2 + "\n") + - (_child1 == null ? "" : _child1 + "\n") + - (_root == null ? "" : _root), - orgTemp: - (_data.child4Temp == null ? "" : _data.child4Temp + "\n") + - (_data.child3Temp == null ? "" : _data.child3Temp + "\n") + - (_data.child2Temp == null ? "" : _data.child2Temp + "\n") + - (_data.child1Temp == null ? "" : _data.child1Temp + "\n") + - (_data.rootTemp == null ? "" : _data.rootTemp), + // employeeClass: _data.employeeClass == null ? null : _data.employeeClass, + // govAge: Extension.CalculateGovAge(_data.dateAppoint, 0, 0), + // age: Extension.CalculateAgeStrV2(_data.birthDate, 0, 0), + // dateEmployment: dateEmployment, + // dateAppoint: _data.dateAppoint, + // dateStart: _data.dateStart, + // createdAt: _data.createdAt, + // dateRetireLaw: _data.dateRetireLaw, + // draftOrganizationOrganization: + // _data.nodeTemp == "0" + // ? _data.rootTemp + // : _data.nodeTemp == "1" + // ? _data.child1Temp + // : _data.nodeTemp == "2" + // ? _data.child2Temp + // : _data.nodeTemp == "3" + // ? _data.child3Temp + // : _data.nodeTemp == "4" + // ? _data.child4Temp + // : null, + // draftPositionEmployee: _data.positionTemp, + // draftOrgEmployeeStatus: _data.statusTemp, + // node: _data.nodeTemp, + // nodeId: _data.nodeIdTemp, + // nodeName: + // _data.nodeTemp == "0" + // ? _data.rootTemp + // : _data.nodeTemp == "1" + // ? _data.child1Temp + // : _data.nodeTemp == "2" + // ? _data.child2Temp + // : _data.nodeTemp == "3" + // ? _data.child3Temp + // : _data.nodeTemp == "4" + // ? _data.child4Temp + // : null, + // nodeShortName: + // _data.nodeTemp == "0" + // ? _data.rootShortNameTemp + // : _data.nodeTemp == "1" + // ? _data.child1ShortNameTemp + // : _data.nodeTemp == "2" + // ? _data.child1ShortNameTemp + // : _data.nodeTemp == "3" + // ? _data.child3ShortNameTemp + // : _data.nodeTemp == "4" + // ? _data.child4ShortNameTemp + // : null, + // root: _data.rootTemp ? _data.rootTemp : null, + // rootId: _data.rootIdTemp ? _data.rootIdTemp : null, + // rootShortName: _data.rootShortNameTemp ? _data.rootShortNameTemp : null, + // child1: _data.child1Temp ? _data.child1Temp : null, + // child1Id: _data.child1IdTemp ? _data.child1IdTemp : null, + // child1ShortName: _data.child1ShortNameTemp ? _data.child1ShortNameTemp : null, + // child2: _data.child2Temp ? _data.child2Temp : null, + // child2Id: _data.child2IdTemp ? _data.child2IdTemp : null, + // child2ShortName: _data.child2ShortNameTemp ? _data.child2ShortNameTemp : null, + // child3: _data.child3Temp ? _data.child3Temp : null, + // child3Id: _data.child3IdTemp ? _data.child3IdTemp : null, + // child3ShortName: _data.child3ShortNameTemp ? _data.child3ShortNameTemp : null, + // child4: _data.child4Temp ? _data.child4Temp : null, + // child4Id: _data.child4IdTemp ? _data.child4IdTemp : null, + // child4ShortName: _data.child4ShortNameTemp ? _data.child4ShortNameTemp : null, + // org: + // (_child4 == null ? "" : _child4 + "\n") + + // (_child3 == null ? "" : _child3 + "\n") + + // (_child2 == null ? "" : _child2 + "\n") + + // (_child1 == null ? "" : _child1 + "\n") + + // (_root == null ? "" : _root), + // orgTemp: + // (_data.child4Temp == null ? "" : _data.child4Temp + "\n") + + // (_data.child3Temp == null ? "" : _data.child3Temp + "\n") + + // (_data.child2Temp == null ? "" : _data.child2Temp + "\n") + + // (_data.child1Temp == null ? "" : _data.child1Temp + "\n") + + // (_data.rootTemp == null ? "" : _data.rootTemp), }; }), ); diff --git a/src/controllers/ProfileSalaryTempController.ts b/src/controllers/ProfileSalaryTempController.ts index 0be327fd..394a76f7 100644 --- a/src/controllers/ProfileSalaryTempController.ts +++ b/src/controllers/ProfileSalaryTempController.ts @@ -319,7 +319,9 @@ export class ProfileSalaryTempController extends Controller { .andWhere("current_holders.orgRootId = :rootId", { rootId: rootId, }) - .orderBy("orgRoot.orgRootOrder", "ASC") + .addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order") + .orderBy("sort_order", "ASC") + .addOrderBy("orgRoot.orgRootOrder", "ASC") .addOrderBy("orgChild1.orgChild1Order", "ASC") .addOrderBy("orgChild2.orgChild2Order", "ASC") .addOrderBy("orgChild3.orgChild3Order", "ASC")