diff --git a/src/controllers/EmployeePositionController.ts b/src/controllers/EmployeePositionController.ts index 7b09973e..6ead5522 100644 --- a/src/controllers/EmployeePositionController.ts +++ b/src/controllers/EmployeePositionController.ts @@ -1190,8 +1190,8 @@ export class EmployeePositionController extends Controller { _data.child1 != undefined && _data.child1 != null ? _data.child1[0] != null ? `posMaster.orgChild1Id IN (:...child1)` - // : `posMaster.orgChild1Id is ${_data.privilege == "PARENT" ? "not null" : "null"}` - : `posMaster.orgChild1Id is null` + : // : `posMaster.orgChild1Id is ${_data.privilege == "PARENT" ? "not null" : "null"}` + `posMaster.orgChild1Id is null` : "1=1", { child1: _data.child1, @@ -1226,23 +1226,24 @@ export class EmployeePositionController extends Controller { { child4: _data.child4, }, - ) + ); if (body.keyword != null && body.keyword != "") { - query.orWhere( - new Brackets((qb) => { - qb.andWhere( - body.keyword != null && body.keyword != "" - ? body.isAll == false - ? searchShortName - : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` - : "1=1", - ) - .andWhere(checkChildConditions) - .andWhere(typeCondition) - .andWhere(revisionCondition); - }), - ) + query + .orWhere( + new Brackets((qb) => { + qb.andWhere( + body.keyword != null && body.keyword != "" + ? body.isAll == false + ? searchShortName + : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` + : "1=1", + ) + .andWhere(checkChildConditions) + .andWhere(typeCondition) + .andWhere(revisionCondition); + }), + ) .orWhere( new Brackets((qb) => { qb.andWhere( @@ -1287,7 +1288,7 @@ export class EmployeePositionController extends Controller { .andWhere(typeCondition) .andWhere(revisionCondition); }), - ) + ); } let [posMaster, total] = await query @@ -1706,50 +1707,50 @@ export class EmployeePositionController extends Controller { const type0LastPosMasterNo = requestBody.type == 0 ? await this.employeePosMasterRepository.find({ - where: { - orgRootId: requestBody.id, - orgChild1Id: IsNull(), - }, - }) + where: { + orgRootId: requestBody.id, + orgChild1Id: IsNull(), + }, + }) : []; const type1LastPosMasterNo = requestBody.type == 1 ? await this.employeePosMasterRepository.find({ - where: { - orgChild1Id: requestBody.id, - orgChild2Id: IsNull(), - }, - }) + where: { + orgChild1Id: requestBody.id, + orgChild2Id: IsNull(), + }, + }) : []; const type2LastPosMasterNo = requestBody.type == 2 ? await this.employeePosMasterRepository.find({ - where: { - orgChild2Id: requestBody.id, - orgChild3Id: IsNull(), - }, - }) + where: { + orgChild2Id: requestBody.id, + orgChild3Id: IsNull(), + }, + }) : []; const type3LastPosMasterNo = requestBody.type == 3 ? await this.employeePosMasterRepository.find({ - where: { - orgChild3Id: requestBody.id, - orgChild4Id: IsNull(), - }, - }) + where: { + orgChild3Id: requestBody.id, + orgChild4Id: IsNull(), + }, + }) : []; const type4LastPosMasterNo = requestBody.type == 4 ? await this.employeePosMasterRepository.find({ - where: { - orgChild4Id: requestBody.id, - }, - }) + where: { + orgChild4Id: requestBody.id, + }, + }) : []; const allLastPosMasterNo = [ @@ -2413,7 +2414,7 @@ export class EmployeePositionController extends Controller { */ @Post("profile/delete/{id}") async deleteEmpHolder(@Path() id: string, @Request() request: RequestWithUser) { - await new permission().PermissionDelete(request, "SYS_ORG_EMP"); + await new permission().PermissionUpdate(request, "SYS_ORG_EMP"); const dataMaster = await this.employeePosMasterRepository.findOne({ where: { id: id }, relations: ["positions", "orgRevision"], @@ -2472,7 +2473,7 @@ export class EmployeePositionController extends Controller { @Body() requestBody: { draftPositionId: string; publishPositionId: string }, @Request() request: RequestWithUser, ) { - await new permission().PermissionDelete(request, "SYS_ORG_EMP"); + await new permission().PermissionUpdate(request, "SYS_ORG_EMP"); const findDraft = await this.orgRevisionRepository.findOne({ where: { orgRevisionIsDraft: true, diff --git a/src/controllers/EmployeeTempPositionController.ts b/src/controllers/EmployeeTempPositionController.ts index 69dc3b92..e5229e67 100644 --- a/src/controllers/EmployeeTempPositionController.ts +++ b/src/controllers/EmployeeTempPositionController.ts @@ -908,8 +908,8 @@ export class EmployeeTempPositionController extends Controller { _data.child1 != undefined && _data.child1 != null ? _data.child1[0] != null ? `posMaster.orgChild1Id IN (:...child1)` - // : `posMaster.orgChild1Id is ${_data.privilege == "PARENT" ? "not null" : "null"}` - : `posMaster.orgChild1Id is null` + : // : `posMaster.orgChild1Id is ${_data.privilege == "PARENT" ? "not null" : "null"}` + `posMaster.orgChild1Id is null` : "1=1", { child1: _data.child1, @@ -944,23 +944,24 @@ export class EmployeeTempPositionController extends Controller { { child4: _data.child4, }, - ) + ); if (body.keyword != null && body.keyword != "") { - query.orWhere( - new Brackets((qb) => { - qb.andWhere( - body.keyword != null && body.keyword != "" - ? body.isAll == false - ? searchShortName - : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` - : "1=1", - ) - .andWhere(checkChildConditions) - .andWhere(typeCondition) - .andWhere(revisionCondition); - }), - ) + query + .orWhere( + new Brackets((qb) => { + qb.andWhere( + body.keyword != null && body.keyword != "" + ? body.isAll == false + ? searchShortName + : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` + : "1=1", + ) + .andWhere(checkChildConditions) + .andWhere(typeCondition) + .andWhere(revisionCondition); + }), + ) .orWhere( new Brackets((qb) => { qb.andWhere( @@ -1005,7 +1006,7 @@ export class EmployeeTempPositionController extends Controller { .andWhere(typeCondition) .andWhere(revisionCondition); }), - ) + ); } let [posMaster, total] = await query @@ -1421,50 +1422,50 @@ export class EmployeeTempPositionController extends Controller { const type0LastPosMasterNo = requestBody.type == 0 ? await this.employeeTempPosMasterRepository.find({ - where: { - orgRootId: requestBody.id, - orgChild1Id: IsNull(), - }, - }) + where: { + orgRootId: requestBody.id, + orgChild1Id: IsNull(), + }, + }) : []; const type1LastPosMasterNo = requestBody.type == 1 ? await this.employeeTempPosMasterRepository.find({ - where: { - orgChild1Id: requestBody.id, - orgChild2Id: IsNull(), - }, - }) + where: { + orgChild1Id: requestBody.id, + orgChild2Id: IsNull(), + }, + }) : []; const type2LastPosMasterNo = requestBody.type == 2 ? await this.employeeTempPosMasterRepository.find({ - where: { - orgChild2Id: requestBody.id, - orgChild3Id: IsNull(), - }, - }) + where: { + orgChild2Id: requestBody.id, + orgChild3Id: IsNull(), + }, + }) : []; const type3LastPosMasterNo = requestBody.type == 3 ? await this.employeeTempPosMasterRepository.find({ - where: { - orgChild3Id: requestBody.id, - orgChild4Id: IsNull(), - }, - }) + where: { + orgChild3Id: requestBody.id, + orgChild4Id: IsNull(), + }, + }) : []; const type4LastPosMasterNo = requestBody.type == 4 ? await this.employeeTempPosMasterRepository.find({ - where: { - orgChild4Id: requestBody.id, - }, - }) + where: { + orgChild4Id: requestBody.id, + }, + }) : []; const allLastPosMasterNo = [ @@ -2118,7 +2119,7 @@ export class EmployeeTempPositionController extends Controller { */ @Post("profile/delete/{id}") async deleteEmpHolder(@Path() id: string, @Request() request: RequestWithUser) { - await new permission().PermissionDelete(request, "SYS_ORG_TEMP"); + await new permission().PermissionUpdate(request, "SYS_ORG_TEMP"); const dataMaster = await this.employeeTempPosMasterRepository.findOne({ where: { id: id }, relations: ["positions", "orgRevision"], @@ -2179,7 +2180,7 @@ export class EmployeeTempPositionController extends Controller { @Body() requestBody: { draftPositionId: string; publishPositionId: string }, @Request() request: RequestWithUser, ) { - await new permission().PermissionDelete(request, "SYS_ORG_TEMP"); + await new permission().PermissionUpdate(request, "SYS_ORG_TEMP"); const findDraft = await this.orgRevisionRepository.findOne({ where: { orgRevisionIsDraft: true, diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index 96576db8..98120f30 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -2421,7 +2421,7 @@ export class PositionController extends Controller { ? _data.child1[0] != null ? "posMaster.orgChild1Id IN (:...child1)" : // : `posMaster.orgChild1Id is ${_data.privilege == "PARENT" ? "not null" : "null"}` - `posMaster.orgChild1Id is null` + `posMaster.orgChild1Id is null` : "1=1", { child1: _data.child1 }, ) @@ -2983,50 +2983,50 @@ export class PositionController extends Controller { const type0LastPosMasterNo = requestBody.type == 0 ? await this.posMasterRepository.find({ - where: { - orgRootId: requestBody.id, - orgChild1Id: IsNull(), - }, - }) + where: { + orgRootId: requestBody.id, + orgChild1Id: IsNull(), + }, + }) : []; const type1LastPosMasterNo = requestBody.type == 1 ? await this.posMasterRepository.find({ - where: { - orgChild1Id: requestBody.id, - orgChild2Id: IsNull(), - }, - }) + where: { + orgChild1Id: requestBody.id, + orgChild2Id: IsNull(), + }, + }) : []; const type2LastPosMasterNo = requestBody.type == 2 ? await this.posMasterRepository.find({ - where: { - orgChild2Id: requestBody.id, - orgChild3Id: IsNull(), - }, - }) + where: { + orgChild2Id: requestBody.id, + orgChild3Id: IsNull(), + }, + }) : []; const type3LastPosMasterNo = requestBody.type == 3 ? await this.posMasterRepository.find({ - where: { - orgChild3Id: requestBody.id, - orgChild4Id: IsNull(), - }, - }) + where: { + orgChild3Id: requestBody.id, + orgChild4Id: IsNull(), + }, + }) : []; const type4LastPosMasterNo = requestBody.type == 4 ? await this.posMasterRepository.find({ - where: { - orgChild4Id: requestBody.id, - }, - }) + where: { + orgChild4Id: requestBody.id, + }, + }) : []; const allLastPosMasterNo = [ @@ -3364,7 +3364,15 @@ export class PositionController extends Controller { if (orgRevision?.orgRevisionIsCurrent) { const pmWithOrg = await this.posMasterRepository.findOne({ where: { id: posMaster.id }, - relations: ["orgRoot", "orgChild1", "orgChild2", "orgChild3", "orgChild4", "positions", "positions.posExecutive"], + relations: [ + "orgRoot", + "orgChild1", + "orgChild2", + "orgChild3", + "orgChild4", + "positions", + "positions.posExecutive", + ], }); const _profile = await this.profileRepository.findOne({ where: { id: posMaster.current_holderId }, @@ -3375,13 +3383,16 @@ export class PositionController extends Controller { _profile.org = getOrgFullName(pmWithOrg) ?? _null; // ถ้าไม่ใช่ตำแหน่งนั่งทับ (isSit = false) ถึงจะอัพเดทตำแหน่งในทะเบียนประวัติ if (!pmWithOrg.isSit) { - const selectedPos = (pmWithOrg as any).positions?.find((p: any) => p.positionIsSelected === true); + const selectedPos = (pmWithOrg as any).positions?.find( + (p: any) => p.positionIsSelected === true, + ); if (selectedPos) { _profile.position = selectedPos.positionName ?? _null; _profile.posTypeId = selectedPos.posTypeId ?? _null; _profile.posLevelId = selectedPos.posLevelId ?? _null; _profile.positionField = selectedPos.positionField ?? _null; - _profile.posExecutive = (selectedPos as any).posExecutive?.posExecutiveName ?? _null; + _profile.posExecutive = + (selectedPos as any).posExecutive?.posExecutiveName ?? _null; _profile.positionArea = selectedPos.positionArea ?? _null; _profile.positionExecutiveField = selectedPos.positionExecutiveField ?? _null; } @@ -3932,7 +3943,7 @@ export class PositionController extends Controller { */ @Post("profile/delete/{id}") async deleteHolder(@Path() id: string, @Request() request: RequestWithUser) { - await new permission().PermissionDelete(request, "SYS_ORG"); + await new permission().PermissionUpdate(request, "SYS_ORG"); const dataMaster = await this.posMasterRepository.findOne({ where: { id: id }, relations: ["positions", "orgRevision"],