update function tab

This commit is contained in:
AdisakKanthawilang 2024-08-07 14:03:40 +07:00
parent 4c0c02cc8b
commit 78fb5b5c0a
3 changed files with 177 additions and 77 deletions

View file

@ -25,6 +25,8 @@ import {
UpdateDevelopment3,
UpdateDevelopment4,
UpdateDevelopment5,
UpdateDevelopment7,
UpdateDevelopment8,
} from "../entities/Development";
import { ActualPeople, CreateActualPeople } from "../entities/ActualPeople";
import { CreatePlannedPeople, PlannedPeople } from "../entities/PlannedPeople";
@ -1200,6 +1202,31 @@ 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 });
}),
);
Object.assign(development, { ...requestBody, developmentAddresss: [] });
//End
return new HttpSuccess(development.id);
}
@ -1216,11 +1243,6 @@ export class DevelopmentController extends Controller {
@Body() requestBody: UpdateDevelopment4,
@Request() request: RequestWithUser,
) {
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Get Development.",
// });
const development = await this.developmentRepository.findOne({
where: { id },
});
@ -1231,11 +1253,6 @@ export class DevelopmentController extends Controller {
Object.assign(development, requestBody);
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Store Development.",
// });
await this.developmentRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
return new HttpSuccess(development.id);
@ -1254,11 +1271,6 @@ export class DevelopmentController extends Controller {
@Body() requestBody: CreateDevelopmentEvaluation,
@Request() request: RequestWithUser,
) {
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Get Development.",
// });
const development = await this.developmentRepository.findOne({
where: { id },
});
@ -1272,11 +1284,6 @@ export class DevelopmentController extends Controller {
data.lastUpdateUserId = request.user.sub;
data.lastUpdateFullName = request.user.name;
data.developmentId = development.id;
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Store DevelopmentEvaluation.",
// });
await this.developmentEvaluationRepository.save(data, { data: request });
setLogDataDiff(request, { before, after: development });
return new HttpSuccess(data.id);
@ -1370,49 +1377,64 @@ export class DevelopmentController extends Controller {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลจังหวัดข้อมูลด้านวิชาการ");
}
}
Object.assign(development, { ...requestBody, developmentAddresss: [] });
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Store Development.",
// });
await this.developmentRepository.save(development, { data: request });
// addLogSequence(request, {
// action: "remove",
// status: "success",
// description: "Remove DevelopmentAddresss.",
// });
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;
// addLogSequence(request, {
// action: "database",
// status: "success",
// description: "Store DevelopmentAddresss.",
// });
await this.developmentAddresssRepository.save(data, { data: request });
setLogDataDiff(request, { before, after: development });
}),
);
return new HttpSuccess(development.id);
}
/**
* API / tab7
*
* @summary DEV_00 - / tab7 #
*
* @param {string} id Id
*/
@Put("tab7/{id}")
async UpdateDevelopmentTab7(
@Path() id: string,
@Body() requestBody: UpdateDevelopment7,
@Request() request: RequestWithUser,
) {
const development = await this.developmentRepository.findOne({
where: { id },
relations: { developmentAddresss: true },
});
if (!development) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
}
Object.assign(development, { ...requestBody });
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
await this.developmentRepository.save(development, { data: request });
return new HttpSuccess(development.id);
}
/**
* API / tab8
*
* @summary DEV_00 - / tab8 #
*
* @param {string} id Id
*/
@Put("tab8/{id}")
async UpdateDevelopmentTab8(
@Path() id: string,
@Body() requestBody: UpdateDevelopment8,
@Request() request: RequestWithUser,
) {
const development = await this.developmentRepository.findOne({
where: { id },
relations: { developmentAddresss: true },
});
if (!development) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
}
Object.assign(development, { ...requestBody });
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
await this.developmentRepository.save(development, { data: request });
return new HttpSuccess(development.id);
}