search by tab

This commit is contained in:
Kittapath 2024-05-13 18:14:08 +07:00
parent 3c50519e46
commit 00c1021c9b

View file

@ -75,6 +75,13 @@ export class KpiUserEvaluationController extends Controller {
.catch((x) => {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลในทะเบียนประวัติ");
});
// let role = "EVALUATOR";
// if (profileId == item.commanderId) {
// role = "COMMANDER";
// } else if (profileId == item.commanderHighId) {
// role = "COMMANDERHIGH";
// }
const [kpiUserEvaluation, total] = await AppDataSource.getRepository(KpiUserEvaluation)
.createQueryBuilder("kpiUserEvaluation")
.andWhere(requestBody.kpiPeriodId ? "kpiPeriodId LIKE :kpiPeriodId" : "1=1", {
@ -82,10 +89,17 @@ export class KpiUserEvaluationController extends Controller {
})
.andWhere(
requestBody.status != null && requestBody.status != undefined
? "evaluationStatus LIKE :status"
? requestBody.status.trim().toUpperCase() == "NEW"
? `evaluationStatus LIKE CASE WHEN evaluatorId = "${profileId}" THEN "NEW_EVALUATOR" WHEN commanderId = "${profileId}" THEN "NEW_COMMANDER" WHEN commanderHighId = "${profileId}" THEN "NEW_COMMANDER_HIGH" ELSE "${requestBody.status.trim().toUpperCase()}" END`
: requestBody.status.trim().toUpperCase() == "EVALUATING"
? `evaluationStatus LIKE CASE WHEN evaluatorId = "${profileId}" THEN "EVALUATING_EVALUATOR" WHEN commanderId = "${profileId}" THEN "EVALUATING_COMMANDER" WHEN commanderHighId = "${profileId}" THEN "EVALUATING_COMMANDER_HIGH" ELSE "${requestBody.status.trim().toUpperCase()}" END`
: "evaluationStatus LIKE :status"
: "1=1",
{
status: requestBody.status,
status:
requestBody.status == null || requestBody.status == undefined
? null
: requestBody.status.trim().toUpperCase(),
},
)
.andWhere(
@ -93,27 +107,35 @@ export class KpiUserEvaluationController extends Controller {
? "evaluationResults LIKE :results"
: "1=1",
{
results: requestBody.results,
results:
requestBody.results == null || requestBody.results == undefined
? null
: requestBody.results.trim().toUpperCase(),
},
)
.andWhere(
requestBody.reqedit != null && requestBody.reqedit != undefined
? "evaluationReqEdit LIKE :reqedit"
? requestBody.reqedit.trim().toUpperCase() == "NEW"
? `evaluationReqEdit LIKE CASE WHEN evaluatorId = "${profileId}" THEN "EVALUATOR" WHEN commanderId = "${profileId}" THEN "COMMANDER" WHEN commanderHighId = "${profileId}" THEN "COMMANDER_HIGH" ELSE "${requestBody.reqedit.trim().toUpperCase()}" END`
: "evaluationReqEdit LIKE :reqedit"
: "1=1",
{
reqedit: requestBody.reqedit,
reqedit:
requestBody.reqedit == null || requestBody.reqedit == undefined
? null
: requestBody.reqedit.trim().toUpperCase(),
},
)
.andWhere(
new Brackets((qb) => {
qb.orWhere("kpiUserEvaluation.evaluatorId LIKE :profileId", {
profileId: `%${profileId}%`,
profileId: `${profileId}`,
})
.orWhere("kpiUserEvaluation.commanderId LIKE :profileId", {
profileId: `%${profileId}%`,
profileId: `${profileId}`,
})
.orWhere("kpiUserEvaluation.commanderHighId LIKE :profileId", {
profileId: `%${profileId}%`,
profileId: `${profileId}`,
});
}),
)