add devproject
This commit is contained in:
parent
7092d67973
commit
0ded2dc6b0
4 changed files with 152 additions and 1 deletions
|
|
@ -26,6 +26,7 @@ import {
|
|||
import HttpError from "../interfaces/http-error";
|
||||
import { KpiUserEvaluation } from "../entities/kpiUserEvaluation";
|
||||
import { Not, Like, Brackets } from "typeorm";
|
||||
import { DevelopmentProject } from "../entities/developmentProject";
|
||||
|
||||
@Route("api/v1/kpi/user/achievement/development")
|
||||
@Tags("KpiUserDevelopment")
|
||||
|
|
@ -38,6 +39,7 @@ import { Not, Like, Brackets } from "typeorm";
|
|||
export class KpiUserDevelopmentController extends Controller {
|
||||
private kpiUserDevelopmentRepository = AppDataSource.getRepository(KpiUserDevelopment);
|
||||
private kpiUserEvaluationRepository = AppDataSource.getRepository(KpiUserEvaluation);
|
||||
private developmentProjectRepository = AppDataSource.getRepository(DevelopmentProject);
|
||||
|
||||
/**
|
||||
* API เพิ่มพัฒนาตนเอง
|
||||
|
|
@ -90,6 +92,22 @@ export class KpiUserDevelopmentController extends Controller {
|
|||
kpiUserDevelopment.lastUpdateUserId = request.user.sub;
|
||||
kpiUserDevelopment.lastUpdateFullName = request.user.name;
|
||||
await this.kpiUserDevelopmentRepository.save(kpiUserDevelopment);
|
||||
|
||||
if (requestBody.developmentProjects != null) {
|
||||
await Promise.all(
|
||||
requestBody.developmentProjects.map(async (x) => {
|
||||
let data = new DevelopmentProject();
|
||||
data.name = x;
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.kpiUserDevelopmentId = kpiUserDevelopment.id;
|
||||
await this.developmentProjectRepository.save(data);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
return new HttpSuccess(kpiUserDevelopment.id);
|
||||
}
|
||||
|
||||
|
|
@ -106,10 +124,30 @@ export class KpiUserDevelopmentController extends Controller {
|
|||
@Body() requestBody: UpdateKpiUserDevelopment,
|
||||
@Request() request: { user: Record<string, any> },
|
||||
) {
|
||||
const kpiUserDevelopment = await this.kpiUserDevelopmentRepository.findOne({ where: { id } });
|
||||
const kpiUserDevelopment = await this.kpiUserDevelopmentRepository.findOne({
|
||||
where: { id },
|
||||
relations: {
|
||||
developmentProjects: true,
|
||||
},
|
||||
});
|
||||
if (!kpiUserDevelopment) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลพัฒนาตนเองนี้");
|
||||
}
|
||||
await this.developmentProjectRepository.remove(kpiUserDevelopment.developmentProjects);
|
||||
if (requestBody.developmentProjects != null) {
|
||||
await Promise.all(
|
||||
requestBody.developmentProjects.map(async (x) => {
|
||||
let data = new DevelopmentProject();
|
||||
data.name = x;
|
||||
data.createdUserId = request.user.sub;
|
||||
data.createdFullName = request.user.name;
|
||||
data.lastUpdateUserId = request.user.sub;
|
||||
data.lastUpdateFullName = request.user.name;
|
||||
data.kpiUserDevelopmentId = kpiUserDevelopment.id;
|
||||
await this.developmentProjectRepository.save(data);
|
||||
}),
|
||||
);
|
||||
}
|
||||
const chkUserEvaluation = await this.kpiUserEvaluationRepository.findOne({
|
||||
where: { id: requestBody.kpiUserEvaluationId },
|
||||
});
|
||||
|
|
@ -198,6 +236,12 @@ export class KpiUserDevelopmentController extends Controller {
|
|||
isDevelopment70: getKpiUserDevelopment.isDevelopment70,
|
||||
isDevelopment20: getKpiUserDevelopment.isDevelopment20,
|
||||
isDevelopment10: getKpiUserDevelopment.isDevelopment10,
|
||||
reasonDevelopment70: getKpiUserDevelopment.reasonDevelopment70,
|
||||
reasonDevelopment20: getKpiUserDevelopment.reasonDevelopment20,
|
||||
reasonDevelopment10: getKpiUserDevelopment.reasonDevelopment10,
|
||||
developmentProjectTechniqueActuals: getKpiUserDevelopment.developmentProjects
|
||||
.map((x) => x.name)
|
||||
.sort(),
|
||||
};
|
||||
|
||||
return new HttpSuccess(mapKpiUserDevelopment);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue