fix isNull and fix Get{id}

This commit is contained in:
AdisakKanthawilang 2024-05-08 14:03:42 +07:00
parent d632d5e10b
commit 5834958081
2 changed files with 63 additions and 28 deletions

View file

@ -340,8 +340,10 @@ export class kpiPlanController extends Controller {
} }
const formattedData = { const formattedData = {
id: kpiPlan.id, id: kpiPlan.id,
year: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.year, // year: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.year,
round: kpiPlan.kpiPeriod == null ? null : kpiPlan.kpiPeriod.durationKPI, // 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, kpiPeriodId: kpiPlan.kpiPeriodId,
including: kpiPlan.including, including: kpiPlan.including,
includingName: kpiPlan.includingName, includingName: kpiPlan.includingName,
@ -372,6 +374,7 @@ export class kpiPlanController extends Controller {
strategyChild3: kpiPlan.strategyChild3Id, strategyChild3: kpiPlan.strategyChild3Id,
strategyChild4: kpiPlan.strategyChild4Id, strategyChild4: kpiPlan.strategyChild4Id,
strategyChild5: kpiPlan.strategyChild5Id, strategyChild5: kpiPlan.strategyChild5Id,
documentInfoEvidence: kpiPlan.documentInfoEvidence,
}; };
return new HttpSuccess(formattedData); return new HttpSuccess(formattedData);
} }
@ -392,9 +395,9 @@ export class kpiPlanController extends Controller {
period?: string | null; period?: string | null;
nodeId?: string | null; nodeId?: string | null;
node?: number | null; node?: number | null;
keyword?: string; keyword?: string | null;
isAll?: boolean; isAll?: boolean | false;
isNull?: boolean; // isNull?: boolean | false;
}, },
) { ) {
let condition = ""; let condition = "";
@ -442,21 +445,37 @@ export class kpiPlanController extends Controller {
} }
parameters.nodeId = `%${requestBody.nodeId}%`; parameters.nodeId = `%${requestBody.nodeId}%`;
} }
if (requestBody.year && requestBody.period && requestBody.isNull === true) { // 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)`; // 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.year = `%${requestBody.year}%`;
parameters.period = `%${requestBody.period}%`; // parameters.period = `%${requestBody.period}%`;
} // }
const [kpiPlan, total] = await AppDataSource.getRepository(KpiPlan) const [kpiPlan, total] = await AppDataSource.getRepository(KpiPlan)
.createQueryBuilder("kpiPlan") .createQueryBuilder("kpiPlan")
.leftJoinAndSelect("kpiPlan.kpiPeriod", "kpiPeriod") .leftJoinAndSelect("kpiPlan.kpiPeriod", "kpiPeriod")
.andWhere(condition, parameters) .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( .andWhere(
requestBody.isNull === false && requestBody.year && requestBody.period requestBody.year
? "kpiPlan.year LIKE :year AND kpiPlan.period LIKE :period" ? "kpiPlan.year LIKE :year"
: "1=1", : "1=1",
{ {
year: `%${requestBody.year}%`, year: `%${requestBody.year}%`,
},
)
.andWhere(
requestBody.period
? "kpiPlan.period LIKE :period"
: "1=1",
{
period: `%${requestBody.period}%`, period: `%${requestBody.period}%`,
}, },
) )

View file

@ -342,9 +342,9 @@ export class kpiRoleController extends Controller {
nodeId?: string | null; nodeId?: string | null;
node?: number | null; node?: number | null;
position?: string | null; position?: string | null;
keyword?: string; keyword?: string | null;
isAll?: boolean; isAll?: boolean | false;
isNull?: boolean; // isNull?: boolean | false;
}, },
) { ) {
let condition = ""; let condition = "";
@ -392,11 +392,11 @@ export class kpiRoleController extends Controller {
} }
parameters.nodeId = `%${requestBody.nodeId}%`; parameters.nodeId = `%${requestBody.nodeId}%`;
} }
if (requestBody.year && requestBody.period && requestBody.isNull === true) { // 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)`; // 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.year = `%${requestBody.year}%`;
parameters.period = `%${requestBody.period}%`; // parameters.period = `%${requestBody.period}%`;
} // }
const [kpiRole, total] = await AppDataSource.getRepository(KpiRole) const [kpiRole, total] = await AppDataSource.getRepository(KpiRole)
.createQueryBuilder("kpiRole") .createQueryBuilder("kpiRole")
.leftJoinAndSelect("kpiRole.kpiPeriod", "kpiPeriod") .leftJoinAndSelect("kpiRole.kpiPeriod", "kpiPeriod")
@ -416,15 +416,31 @@ export class kpiRoleController extends Controller {
nodeId: requestBody.nodeId, 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( .andWhere(
requestBody.isNull === false && requestBody.year && requestBody.period requestBody.year
? "kpiRole.year LIKE :year AND kpiRole.period LIKE :period" ? "kpiRole.year LIKE :year"
: "1=1", : "1=1",
{ {
year: `%${requestBody.year}%`, year: `%${requestBody.year}%`,
period: `%${requestBody.period}%`, },
}, )
) .andWhere(
requestBody.period
? "kpiRole.period LIKE :period"
: "1=1",
{
period: `%${requestBody.period}%`,
},
)
.andWhere(requestBody.position != undefined ? "kpiRole.position LIKE :position" : "1=1", { .andWhere(requestBody.position != undefined ? "kpiRole.position LIKE :position" : "1=1", {
position: `%${requestBody.position}%`, position: `%${requestBody.position}%`,
}) })