no message

This commit is contained in:
Kittapath 2024-05-17 14:17:01 +07:00
parent 977b88875f
commit 22f7e01ea8
2 changed files with 127 additions and 87 deletions

View file

@ -78,25 +78,36 @@ export class kpiReasonController extends Controller {
relations: ["kpiUserEvaluation"],
});
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
let kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonPlan(), requestBody);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
if (type.trim().toUpperCase() == "PROBLEM") {
const _kpiUserEvaluationReason = await this.kpiUserEvaluationReasonPlan.findOne({
where: { id: id },
relations: ["kpiUserPlanned", "kpiUserPlanned.kpiUserEvaluation"],
});
if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason;
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
if (_kpiUserEvaluationReason != null) {
kpiUserEvaluationReason = _kpiUserEvaluationReason;
Object.assign(kpiUserEvaluationReason, requestBody);
kpiUserEvaluationReason.status =
kpiUserEvaluationReason.kpiUserPlanned.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluationReason.kpiUserPlanned.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
} else {
kpiUserEvaluationReason.status =
kpiUserEvaluation == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
}
} else {
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
@ -176,7 +187,7 @@ export class kpiReasonController extends Controller {
kpiReason.kpiUserPlanned.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "EVALUATOR";
kpiReason.reasonCommanderHigh = requestBody.reason;
kpiReason.reason = requestBody.reason;
kpiReason.lastUpdateUserId = request.user.sub;
kpiReason.lastUpdateFullName = request.user.name;
await this.kpiUserEvaluationReasonPlan.save(kpiReason);
@ -254,30 +265,36 @@ export class kpiReasonController extends Controller {
where: { id: id },
relations: ["kpiUserEvaluation"],
});
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
let kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonRole(), requestBody);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
// kpiUserEvaluationReason.status =
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
// ? "DONE"
// : "EVALUATOR";
if (type.trim().toUpperCase() == "PROBLEM") {
const _kpiUserEvaluationReason = await this.kpiUserEvaluationReasonRole.findOne({
where: { id: id },
relations: ["kpiUserRole", "kpiUserRole.kpiUserEvaluation"],
});
if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason;
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
if (_kpiUserEvaluationReason != null) {
kpiUserEvaluationReason = _kpiUserEvaluationReason;
Object.assign(kpiUserEvaluationReason, requestBody);
kpiUserEvaluationReason.status =
kpiUserEvaluationReason.kpiUserRole.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluationReason.kpiUserRole.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
} else {
kpiUserEvaluationReason.status =
kpiUserEvaluation == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
}
} else {
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
@ -358,7 +375,7 @@ export class kpiReasonController extends Controller {
kpiReason.kpiUserRole.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "EVALUATOR";
kpiReason.reasonCommanderHigh = requestBody.reason;
kpiReason.reason = requestBody.reason;
kpiReason.lastUpdateUserId = request.user.sub;
kpiReason.lastUpdateFullName = request.user.name;
await this.kpiUserEvaluationReasonRole.save(kpiReason);
@ -436,33 +453,39 @@ export class kpiReasonController extends Controller {
where: { id: id },
relations: ["kpiUserEvaluation"],
});
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
let kpiUserEvaluationReason = Object.assign(
new KpiUserEvaluationReasonSpecial(),
requestBody,
);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
// kpiUserEvaluationReason.status =
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
// ? "DONE"
// : "EVALUATOR";
if (type.trim().toUpperCase() == "PROBLEM") {
const _kpiUserEvaluationReason = await this.kpiUserEvaluationReasonSpecial.findOne({
where: { id: id },
relations: ["kpiUserSpecial", "kpiUserSpecial.kpiUserEvaluation"],
});
if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason;
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
if (_kpiUserEvaluationReason != null) {
kpiUserEvaluationReason = _kpiUserEvaluationReason;
Object.assign(kpiUserEvaluationReason, requestBody);
kpiUserEvaluationReason.status =
kpiUserEvaluationReason.kpiUserSpecial.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluationReason.kpiUserSpecial.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
} else {
kpiUserEvaluationReason.status =
kpiUserEvaluation == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
}
} else {
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
@ -542,7 +565,7 @@ export class kpiReasonController extends Controller {
kpiReason.kpiUserSpecial.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "EVALUATOR";
kpiReason.reasonCommanderHigh = requestBody.reason;
kpiReason.reason = requestBody.reason;
kpiReason.lastUpdateUserId = request.user.sub;
kpiReason.lastUpdateFullName = request.user.name;
await this.kpiUserEvaluationReasonSpecial.save(kpiReason);
@ -620,33 +643,39 @@ export class kpiReasonController extends Controller {
where: { id: id },
relations: ["kpiUserEvaluation"],
});
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
let kpiUserEvaluationReason = Object.assign(
new KpiUserEvaluationReasonDevelopment(),
requestBody,
);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
// kpiUserEvaluationReason.status =
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
// ? "DONE"
// : "EVALUATOR";
if (type.trim().toUpperCase() == "PROBLEM") {
const _kpiUserEvaluationReason = await this.kpiUserEvaluationReasonDevelopment.findOne({
where: { id: id },
relations: ["kpiUserDevelopment", "kpiUserDevelopment.kpiUserEvaluation"],
});
if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason;
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
if (_kpiUserEvaluationReason != null) {
kpiUserEvaluationReason = _kpiUserEvaluationReason;
Object.assign(kpiUserEvaluationReason, requestBody);
kpiUserEvaluationReason.status =
kpiUserEvaluationReason.kpiUserDevelopment.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluationReason.kpiUserDevelopment.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
} else {
kpiUserEvaluationReason.status =
kpiUserEvaluation == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
}
} else {
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
@ -726,7 +755,7 @@ export class kpiReasonController extends Controller {
kpiReason.kpiUserDevelopment.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "EVALUATOR";
kpiReason.reasonCommanderHigh = requestBody.reason;
kpiReason.reason = requestBody.reason;
kpiReason.lastUpdateUserId = request.user.sub;
kpiReason.lastUpdateFullName = request.user.name;
await this.kpiUserEvaluationReasonDevelopment.save(kpiReason);
@ -808,33 +837,39 @@ export class kpiReasonController extends Controller {
where: { id: id },
relations: ["kpiUserEvaluation"],
});
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
let kpiUserEvaluationReason = Object.assign(
new KpiUserEvaluationReasonCapacity(),
requestBody,
);
kpiUserEvaluationReason.type = type.trim().toUpperCase();
// kpiUserEvaluationReason.status =
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
// kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
// ? "DONE"
// : "EVALUATOR";
if (type.trim().toUpperCase() == "PROBLEM") {
const _kpiUserEvaluationReason = await this.kpiUserEvaluationReasonCapacity.findOne({
where: { id: id },
relations: ["kpiUserCapacity", "kpiUserCapacity.kpiUserEvaluation"],
});
if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason;
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
if (_kpiUserEvaluationReason != null) {
kpiUserEvaluationReason = _kpiUserEvaluationReason;
Object.assign(kpiUserEvaluationReason, requestBody);
kpiUserEvaluationReason.status =
kpiUserEvaluationReason.kpiUserCapacity.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluationReason.kpiUserCapacity.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
} else {
kpiUserEvaluationReason.status =
kpiUserEvaluation == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "DRAFT";
}
} else {
if (!kpiUserEvaluation) {
throw new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้",
);
}
kpiUserEvaluationReason.status =
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null ||
kpiUserEvaluation.kpiUserEvaluation.evaluatorId == ""
@ -914,7 +949,7 @@ export class kpiReasonController extends Controller {
kpiReason.kpiUserCapacity.kpiUserEvaluation.evaluatorId == ""
? "DONE"
: "EVALUATOR";
kpiReason.reasonCommanderHigh = requestBody.reason;
kpiReason.reason = requestBody.reason;
kpiReason.lastUpdateUserId = request.user.sub;
kpiReason.lastUpdateFullName = request.user.name;
await this.kpiUserEvaluationReasonCapacity.save(kpiReason);

View file

@ -64,6 +64,7 @@ export class KpiUserEvaluationController extends Controller {
status?: string | null;
results?: string | null;
reqedit?: string | null;
evaluating?: boolean | null;
},
) {
let profileId: any = null;
@ -91,8 +92,12 @@ export class KpiUserEvaluationController extends Controller {
requestBody.status != null && requestBody.status != undefined
? 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`
: requestBody.status.trim().toUpperCase() == "EVALUATING_EVALUATOR"
? requestBody.evaluating == null || requestBody.evaluating == undefined
? `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`
: requestBody.evaluating == true
? `evaluationStatus LIKE CASE WHEN evaluatorId = "${profileId}" THEN "EVALUATING_EVALUATOR" ELSE "${requestBody.status.trim().toUpperCase()}" END`
: `evaluationStatus LIKE CASE WHEN commanderId = "${profileId}" THEN "EVALUATING_COMMANDER" WHEN commanderHighId = "${profileId}" THEN "EVALUATING_COMMANDER_HIGH" ELSE "${requestBody.status.trim().toUpperCase()}" END`
: "evaluationStatus LIKE :status"
: "1=1",
{