diff --git a/src/controllers/KpiUserEvaluationController.ts b/src/controllers/KpiUserEvaluationController.ts index 7c2ae5b..7bc8fab 100644 --- a/src/controllers/KpiUserEvaluationController.ts +++ b/src/controllers/KpiUserEvaluationController.ts @@ -51,16 +51,19 @@ export class KpiUserEvaluationController extends Controller { * @summary รายการประเมินผลการปฏิบัติราชการระดับบุคคลทั้งหมด * */ - @Get("admin") + @Post("admin") async listKpiAdminEvaluation( @Request() request: { user: Record }, - @Query("page") page: number = 1, - @Query("pageSize") pageSize: number = 10, - @Query("kpiPeriodId") kpiPeriodId?: string, - @Query("keyword") keyword?: string, - @Query("status") status?: string, - @Query("results") results?: string, - @Query("reqedit") reqedit?: string, + @Body() + requestBody: { + page: number; + pageSize: number; + kpiPeriodId?: string; + keyword?: string; + status?: string | null; + results?: string | null; + reqedit?: string | null; + }, ) { let profileId: any = null; await new CallAPI() @@ -73,22 +76,31 @@ export class KpiUserEvaluationController extends Controller { }); const [kpiUserEvaluation, total] = await AppDataSource.getRepository(KpiUserEvaluation) .createQueryBuilder("kpiUserEvaluation") - .andWhere(kpiPeriodId ? "kpiPeriodId LIKE :kpiPeriodId" : "1=1", { - kpiPeriodId: kpiPeriodId, - }) - .andWhere(status != null && status != undefined ? "evaluationStatus LIKE :status" : "1=1", { - status: status, + .andWhere(requestBody.kpiPeriodId ? "kpiPeriodId LIKE :kpiPeriodId" : "1=1", { + kpiPeriodId: requestBody.kpiPeriodId, }) .andWhere( - results != null && results != undefined ? "evaluationResults LIKE :results" : "1=1", + requestBody.status != null && requestBody.status != undefined + ? "evaluationStatus LIKE :status" + : "1=1", { - results: results, + status: requestBody.status, }, ) .andWhere( - reqedit != null && reqedit != undefined ? "evaluationReqEdit LIKE :reqedit" : "1=1", + requestBody.results != null && requestBody.results != undefined + ? "evaluationResults LIKE :results" + : "1=1", { - reqedit: reqedit, + results: requestBody.results, + }, + ) + .andWhere( + requestBody.reqedit != null && requestBody.reqedit != undefined + ? "evaluationReqEdit LIKE :reqedit" + : "1=1", + { + reqedit: requestBody.reqedit, }, ) .andWhere( @@ -106,14 +118,20 @@ export class KpiUserEvaluationController extends Controller { ) .andWhere( new Brackets((qb) => { - qb.orWhere("kpiUserEvaluation.prefix LIKE :keyword", { keyword: `%${keyword}%` }) - .orWhere("kpiUserEvaluation.firstName LIKE :keyword", { keyword: `%${keyword}%` }) - .orWhere("kpiUserEvaluation.lastName LIKE :keyword", { keyword: `%${keyword}%` }); + qb.orWhere("kpiUserEvaluation.prefix LIKE :keyword", { + keyword: `%${requestBody.keyword}%`, + }) + .orWhere("kpiUserEvaluation.firstName LIKE :keyword", { + keyword: `%${requestBody.keyword}%`, + }) + .orWhere("kpiUserEvaluation.lastName LIKE :keyword", { + keyword: `%${requestBody.keyword}%`, + }); }), ) .orderBy("kpiUserEvaluation.createdAt", "ASC") - .skip((page - 1) * pageSize) - .take(pageSize) + .skip((requestBody.page - 1) * requestBody.pageSize) + .take(requestBody.pageSize) .getManyAndCount(); const mapData = kpiUserEvaluation.map((item) => ({