diff --git a/src/controllers/OrganizationDotnetController.ts b/src/controllers/OrganizationDotnetController.ts index 006cf6aa..23046b3b 100644 --- a/src/controllers/OrganizationDotnetController.ts +++ b/src/controllers/OrganizationDotnetController.ts @@ -2611,7 +2611,8 @@ export class OrganizationDotnetController extends Controller { currentZipCode: item.currentZipCode, dutyTimeId: item.dutyTimeId, dutyTimeEffectiveDate: item.dutyTimeEffectiveDate, - positionLevel: item.profileSalary.length > 0 ? item.profileSalary[0].positionLevel : null, + positionLevel: item.posLevel?.posLevelName ?? null, + positionType: item.posType?.posTypeName ?? null, posNo: shortName, }; }), @@ -2738,7 +2739,8 @@ export class OrganizationDotnetController extends Controller { currentZipCode: item.currentZipCode, dutyTimeId: item.dutyTimeId, dutyTimeEffectiveDate: item.dutyTimeEffectiveDate, - positionLevel: item.profileSalary.length > 0 ? item.profileSalary[0].positionLevel : null, + positionLevel: item.posLevel?.posLevelName ?? null, + positionType: item.posType?.posTypeName ?? null, posNo: shortName, }; }), @@ -2758,13 +2760,66 @@ export class OrganizationDotnetController extends Controller { @Request() req: RequestWithUser, @Body() body: { - node: string; + node: number; nodeId: string; + isAll: boolean; }, ) { + let typeCondition: any = {}; + if (body.isAll == false) { + if (body.node === 0) { + typeCondition = { + orgRootId: body.nodeId, + orgChild1Id: IsNull(), + }; + } else if (body.node === 1) { + typeCondition = { + orgChild1Id: body.nodeId, + orgChild2Id: IsNull(), + }; + } else if (body.node === 2) { + typeCondition = { + orgChild2Id: body.nodeId, + orgChild3Id: IsNull(), + }; + } else if (body.node === 3) { + typeCondition = { + orgChild3Id: body.nodeId, + orgChild4Id: IsNull(), + }; + } else if (body.node === 4) { + typeCondition = { + orgChild4Id: body.nodeId, + }; + } + } else { + if (body.node === 0) { + typeCondition = { + orgRootId: body.nodeId, + }; + } else if (body.node === 1) { + typeCondition = { + orgChild1Id: body.nodeId, + }; + } else if (body.node === 2) { + typeCondition = { + orgChild2Id: body.nodeId, + }; + } else if (body.node === 3) { + typeCondition = { + orgChild3Id: body.nodeId, + }; + } else if (body.node === 4) { + typeCondition = { + orgChild4Id: body.nodeId, + }; + } + } const profile = await this.profileRepo.find({ - where: { keycloak: Not(IsNull()) || Not(""), isLeave: false }, + where: { keycloak: Not(IsNull()) || Not(""), isLeave: false, current_holders: typeCondition }, relations: [ + "posType", + "posLevel", "current_holders", "current_holders.orgRoot", "current_holders.orgChild1", @@ -2813,6 +2868,9 @@ export class OrganizationDotnetController extends Controller { lastName: item.lastName, keycloak: item.keycloak, posNo: shortName, + position: item.position, + positionLevel: item.posLevel?.posLevelName ?? null, + positionType: item.posType?.posTypeName ?? null, }; }), ); @@ -2831,13 +2889,66 @@ export class OrganizationDotnetController extends Controller { @Request() req: RequestWithUser, @Body() body: { - node: string; + node: number; nodeId: string; + isAll: boolean; }, ) { + let typeCondition: any = {}; + if (body.isAll == false) { + if (body.node === 0) { + typeCondition = { + orgRootId: body.nodeId, + orgChild1Id: IsNull(), + }; + } else if (body.node === 1) { + typeCondition = { + orgChild1Id: body.nodeId, + orgChild2Id: IsNull(), + }; + } else if (body.node === 2) { + typeCondition = { + orgChild2Id: body.nodeId, + orgChild3Id: IsNull(), + }; + } else if (body.node === 3) { + typeCondition = { + orgChild3Id: body.nodeId, + orgChild4Id: IsNull(), + }; + } else if (body.node === 4) { + typeCondition = { + orgChild4Id: body.nodeId, + }; + } + } else { + if (body.node === 0) { + typeCondition = { + orgRootId: body.nodeId, + }; + } else if (body.node === 1) { + typeCondition = { + orgChild1Id: body.nodeId, + }; + } else if (body.node === 2) { + typeCondition = { + orgChild2Id: body.nodeId, + }; + } else if (body.node === 3) { + typeCondition = { + orgChild3Id: body.nodeId, + }; + } else if (body.node === 4) { + typeCondition = { + orgChild4Id: body.nodeId, + }; + } + } const profile = await this.profileEmpRepo.find({ - where: { keycloak: Not(IsNull()) || Not(""), isLeave: false }, + where: { keycloak: Not(IsNull()) || Not(""), isLeave: false, current_holders: typeCondition }, relations: [ + "posType", + "posLevel", "current_holders", "current_holders.orgRoot", "current_holders.orgChild1", @@ -2887,6 +2998,9 @@ export class OrganizationDotnetController extends Controller { citizenId: item.citizenId, keycloak: item.keycloak, posNo: shortName, + position: item.position, + positionLevel: item.posLevel?.posLevelName ?? null, + positionType: item.posType?.posTypeName ?? null, }; }), );