This commit is contained in:
AdisakKanthawilang 2024-08-07 18:15:55 +07:00
parent 6fc0c04a9b
commit b9cc922edc
2 changed files with 47 additions and 43 deletions

View file

@ -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);
}

View file

@ -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;
}