From 5834958081bf3047a08dba528b3392f06fda599d Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Wed, 8 May 2024 14:03:42 +0700 Subject: [PATCH] fix isNull and fix Get{id} --- src/controllers/KpiPlanController.ts | 43 ++++++++++++++++++------- src/controllers/KpiRoleController.ts | 48 ++++++++++++++++++---------- 2 files changed, 63 insertions(+), 28 deletions(-) diff --git a/src/controllers/KpiPlanController.ts b/src/controllers/KpiPlanController.ts index c48c5c7..09b7f6a 100644 --- a/src/controllers/KpiPlanController.ts +++ b/src/controllers/KpiPlanController.ts @@ -340,8 +340,10 @@ export class kpiPlanController extends Controller { } const formattedData = { id: kpiPlan.id, - year: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.year, - round: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.durationKPI, + // year: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.year, + // round: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.durationKPI, + year: kpiPlan.kpiPeriod == null ? null : kpiPlan.year, + round: kpiPlan.kpiPeriod == null ? null : kpiPlan.period, kpiPeriodId: kpiPlan.kpiPeriodId, including: kpiPlan.including, includingName: kpiPlan.includingName, @@ -372,6 +374,7 @@ export class kpiPlanController extends Controller { strategyChild3: kpiPlan.strategyChild3Id, strategyChild4: kpiPlan.strategyChild4Id, strategyChild5: kpiPlan.strategyChild5Id, + documentInfoEvidence: kpiPlan.documentInfoEvidence, }; return new HttpSuccess(formattedData); } @@ -392,9 +395,9 @@ export class kpiPlanController extends Controller { period?: string | null; nodeId?: string | null; node?: number | null; - keyword?: string; - isAll?: boolean; - isNull?: boolean; + keyword?: string | null; + isAll?: boolean | false; + // isNull?: boolean | false; }, ) { let condition = ""; @@ -442,21 +445,37 @@ export class kpiPlanController extends Controller { } parameters.nodeId = `%${requestBody.nodeId}%`; } - if (requestBody.year && requestBody.period && requestBody.isNull === true) { - condition += ` AND (kpiPlan.year LIKE :year OR kpiPlan.year IS NULL) AND (kpiPlan.period LIKE :period OR kpiPlan.period IS NULL)`; - parameters.year = `%${requestBody.year}%`; - parameters.period = `%${requestBody.period}%`; - } + // if (requestBody.year && requestBody.period && requestBody.isNull === true) { + // condition += ` AND (kpiPlan.year LIKE :year OR kpiPlan.year IS NULL) AND (kpiPlan.period LIKE :period OR kpiPlan.period IS NULL)`; + // parameters.year = `%${requestBody.year}%`; + // parameters.period = `%${requestBody.period}%`; + // } const [kpiPlan, total] = await AppDataSource.getRepository(KpiPlan) .createQueryBuilder("kpiPlan") .leftJoinAndSelect("kpiPlan.kpiPeriod", "kpiPeriod") .andWhere(condition, parameters) + // .andWhere( + // requestBody.year && requestBody.period + // ? "kpiPlan.year LIKE :year AND kpiPlan.period LIKE :period" + // : "1=1", + // { + // year: `%${requestBody.year}%`, + // period: `%${requestBody.period}%`, + // }, + // ) .andWhere( - requestBody.isNull === false && requestBody.year && requestBody.period - ? "kpiPlan.year LIKE :year AND kpiPlan.period LIKE :period" + requestBody.year + ? "kpiPlan.year LIKE :year" : "1=1", { year: `%${requestBody.year}%`, + }, + ) + .andWhere( + requestBody.period + ? "kpiPlan.period LIKE :period" + : "1=1", + { period: `%${requestBody.period}%`, }, ) diff --git a/src/controllers/KpiRoleController.ts b/src/controllers/KpiRoleController.ts index a96b16d..964725d 100644 --- a/src/controllers/KpiRoleController.ts +++ b/src/controllers/KpiRoleController.ts @@ -342,9 +342,9 @@ export class kpiRoleController extends Controller { nodeId?: string | null; node?: number | null; position?: string | null; - keyword?: string; - isAll?: boolean; - isNull?: boolean; + keyword?: string | null; + isAll?: boolean | false; + // isNull?: boolean | false; }, ) { let condition = ""; @@ -392,11 +392,11 @@ export class kpiRoleController extends Controller { } parameters.nodeId = `%${requestBody.nodeId}%`; } - if (requestBody.year && requestBody.period && requestBody.isNull === true) { - condition += ` AND (kpiRole.year LIKE :year OR kpiRole.year IS NULL) AND (kpiRole.period LIKE :period OR kpiRole.period IS NULL)`; - parameters.year = `%${requestBody.year}%`; - parameters.period = `%${requestBody.period}%`; - } + // if (requestBody.year && requestBody.period && requestBody.isNull === true) { + // condition += ` AND (kpiRole.year LIKE :year OR kpiRole.year IS NULL) AND (kpiRole.period LIKE :period OR kpiRole.period IS NULL)`; + // parameters.year = `%${requestBody.year}%`; + // parameters.period = `%${requestBody.period}%`; + // } const [kpiRole, total] = await AppDataSource.getRepository(KpiRole) .createQueryBuilder("kpiRole") .leftJoinAndSelect("kpiRole.kpiPeriod", "kpiPeriod") @@ -416,15 +416,31 @@ export class kpiRoleController extends Controller { nodeId: requestBody.nodeId, }, ) + // .andWhere( + // requestBody.year && requestBody.period + // ? "kpiRole.year LIKE :year AND kpiRole.period LIKE :period" + // : "1=1", + // { + // year: `%${requestBody.year}%`, + // period: `%${requestBody.period}%`, + // }, + // ) .andWhere( - requestBody.isNull === false && requestBody.year && requestBody.period - ? "kpiRole.year LIKE :year AND kpiRole.period LIKE :period" - : "1=1", - { - year: `%${requestBody.year}%`, - period: `%${requestBody.period}%`, - }, - ) + requestBody.year + ? "kpiRole.year LIKE :year" + : "1=1", + { + year: `%${requestBody.year}%`, + }, + ) + .andWhere( + requestBody.period + ? "kpiRole.period LIKE :period" + : "1=1", + { + period: `%${requestBody.period}%`, + }, + ) .andWhere(requestBody.position != undefined ? "kpiRole.position LIKE :position" : "1=1", { position: `%${requestBody.position}%`, })