api uploadUser

This commit is contained in:
AdisakKanthawilang 2024-07-30 16:49:16 +07:00
parent 02002a32a6
commit f027422d56
2 changed files with 353 additions and 42 deletions

View file

@ -34,7 +34,11 @@ import { Province } from "../entities/Province";
import { PosType } from "../entities/PosType";
import { PosLevel } from "../entities/PosLevel";
import { PlannedGoalPosition } from "../entities/PlannedGoalPosition";
import { DevelopmentHistory } from "../entities/DevelopmentHistory";
import {
CreateDevelopmentHistory,
CreateDevelopmentHistoryOBO,
DevelopmentHistory,
} from "../entities/DevelopmentHistory";
import { DevelopmentProjectType } from "../entities/DevelopmentProjectType";
import {
CreateDevelopmentEvaluation,
@ -908,7 +912,7 @@ export class DevelopmentController extends Controller {
development.developmentProjectTechniquePlanneds,
{
data: request,
}
},
);
addLogSequence(request, {
action: "remove",
@ -919,7 +923,7 @@ export class DevelopmentController extends Controller {
development.developmentProjectTechniqueActuals,
{
data: request,
}
},
);
const _null: any = null;
if (
@ -1328,11 +1332,11 @@ 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 DevelopmentEvaluation.",
});
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentEvaluation.",
});
await this.developmentEvaluationRepository.save(development, { data: request });
return new HttpSuccess(development.id);
}
@ -1398,11 +1402,11 @@ export class DevelopmentController extends Controller {
data.createdFullName = request.user.name;
data.lastUpdateUserId = request.user.sub;
data.lastUpdateFullName = request.user.name;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentAddresss.",
});
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentAddresss.",
});
await this.developmentAddresssRepository.save(data, { data: request });
setLogDataDiff(request, { before, after: development });
}),
@ -1467,7 +1471,7 @@ export class DevelopmentController extends Controller {
* @param {string} id Id
*/
@Delete("{id}")
async DeleteDevelopment(@Path() id: string , @Request () request: RequestWithUser) {
async DeleteDevelopment(@Path() id: string, @Request() request: RequestWithUser) {
const development = await this.developmentRepository.findOne({
where: { id },
relations: {
@ -1493,26 +1497,26 @@ export class DevelopmentController extends Controller {
const plannedGoalPosition = await this.plannedGoalPositionRepository.find({
where: { plannedGoalId: In(development.developmentPlannedGoals.map((x) => x.id)) },
});
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove PlannedGoalPosition.",
});
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove PlannedGoalPosition.",
});
await this.plannedGoalPositionRepository.remove(plannedGoalPosition, { data: request });
}
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove ActualPeople.",
});
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove ActualPeople.",
});
await this.actualPeopleRepository.remove(development.developmentActualPeoples, {
data: request,
});
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove PlannedPeople.",
});
addLogSequence(request, {
action: "remove",
status: "success",
description: "Remove PlannedPeople.",
});
await this.plannedPeopleRepository.remove(development.developmentPlannedPeoples, {
data: request,
});
@ -1663,11 +1667,11 @@ export class DevelopmentController extends Controller {
getDevelopment.status = "FINISH";
getDevelopment.lastUpdateUserId = request.user.sub;
getDevelopment.lastUpdateFullName = request.user.name;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store Development.",
});
addLogSequence(request, {
action: "database",
status: "success",
description: "Store Development.",
});
await this.developmentRepository.save(getDevelopment, { data: request });
return new HttpSuccess(getDevelopment);
}
@ -2219,6 +2223,7 @@ export class DevelopmentController extends Controller {
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = true;
addLogSequence(request, {
action: "database",
status: "success",
@ -2227,8 +2232,45 @@ export class DevelopmentController extends Controller {
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
})
.catch((x) => {
return;
.catch(async (x) => {
let development = new DevelopmentHistory();
let _null: any = null;
development.prefix = item["คำนำหน้า"] == undefined ? null : item["คำนำหน้า"];
development.firstName = item["ชื่อ"] == undefined ? null : item["ชื่อ"];
development.lastName = item["นามสกุล"] == undefined ? null : item["นามสกุล"];
development.position = item["ตำแหน่ง"] == undefined ? null : item["ตำแหน่ง"];
development.org = item["สังกัด"] == undefined ? null : item["สังกัด"];
development.dateStart =
item["วันที่เริ่มต้น"] == undefined ? null : item["วันที่เริ่มต้น"];
development.dateEnd =
item["วันที่สิ้นสุด"] == undefined ? null : item["วันที่สิ้นสุด"];
development.order =
item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"] == undefined
? null
: item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"];
development.dateOrder =
item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"] == undefined
? _null
: new Date(item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"]);
development.trainingDays =
item["จำนวนวันที่อบรม"] == undefined ? null : item["จำนวนวันที่อบรม"];
development.posLevelId = x.posLevelId;
development.posTypeId = x.posTypeId;
development.employeePosLevelId = null;
development.employeePosTypeId = null;
development.developmentId = id;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = false;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
});
} else {
await new CallAPI()
@ -2258,20 +2300,251 @@ export class DevelopmentController extends Controller {
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = true;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
})
.catch((x) => {
return;
.catch(async (x) => {
let development = new DevelopmentHistory();
let _null: any = null;
development.prefix = item["คำนำหน้า"] == undefined ? null : item["คำนำหน้า"];
development.firstName = item["ชื่อ"] == undefined ? null : item["ชื่อ"];
development.lastName = item["นามสกุล"] == undefined ? null : item["นามสกุล"];
development.position = item["ตำแหน่ง"] == undefined ? null : item["ตำแหน่ง"];
development.org = item["สังกัด"] == undefined ? null : item["สังกัด"];
development.dateStart =
item["วันที่เริ่มต้น"] == undefined ? null : item["วันที่เริ่มต้น"];
development.dateEnd =
item["วันที่สิ้นสุด"] == undefined ? null : item["วันที่สิ้นสุด"];
development.order =
item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"] == undefined
? null
: item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"];
development.dateOrder =
item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"] == undefined
? _null
: new Date(item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"]);
development.trainingDays =
item["จำนวนวันที่อบรม"] == undefined ? null : item["จำนวนวันที่อบรม"];
development.posLevelId = x.posLevelId;
development.posTypeId = x.posTypeId;
development.employeePosLevelId = null;
development.employeePosTypeId = null;
development.developmentId = id;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = false;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
});
}
}),
);
return new HttpSuccess(getDevelopments);
}
/**
* API upload User One by one
*
* @summary DEV_0 - upload User One by one #
*
* @param {string} id Id
*/
@Post("uploadUser/{id}")
async UploadUserDevelopemtOBO(
@Path() id: string,
@Body() requestBody: CreateDevelopmentHistoryOBO,
@Request() request: RequestWithUser,
) {
const getDevelopment = await this.developmentRepository.findOne({
where: { id: id },
relations: {
developmentHistorys: true,
},
});
if (!getDevelopment) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
}
const oldProfile: any = await this.developmentHistoryRepository.findOne({
where: { citizenId: requestBody.citizenId },
});
const before = null;
let status = null;
let _null: any = null;
if (oldProfile != null) {
if (oldProfile.isDone == true)
throw new HttpError(HttpStatusCode.INTERNAL_SERVER_ERROR, "ข้อมูลนี้ได้ถูกบันทึกแล้ว");
oldProfile.dateStart = requestBody.dateStart == undefined ? _null : requestBody.dateStart;
oldProfile.dateEnd = requestBody.dateEnd == undefined ? _null : requestBody.dateEnd;
oldProfile.order = requestBody.order == undefined ? _null : requestBody.order;
oldProfile.dateOrder =
requestBody.dateOrder == undefined ? _null : new Date(requestBody.dateOrder);
oldProfile.trainingDays =
requestBody.trainingDays == undefined ? _null : requestBody.trainingDays;
oldProfile.createdUserId = request.user.sub;
oldProfile.createdFullName = request.user.name;
oldProfile.lastUpdateUserId = request.user.sub;
oldProfile.lastUpdateFullName = request.user.name;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(oldProfile, { data: request });
setLogDataDiff(request, { before, after: oldProfile });
status = oldProfile.isProfile;
}
if (requestBody.type == "OFFICER") {
await new CallAPI()
.GetData(request, `/org/unauthorize/officer/citizen/${requestBody.citizenId}`)
.then(async (x: any) => {
let development = Object.assign(new DevelopmentHistory(), x);
development.dateStart =
requestBody.dateStart == undefined ? _null : requestBody.dateStart;
development.dateEnd = requestBody.dateEnd == undefined ? _null : requestBody.dateEnd;
development.order = requestBody.order == undefined ? _null : requestBody.order;
development.dateOrder =
requestBody.dateOrder == undefined ? _null : requestBody.dateOrder;
development.trainingDays =
requestBody.trainingDays == undefined ? _null : requestBody.trainingDays;
development.posLevelId = x.posLevelId == undefined ? _null : x.posLevelId;
development.posTypeId = x.posTypeId == undefined ? _null : x.posTypeId;
development.employeePosLevelId = null;
development.employeePosTypeId = null;
development.developmentId = id;
development.isProfile = true;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
status = development.isProfile;
})
.catch(async (x) => {
let development = new DevelopmentHistory();
let _null: any = null;
development.prefix = requestBody.prefix == undefined ? _null : requestBody.prefix;
development.firstName =
requestBody.firstName == undefined ? _null : requestBody.firstName;
development.lastName = requestBody.lastName == undefined ? _null : requestBody.lastName;
development.position = requestBody.position == undefined ? _null : requestBody.position;
development.org = requestBody.org == undefined ? _null : requestBody.org;
development.dateStart =
requestBody.dateStart == undefined ? _null : requestBody.dateStart;
development.dateEnd = requestBody.dateEnd == undefined ? _null : requestBody.dateEnd;
development.order = requestBody.order == undefined ? _null : requestBody.order;
development.dateOrder =
requestBody.dateOrder == undefined ? _null : requestBody.dateOrder;
development.trainingDays =
requestBody.trainingDays == undefined ? _null : requestBody.trainingDays;
development.posLevelId = x.posLevelId == undefined ? _null : x.posLevelId;
development.posTypeId = x.posTypeId == undefined ? _null : x.posTypeId;
development.employeePosLevelId = null;
development.employeePosTypeId = null;
development.developmentId = id;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = false;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
console.log(development.isProfile);
status = development.isProfile;
});
} else {
await new CallAPI()
.GetData(request, `/org/unauthorize/employee/citizen/${requestBody.citizenId}`)
.then(async (x: any) => {
let development = Object.assign(new DevelopmentHistory(), x);
development.dateStart =
requestBody.dateStart == undefined ? _null : requestBody.dateStart;
development.dateEnd = requestBody.dateEnd == undefined ? _null : requestBody.dateEnd;
development.order = requestBody.order == undefined ? _null : requestBody.order;
development.dateOrder =
requestBody.dateOrder == undefined ? _null : requestBody.dateOrder;
development.trainingDays =
requestBody.trainingDays == undefined ? _null : requestBody.trainingDays;
development.posLevelId = null;
development.posTypeId = null;
development.employeePosLevelId = x.posLevelId;
development.employeePosTypeId = x.posTypeId;
development.developmentId = id;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = true;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
status = development.isProfile;
})
.catch(async (x) => {
let development = new DevelopmentHistory();
let _null: any = null;
development.prefix = requestBody.prefix == undefined ? _null : requestBody.prefix;
development.firstName =
requestBody.firstName == undefined ? _null : requestBody.firstName;
development.lastName = requestBody.lastName == undefined ? _null : requestBody.lastName;
development.position = requestBody.position == undefined ? _null : requestBody.position;
development.org = requestBody.org == undefined ? _null : requestBody.org;
development.dateStart =
requestBody.dateStart == undefined ? _null : requestBody.dateStart;
development.dateEnd = requestBody.dateEnd == undefined ? _null : requestBody.dateEnd;
development.order = requestBody.order == undefined ? _null : requestBody.order;
development.dateOrder =
requestBody.dateOrder == undefined ? _null : requestBody.dateOrder;
development.trainingDays =
requestBody.trainingDays == undefined ? _null : requestBody.trainingDays;
development.posLevelId = x.posLevelId;
development.posTypeId = x.posTypeId;
development.employeePosLevelId = null;
development.employeePosTypeId = null;
development.developmentId = id;
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
development.isProfile = false;
addLogSequence(request, {
action: "database",
status: "success",
description: "Store DevelopmentHistory.",
});
await this.developmentHistoryRepository.save(development, { data: request });
setLogDataDiff(request, { before, after: development });
status = development.isProfile;
});
}
return new HttpSuccess(status);
}
}