diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index 284b5ba..49aca62 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -1,6 +1,6 @@ import { Controller, Get, Post, Route, Security, Tags, Body, Path, Request } from "tsoa"; import { AppDataSource } from "../database/data-source"; -import { In } from "typeorm"; +import { In, Not } from "typeorm"; import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatusCode from "../interfaces/http-status"; @@ -77,7 +77,7 @@ export class ReportController extends Controller { where: { year: data.year, durationKPI: "OCT", - isActive: true, + // isActive: true, }, }); period2 = _period2 @@ -89,7 +89,7 @@ export class ReportController extends Controller { where: { year: data.year, durationKPI: "APR", - isActive: true, + // isActive: true, }, }); period1 = _period1 @@ -1284,7 +1284,7 @@ export class ReportController extends Controller { where: { year: period_.year, durationKPI: "OCT", - isActive: true, + // isActive: true, }, }); period2 = _period2 @@ -1296,7 +1296,7 @@ export class ReportController extends Controller { where: { year: period_.year, durationKPI: "APR", - isActive: true, + // isActive: true, }, }); period1 = _period1 @@ -1395,12 +1395,45 @@ export class ReportController extends Controller { posLevel: userInfo ? userInfo[0]?.posLevelName : "-", period1: period1 ? Extension.ToThaiNumber(period1) : "-", period2: period2 ? Extension.ToThaiNumber(period2) : "-", - developments: formattedUserDevelopmentLists ? formattedUserDevelopmentLists : [{}], + developments: formattedUserDevelopmentLists + ? formattedUserDevelopmentLists + : [{ + no:"-", + name:"-", + target:"-", + summary:"-" + }], }; } if (requestBody.type == "KPI9") { templateName = "KPI9"; reportName = "KPI9"; + if(data && data.kpiUserEvaluations.length == 0) { + //แก้ไขกรณีมีผู้ประเมินที่มีผลการประเมินดีเด่น แต่ RootId ไม่ตรงกับหน่วยงานที่ filter + let userEvaInRoot: any + let userEvaOutRoot: any [] + userEvaInRoot = await this.kpiUserEvaluationRepository.findOne({ + select: ["org"], + where: { + kpiPeriodId: String(requestBody.periodId), + orgId: String(requestBody.root), + }, + }); + if(userEvaInRoot) { + userEvaOutRoot = await this.kpiUserEvaluationRepository.find({ + where: { + kpiPeriodId: String(requestBody.periodId), + orgId: Not(String(requestBody.root)), + org: userEvaInRoot.org, + evaluationStatus: "KP7", + }, + }); + if(userEvaOutRoot.length > 0) { + data.kpiUserEvaluations = userEvaOutRoot + } + } + } + const userEvaluations_ = data.kpiUserEvaluations.length > 0 ? data.kpiUserEvaluations @@ -1426,6 +1459,7 @@ export class ReportController extends Controller { posLevelName: "-", evaluationResults: "-", }]; + formattedData = { root: data && data.rootName != null