diff --git a/src/controllers/KpiUserCapacityController.ts b/src/controllers/KpiUserCapacityController.ts index dc7c2cd..72af22b 100644 --- a/src/controllers/KpiUserCapacityController.ts +++ b/src/controllers/KpiUserCapacityController.ts @@ -22,7 +22,7 @@ import HttpError from "../interfaces/http-error"; import HttpStatusCode from "../interfaces/http-status"; import { KpiCapacity } from "../entities/kpiCapacity"; import { KpiUserEvaluation } from "../entities/kpiUserEvaluation"; -import { KpiUserCapacity, } from "../entities/kpiUserCapacity"; +import { KpiUserCapacity, KpiUserCapacityDataPoint} from "../entities/kpiUserCapacity"; import { Like, In } from "typeorm"; import { Double } from "typeorm/browser"; @@ -52,7 +52,7 @@ export class KpiUserCapacityController extends Controller { kpiUserEvaluationId: string; kpiCapacityId: string; level: string; - point: number; + // point: number; weight: number; summary: Double }, @@ -100,7 +100,7 @@ export class KpiUserCapacityController extends Controller { kpiUserEvaluationId: string; kpiCapacityId: string; level: string; - point: number; + // point: number; weight: number; summary: Double }, @@ -220,10 +220,38 @@ export class KpiUserCapacityController extends Controller { if (!kpiUserCapacity) { throw new HttpError( HttpStatusCode.NOT_FOUND, - "ไม่พบข้อมูลการประเมินผลการปฏิบัติราชการระดับบุคคลนี้", + "ไม่พบข้อมูลองค์ประกอบที่ 2 พฤติกรรมการปฎิบัติราชการ (สมรรถนะ)นี้", ); } await this.kpiUserCapacityRepository.remove(kpiUserCapacity); return new HttpSuccess(); } + + /** + * API กรอกระดับคะแนนตามเกณฑ์การประเมิน (สมรรถนะ) (USER) + * + * @summary กรอกระดับคะแนนตามเกณฑ์การประเมิน (สมรรถนะ) (USER) + * + * + */ + @Post("point") + async CreateKpiUserCapacityPoint( + @Body() requestBody: KpiUserCapacityDataPoint[], + @Request() request: { user: Record }, + ){ + + for (const item of requestBody) { + const kpiUserCapacity = await this.kpiUserCapacityRepository.findOne({ + where: { id: item.id }, + }); + if (!kpiUserCapacity) { + throw new HttpError(HttpStatusCode.NOT_FOUND, `ไม่พบข้อมูลพฤติกรรมการปฎิบัติราชการ (สมรรถนะ): ${item.id}`); + } + this.kpiUserCapacityRepository.merge(kpiUserCapacity, item); + kpiUserCapacity.lastUpdateUserId = request.user.sub; + kpiUserCapacity.lastUpdateFullName = request.user.name; + await this.kpiUserCapacityRepository.save(kpiUserCapacity); + } + return new HttpSuccess(); + } } diff --git a/src/entities/kpiUserCapacity.ts b/src/entities/kpiUserCapacity.ts index de8714a..6a5d405 100644 --- a/src/entities/kpiUserCapacity.ts +++ b/src/entities/kpiUserCapacity.ts @@ -58,3 +58,8 @@ export class KpiUserCapacity extends EntityBase { @JoinColumn({ name: "kpiCapacityId" }) kpiCapacity: KpiCapacity; } + +export class KpiUserCapacityDataPoint { + id: string; + point: number; +} \ No newline at end of file