This commit is contained in:
Bright 2024-04-23 16:34:13 +07:00
parent 133fc76f66
commit bdd2c9aa30
2 changed files with 37 additions and 4 deletions

View file

@ -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<string, any> },
){
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();
}
}

View file

@ -58,3 +58,8 @@ export class KpiUserCapacity extends EntityBase {
@JoinColumn({ name: "kpiCapacityId" })
kpiCapacity: KpiCapacity;
}
export class KpiUserCapacityDataPoint {
id: string;
point: number;
}