diff --git a/src/controllers/KpiReasonController.ts b/src/controllers/KpiReasonController.ts index 72187d1..92882b6 100644 --- a/src/controllers/KpiReasonController.ts +++ b/src/controllers/KpiReasonController.ts @@ -84,14 +84,18 @@ export class kpiReasonController extends Controller { "ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", ); } - const kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonPlan(), requestBody); + 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 }, + }); + if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason; kpiUserEvaluationReason.status = kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "DAFT"; + : "DRAFT"; } else { kpiUserEvaluationReason.status = kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || @@ -168,10 +172,10 @@ export class kpiReasonController extends Controller { } kpiReason.status = - kpiReason.kpiUserPlanned.kpiUserEvaluation.commanderId == null || - kpiReason.kpiUserPlanned.kpiUserEvaluation.commanderId == "" + kpiReason.kpiUserPlanned.kpiUserEvaluation.evaluatorId == null || + kpiReason.kpiUserPlanned.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "COMMANDER"; + : "EVALUATOR"; kpiReason.reasonCommanderHigh = requestBody.reason; kpiReason.lastUpdateUserId = request.user.sub; kpiReason.lastUpdateFullName = request.user.name; @@ -256,13 +260,31 @@ export class kpiReasonController extends Controller { "ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", ); } - const kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonRole(), requestBody); + let kpiUserEvaluationReason = Object.assign(new KpiUserEvaluationReasonRole(), requestBody); kpiUserEvaluationReason.type = type.trim().toUpperCase(); - kpiUserEvaluationReason.status = - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" - ? "DONE" - : "EVALUATOR"; + // 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 }, + }); + if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason; + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "DRAFT"; + } else { + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "EVALUATOR"; + } + kpiUserEvaluationReason.kpiUserRoleId = id; kpiUserEvaluationReason.createdUserId = request.user.sub; kpiUserEvaluationReason.createdFullName = request.user.name; @@ -332,10 +354,10 @@ export class kpiReasonController extends Controller { } kpiReason.status = - kpiReason.kpiUserRole.kpiUserEvaluation.commanderId == null || - kpiReason.kpiUserRole.kpiUserEvaluation.commanderId == "" + kpiReason.kpiUserRole.kpiUserEvaluation.evaluatorId == null || + kpiReason.kpiUserRole.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "COMMANDER"; + : "EVALUATOR"; kpiReason.reasonCommanderHigh = requestBody.reason; kpiReason.lastUpdateUserId = request.user.sub; kpiReason.lastUpdateFullName = request.user.name; @@ -420,16 +442,33 @@ export class kpiReasonController extends Controller { "ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", ); } - const kpiUserEvaluationReason = Object.assign( + let kpiUserEvaluationReason = Object.assign( new KpiUserEvaluationReasonSpecial(), requestBody, ); kpiUserEvaluationReason.type = type.trim().toUpperCase(); - kpiUserEvaluationReason.status = - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" - ? "DONE" - : "EVALUATOR"; + // 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 }, + }); + if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason; + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "DRAFT"; + } else { + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "EVALUATOR"; + } kpiUserEvaluationReason.kpiUserSpecialId = id; kpiUserEvaluationReason.createdUserId = request.user.sub; kpiUserEvaluationReason.createdFullName = request.user.name; @@ -499,10 +538,10 @@ export class kpiReasonController extends Controller { } kpiReason.status = - kpiReason.kpiUserSpecial.kpiUserEvaluation.commanderId == null || - kpiReason.kpiUserSpecial.kpiUserEvaluation.commanderId == "" + kpiReason.kpiUserSpecial.kpiUserEvaluation.evaluatorId == null || + kpiReason.kpiUserSpecial.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "COMMANDER"; + : "EVALUATOR"; kpiReason.reasonCommanderHigh = requestBody.reason; kpiReason.lastUpdateUserId = request.user.sub; kpiReason.lastUpdateFullName = request.user.name; @@ -587,16 +626,33 @@ export class kpiReasonController extends Controller { "ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", ); } - const kpiUserEvaluationReason = Object.assign( + let kpiUserEvaluationReason = Object.assign( new KpiUserEvaluationReasonDevelopment(), requestBody, ); kpiUserEvaluationReason.type = type.trim().toUpperCase(); - kpiUserEvaluationReason.status = - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" - ? "DONE" - : "EVALUATOR"; + // 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 }, + }); + if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason; + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "DRAFT"; + } else { + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "EVALUATOR"; + } kpiUserEvaluationReason.kpiUserDevelopmentId = id; kpiUserEvaluationReason.createdUserId = request.user.sub; kpiUserEvaluationReason.createdFullName = request.user.name; @@ -648,7 +704,7 @@ export class kpiReasonController extends Controller { * * @param {string} id Guid, *Id คนประเมิน (USER) */ - @Put("problem/development/user/{id}") + @Put("problem/developmentsend/user/{id}") async sendKpiDevelopmentReason( @Path() id: string, @Body() requestBody: updateKpiUserReasonEvaluation, @@ -666,10 +722,10 @@ export class kpiReasonController extends Controller { } kpiReason.status = - kpiReason.kpiUserDevelopment.kpiUserEvaluation.commanderId == null || - kpiReason.kpiUserDevelopment.kpiUserEvaluation.commanderId == "" + kpiReason.kpiUserDevelopment.kpiUserEvaluation.evaluatorId == null || + kpiReason.kpiUserDevelopment.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "COMMANDER"; + : "EVALUATOR"; kpiReason.reasonCommanderHigh = requestBody.reason; kpiReason.lastUpdateUserId = request.user.sub; kpiReason.lastUpdateFullName = request.user.name; @@ -758,16 +814,33 @@ export class kpiReasonController extends Controller { "ไม่พบข้อมูลรายการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", ); } - const kpiUserEvaluationReason = Object.assign( + let kpiUserEvaluationReason = Object.assign( new KpiUserEvaluationReasonCapacity(), requestBody, ); kpiUserEvaluationReason.type = type.trim().toUpperCase(); - kpiUserEvaluationReason.status = - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || - kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" - ? "DONE" - : "EVALUATOR"; + // 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 }, + }); + if (_kpiUserEvaluationReason != null) kpiUserEvaluationReason = _kpiUserEvaluationReason; + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "DRAFT"; + } else { + kpiUserEvaluationReason.status = + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == null || + kpiUserEvaluation.kpiUserEvaluation.evaluatorId == "" + ? "DONE" + : "EVALUATOR"; + } kpiUserEvaluationReason.kpiUserCapacityId = id; kpiUserEvaluationReason.createdUserId = request.user.sub; kpiUserEvaluationReason.createdFullName = request.user.name; @@ -819,7 +892,7 @@ export class kpiReasonController extends Controller { * * @param {string} id Guid, *Id คนประเมิน (USER) */ - @Put("problem/capacity/user/{id}") + @Put("problem/capacitysend/user/{id}") async sendKpiCapacityReason( @Path() id: string, @Body() requestBody: updateKpiUserReasonEvaluation, @@ -837,10 +910,10 @@ export class kpiReasonController extends Controller { } kpiReason.status = - kpiReason.kpiUserCapacity.kpiUserEvaluation.commanderId == null || - kpiReason.kpiUserCapacity.kpiUserEvaluation.commanderId == "" + kpiReason.kpiUserCapacity.kpiUserEvaluation.evaluatorId == null || + kpiReason.kpiUserCapacity.kpiUserEvaluation.evaluatorId == "" ? "DONE" - : "COMMANDER"; + : "EVALUATOR"; kpiReason.reasonCommanderHigh = requestBody.reason; kpiReason.lastUpdateUserId = request.user.sub; kpiReason.lastUpdateFullName = request.user.name;