diff --git a/src/controllers/KpiUserDevelopmentController.ts b/src/controllers/KpiUserDevelopmentController.ts index e3d0aea..3b1757b 100644 --- a/src/controllers/KpiUserDevelopmentController.ts +++ b/src/controllers/KpiUserDevelopmentController.ts @@ -358,14 +358,65 @@ export class KpiUserDevelopmentController extends Controller { // evaluating?: boolean | null; }, ) { - await new permission().PermissionList(request, "SYS_RESULT"); + // await new permission().PermissionList(request, "SYS_RESULT"); let conditionFullName = "CONCAT(kpiUserEvaluation.prefix, kpiUserEvaluation.firstName, ' ', kpiUserEvaluation.lastName) LIKE :keyword"; + let _data = await new permission().PermissionOrgList(request,"SYS_RESULT"); const [kpiUserDevelopment, total] = await AppDataSource.getRepository(KpiUserDevelopment) .createQueryBuilder("kpiUserDevelopment") .leftJoinAndSelect("kpiUserDevelopment.kpiUserEvaluation", "kpiUserEvaluation") .leftJoinAndSelect("kpiUserEvaluation.kpiPeriod", "kpiPeriod") .where("kpiUserEvaluation.evaluationStatus = :status", { status: "KP7" }) + .andWhere( + _data.root != undefined && _data.root != null + ? _data.root[0] != null + ? `kpiUserEvaluation.orgId IN (:...root)` + : `kpiUserEvaluation.orgId is null` + : "1=1", + { + root: _data.root, + }, + ) + .andWhere( + _data.child1 != undefined && _data.child1 != null + ? _data.child1[0] != null + ? `kpiUserEvaluation.child1Id IN (:...child1)` + : `kpiUserEvaluation.child1Id is null` + : "1=1", + { + child1: _data.child1, + }, + ) + .andWhere( + _data.child2 != undefined && _data.child2 != null + ? _data.child2[0] != null + ? `kpiUserEvaluation.child2Id IN (:...child2)` + : `kpiUserEvaluation.child2Id is null` + : "1=1", + { + child2: _data.child2, + }, + ) + .andWhere( + _data.child3 != undefined && _data.child3 != null + ? _data.child3[0] != null + ? `kpiUserEvaluation.child3Id IN (:...child3)` + : `kpiUserEvaluation.child3Id is null` + : "1=1", + { + child3: _data.child3, + }, + ) + .andWhere( + _data.child4 != undefined && _data.child4 != null + ? _data.child4[0] != null + ? `kpiUserEvaluation.child4Id IN (:...child4)` + : `kpiUserEvaluation.child4Id is null` + : "1=1", + { + child4: _data.child4, + }, + ) .andWhere("kpiUserEvaluation.kpiPeriodId = :kpiPeriodId", { kpiPeriodId: requestBody.kpiPeriodId, }) diff --git a/src/controllers/KpiUserEvaluationController.ts b/src/controllers/KpiUserEvaluationController.ts index 1ac5555..27b4a49 100644 --- a/src/controllers/KpiUserEvaluationController.ts +++ b/src/controllers/KpiUserEvaluationController.ts @@ -214,11 +214,62 @@ export class KpiUserEvaluationController extends Controller { evaluating?: boolean | null; }, ) { - await new permission().PermissionList(request, "SYS_RESULT"); + // await new permission().PermissionList(request, "SYS_RESULT"); let conditionFullName = "CONCAT(kpiUserEvaluation.prefix, kpiUserEvaluation.firstName, ' ', kpiUserEvaluation.lastName) LIKE :keyword"; + let _data = await new permission().PermissionOrgList(request,"SYS_RESULT"); const [kpiUserEvaluation, total] = await AppDataSource.getRepository(KpiUserEvaluation) .createQueryBuilder("kpiUserEvaluation") + .andWhere( + _data.root != undefined && _data.root != null + ? _data.root[0] != null + ? `kpiUserEvaluation.orgId IN (:...root)` + : `kpiUserEvaluation.orgId is null` + : "1=1", + { + root: _data.root, + }, + ) + .andWhere( + _data.child1 != undefined && _data.child1 != null + ? _data.child1[0] != null + ? `kpiUserEvaluation.child1Id IN (:...child1)` + : `kpiUserEvaluation.child1Id is null` + : "1=1", + { + child1: _data.child1, + }, + ) + .andWhere( + _data.child2 != undefined && _data.child2 != null + ? _data.child2[0] != null + ? `kpiUserEvaluation.child2Id IN (:...child2)` + : `kpiUserEvaluation.child2Id is null` + : "1=1", + { + child2: _data.child2, + }, + ) + .andWhere( + _data.child3 != undefined && _data.child3 != null + ? _data.child3[0] != null + ? `kpiUserEvaluation.child3Id IN (:...child3)` + : `kpiUserEvaluation.child3Id is null` + : "1=1", + { + child3: _data.child3, + }, + ) + .andWhere( + _data.child4 != undefined && _data.child4 != null + ? _data.child4[0] != null + ? `kpiUserEvaluation.child4Id IN (:...child4)` + : `kpiUserEvaluation.child4Id is null` + : "1=1", + { + child4: _data.child4, + }, + ) .andWhere(requestBody.kpiPeriodId ? "kpiPeriodId LIKE :kpiPeriodId" : "1=1", { kpiPeriodId: requestBody.kpiPeriodId, })