From b9cc922edcfb96e86a4f973ade5f595f4fd295f6 Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Wed, 7 Aug 2024 18:15:55 +0700 Subject: [PATCH] Tab8 API --- src/controllers/DevelopmentController.ts | 77 ++++++++++++------------ src/entities/DevelopmentRisk.ts | 13 +++- 2 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/controllers/DevelopmentController.ts b/src/controllers/DevelopmentController.ts index 5f02eca..8fbf159 100644 --- a/src/controllers/DevelopmentController.ts +++ b/src/controllers/DevelopmentController.ts @@ -61,7 +61,7 @@ import { FileInterceptor } from "@nestjs/platform-express"; import * as xlsx from "xlsx"; import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; import { RequestWithUser } from "../middlewares/user"; -import { DevelopmentRisk } from "../entities/DevelopmentRisk"; +import { DevelopmentRisk, UpdateDevelopmentRisk } from "../entities/DevelopmentRisk"; @Route("api/v1/development/main") @Tags("Development") @@ -1206,27 +1206,27 @@ export class DevelopmentController extends Controller { ); } //move from tab5 - await this.developmentAddresssRepository.remove(development.developmentAddresss, { - data: request, - }); - const before = structuredClone(development); - await Promise.all( - requestBody.developmentAddresss.map(async (x) => { - const data = Object.assign(new DevelopmentAddress(), x); - const chkProvince = await this.provinceRepository.findOne({ - where: { - id: x.provinceId, - }, - }); - if (chkProvince == null) return; - data.developmentId = development.id; - data.createdUserId = request.user.sub; - data.createdFullName = request.user.name; - data.lastUpdateUserId = request.user.sub; - data.lastUpdateFullName = request.user.name; - await this.developmentAddresssRepository.save(data, { data: request }); - setLogDataDiff(request, { before, after: development }); - }), + await this.developmentAddresssRepository.remove(development.developmentAddresss, { + data: request, + }); + const before = structuredClone(development); + await Promise.all( + requestBody.developmentAddresss.map(async (x) => { + const data = Object.assign(new DevelopmentAddress(), x); + const chkProvince = await this.provinceRepository.findOne({ + where: { + id: x.provinceId, + }, + }); + if (chkProvince == null) return; + data.developmentId = development.id; + data.createdUserId = request.user.sub; + data.createdFullName = request.user.name; + data.lastUpdateUserId = request.user.sub; + data.lastUpdateFullName = request.user.name; + await this.developmentAddresssRepository.save(data, { data: request }); + setLogDataDiff(request, { before, after: development }); + }), ); Object.assign(development, { ...requestBody, developmentAddresss: [] }); //End @@ -1387,7 +1387,7 @@ export class DevelopmentController extends Controller { return new HttpSuccess(development.id); } - /** + /** * API แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab7 * * @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab7 # @@ -1438,8 +1438,7 @@ export class DevelopmentController extends Controller { return new HttpSuccess(_getDevelopment); } - - /** + /** * API รายละเอียดโครงการ/หลักสูตรการฝึกอบรม tab8 * * @summary DEV_00 - รายละเอียดโครงการ/หลักสูตรการฝึกอบรมtab8 # @@ -1460,9 +1459,7 @@ export class DevelopmentController extends Controller { getDevelopment.developmentRisks == null ? null : getDevelopment.developmentRisks.sort((a, b) => - (a.id == null ? "" : a.id).localeCompare( - b.id == null ? "" : b.id, - ), + (a.id == null ? "" : a.id).localeCompare(b.id == null ? "" : b.id), ), expect: getDevelopment.expect, }; @@ -1470,7 +1467,7 @@ export class DevelopmentController extends Controller { return new HttpSuccess(_getDevelopment); } - /** + /** * API แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab8 * * @summary DEV_00 - แก้ไขโครงการ/หลักสูตรการฝึกอบรม tab8 # @@ -1506,7 +1503,7 @@ export class DevelopmentController extends Controller { @Put("tab8_1_add/{id}") async CreateDevelopmenttab8_1( @Path() id: string, - @Body() requestBody: UpdateDevelopment8_1, + @Body() requestBody: UpdateDevelopmentRisk, @Request() request: RequestWithUser, ) { const development = await this.developmentRepository.findOne({ @@ -1516,13 +1513,13 @@ export class DevelopmentController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้"); } const before = structuredClone(development); - const data = Object.assign(new DevelopmentEvaluation(), requestBody); + const data = Object.assign(new DevelopmentRisk(), requestBody); data.createdUserId = request.user.sub; data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; data.developmentId = development.id; - await this.developmentEvaluationRepository.save(data, { data: request }); + await this.developmentRiskRepository.save(data, { data: request }); setLogDataDiff(request, { before, after: development }); return new HttpSuccess(data.id); } @@ -1536,13 +1533,13 @@ export class DevelopmentController extends Controller { */ @Delete("tab8_1/{id}") async DeleteDevelopmenttab8_1(@Path() id: string, @Request() request: RequestWithUser) { - const development = await this.developmentEvaluationRepository.findOne({ + const development = await this.developmentRiskRepository.findOne({ where: { id }, }); if (!development) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลผู้เกี่ยวข้องเป้าหมายตามแผน"); + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลความเสี่ยงของโครงการ"); } - await this.developmentEvaluationRepository.remove(development, { data: request }); + await this.developmentRiskRepository.remove(development, { data: request }); return new HttpSuccess(development.id); } @@ -1556,20 +1553,20 @@ export class DevelopmentController extends Controller { @Put("tab8_1_edit/{id}") async UpdateDevelopmenttab8_1( @Path() id: string, - @Body() requestBody: UpdateDevelopment8_1, + @Body() requestBody: UpdateDevelopmentRisk, @Request() request: RequestWithUser, ) { - const development = await this.developmentEvaluationRepository.findOne({ + const development = await this.developmentRiskRepository.findOne({ where: { id }, }); if (!development) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้"); + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลความเสี่ยงของโครงการ"); } Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; - - await this.developmentEvaluationRepository.save(development, { data: request }); + + await this.developmentRiskRepository.save(development, { data: request }); return new HttpSuccess(development.id); } diff --git a/src/entities/DevelopmentRisk.ts b/src/entities/DevelopmentRisk.ts index 5df5af0..e12c614 100644 --- a/src/entities/DevelopmentRisk.ts +++ b/src/entities/DevelopmentRisk.ts @@ -51,9 +51,16 @@ export class DevelopmentRisk extends EntityBase { @JoinColumn({ name: "developmentId" }) development: Development; } -export class CreateDevelopmentRisk { + +export class UpdateDevelopmentRisk { @Column() - address: string | null; + issues: string | null; @Column() - provinceId: string; + chance: number | null; + @Column() + effects: number | null; + @Column() + riskLevel: string | null; + @Column() + riskManagement: string | null; }