diff --git a/src/controllers/DevelopmentController.ts b/src/controllers/DevelopmentController.ts index 3784d02..af8f250 100644 --- a/src/controllers/DevelopmentController.ts +++ b/src/controllers/DevelopmentController.ts @@ -27,7 +27,6 @@ import { UpdateDevelopment5, UpdateDevelopment7, UpdateDevelopment8, - UpdateDevelopment8_1, } from "../entities/Development"; import { ActualPeople, CreateActualPeople } from "../entities/ActualPeople"; import { CreatePlannedPeople, PlannedPeople } from "../entities/PlannedPeople"; @@ -37,11 +36,7 @@ import { Province } from "../entities/Province"; import { PosType } from "../entities/PosType"; import { PosLevel } from "../entities/PosLevel"; import { PlannedGoalPosition } from "../entities/PlannedGoalPosition"; -import { - CreateDevelopmentHistory, - CreateDevelopmentHistoryOBO, - DevelopmentHistory, -} from "../entities/DevelopmentHistory"; +import { CreateDevelopmentHistoryOBO, DevelopmentHistory } from "../entities/DevelopmentHistory"; import { DevelopmentProjectType } from "../entities/DevelopmentProjectType"; import { CreateDevelopmentEvaluation, @@ -59,7 +54,7 @@ import CallAPI from "../interfaces/call-api"; import { UseInterceptors } from "@nestjs/common"; import { FileInterceptor } from "@nestjs/platform-express"; import * as xlsx from "xlsx"; -import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; +import { setLogDataDiff } from "../interfaces/utils"; import { RequestWithUser } from "../middlewares/user"; import { DevelopmentRisk, UpdateDevelopmentRisk } from "../entities/DevelopmentRisk"; import { DevelopmentOther, UpdateDevelopmentOther } from "../entities/DevelopmentOther"; @@ -156,6 +151,9 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); + // addLogSequence(request, { // action: "database", // status: "success", @@ -235,8 +233,6 @@ export class DevelopmentController extends Controller { development.child4ShortName = x.child4ShortName; }) .catch((x) => {}); - development.lastUpdateUserId = request.user.sub; - development.lastUpdateFullName = request.user.name; const _null: any = null; switch (requestBody.node) { case 0: { @@ -284,6 +280,9 @@ export class DevelopmentController extends Controller { default: throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรม"); } + development.lastUpdateUserId = request.user.sub; + development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -324,6 +323,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentPlannedGoalId = development.id; // addLogSequence(request, { // action: "database", @@ -356,6 +357,8 @@ export class DevelopmentController extends Controller { _data.createdFullName = request.user.name; _data.lastUpdateUserId = request.user.sub; _data.lastUpdateFullName = request.user.name; + _data.createdAt = new Date(); + _data.lastUpdatedAt = new Date(); _data.plannedGoalId = data.id; // addLogSequence(request, { // action: "database", @@ -400,6 +403,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentPlannedPeopleId = development.id; // addLogSequence(request, { // action: "database", @@ -463,6 +468,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentActualGoalId = development.id; // addLogSequence(request, { // action: "database", @@ -505,6 +512,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentActualPeopleId = development.id; // addLogSequence(request, { // action: "database", @@ -556,6 +565,7 @@ export class DevelopmentController extends Controller { Object.assign(development, { ...requestBody, positions: [] }); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -587,6 +597,8 @@ export class DevelopmentController extends Controller { _data.createdFullName = request.user.name; _data.lastUpdateUserId = request.user.sub; _data.lastUpdateFullName = request.user.name; + _data.createdAt = new Date(); + _data.lastUpdatedAt = new Date(); _data.plannedGoalId = development.id; // addLogSequence(request, { // action: "database", @@ -633,6 +645,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -698,6 +711,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -737,6 +751,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -1137,6 +1152,9 @@ export class DevelopmentController extends Controller { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลยุทธศาสตร์เป้าหมายตามจริง"); } } + development.lastUpdateUserId = request.user.sub; + development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRepository.save(development, { data: request }); if (requestBody.developmentProjectTypes != null) { await Promise.all( @@ -1147,6 +1165,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentProjectTypeRepository.save(data, { data: request }); }), @@ -1161,6 +1181,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentProjectTechniquePlannedRepository.save(data, { data: request }); }), @@ -1175,6 +1197,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentProjectTechniqueActualRepository.save(data, { data: request }); }), @@ -1206,6 +1230,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); await this.developmentAddresssRepository.save(data, { data: request }); } // setLogDataDiff(request, { before, after: development }); @@ -1240,6 +1266,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); @@ -1265,7 +1292,6 @@ export class DevelopmentController extends Controller { if (!development) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้"); } - console.log(">>>>>>>>>>", requestBody.results); let results: any = requestBody.results && requestBody.results != "" ? requestBody.results : null; const before = structuredClone(development); @@ -1276,6 +1302,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentEvaluationRepository.save(data, { data: request }); setLogDataDiff(request, { before, after: development }); @@ -1335,6 +1363,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -1368,6 +1397,7 @@ export class DevelopmentController extends Controller { Object.assign(development, { ...requestBody, developmentAddresss: [] }); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRepository.save(development, { data: request }); return new HttpSuccess(development.id); } @@ -1405,6 +1435,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentOtherRepository.save(data, { data: request }); setLogDataDiff(request, { before, after: development }); @@ -1454,6 +1486,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentOtherRepository.save(development, { data: request }); return new HttpSuccess(development.id); @@ -1483,6 +1516,7 @@ export class DevelopmentController extends Controller { Object.assign(development, { ...requestBody }); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRepository.save(development, { data: request }); return new HttpSuccess(development.id); } @@ -1568,6 +1602,7 @@ export class DevelopmentController extends Controller { Object.assign(development, { ...requestBody }); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRepository.save(development, { data: request }); return new HttpSuccess(development.id); } @@ -1597,6 +1632,8 @@ export class DevelopmentController extends Controller { data.createdFullName = request.user.name; data.lastUpdateUserId = request.user.sub; data.lastUpdateFullName = request.user.name; + data.createdAt = new Date(); + data.lastUpdatedAt = new Date(); data.developmentId = development.id; await this.developmentRiskRepository.save(data, { data: request }); setLogDataDiff(request, { before, after: development }); @@ -1646,6 +1683,7 @@ export class DevelopmentController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentRiskRepository.save(development, { data: request }); return new HttpSuccess(development.id); @@ -1930,6 +1968,7 @@ export class DevelopmentController extends Controller { getDevelopment.status = "FINISH"; getDevelopment.lastUpdateUserId = request.user.sub; getDevelopment.lastUpdateFullName = request.user.name; + getDevelopment.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -2403,6 +2442,7 @@ export class DevelopmentController extends Controller { _data.lastUpdateUserId = request.user.sub; _data.lastUpdateFullName = request.user.name; + _data.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -2489,6 +2529,8 @@ export class DevelopmentController extends Controller { oldProfile.createdFullName = request.user.name; oldProfile.lastUpdateUserId = request.user.sub; oldProfile.lastUpdateFullName = request.user.name; + oldProfile.createdAt = new Date(); + oldProfile.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -2499,7 +2541,7 @@ export class DevelopmentController extends Controller { return; } if (item["ประเภท"] == undefined) return; - if (item["ประเภท"] == "ข้าราชการกรุงเทพมหานครสามัญ") { + if (item["ประเภท"] == "ข้าราชการกรุงเทพมหานครสามัญ" || item["ประเภท"] == "ขรก.กทม. สามัญ") { await new CallAPI() .GetData(request, `/org/unauthorize/officer/citizen/${item["รหัสประจำตัวประชาชน"]}`) .then(async (x: any) => { @@ -2527,6 +2569,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = true; // addLogSequence(request, { // action: "database", @@ -2570,6 +2614,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = false; // addLogSequence(request, { // action: "database", @@ -2579,9 +2625,9 @@ export class DevelopmentController extends Controller { await this.developmentHistoryRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); }); - } else { + } else if (item["ประเภท"] == "ลูกจ้างประจำ") { await new CallAPI() - .GetData(request, `/org/unauthorize/employee/citizen/${item["รหัสประจำตัวประชาชน"]}`) + .GetData(request, `/org/unauthorize/employee-prem/citizen/${item["รหัสประจำตัวประชาชน"]}`) .then(async (x: any) => { let development = Object.assign(new DevelopmentHistory(), x); development.dateStart = @@ -2607,6 +2653,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = true; // addLogSequence(request, { // action: "database", @@ -2650,6 +2698,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = false; // addLogSequence(request, { // action: "database", @@ -2659,6 +2709,49 @@ export class DevelopmentController extends Controller { await this.developmentHistoryRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); }); + } else { + 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.citizenId = + item["รหัสประจำตัวประชาชน"] == undefined ? _null : item["รหัสประจำตัวประชาชน"]; + development.type = "OTHER"; + development.order = + item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"] == undefined + ? null + : item["เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ"]; + development.dateOrder = + item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"] == undefined + ? _null + : new Date(item["คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่"]); + development.trainingDays = + item["จำนวนวันที่อบรม"] == undefined ? null : item["จำนวนวันที่อบรม"]; + development.posLevelId = null; + development.posTypeId = null; + 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.createdAt = new Date(); + development.lastUpdatedAt = new Date(); + development.isProfile = false; + // addLogSequence(request, { + // action: "database", + // status: "success", + // description: "Store DevelopmentHistory.", + // }); + await this.developmentHistoryRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); } }), ); @@ -2708,6 +2801,8 @@ export class DevelopmentController extends Controller { oldProfile.createdFullName = request.user.name; oldProfile.lastUpdateUserId = request.user.sub; oldProfile.lastUpdateFullName = request.user.name; + oldProfile.createdAt = new Date(); + oldProfile.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -2742,6 +2837,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -2781,6 +2878,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = false; // addLogSequence(request, { // action: "database", @@ -2789,7 +2888,6 @@ export class DevelopmentController extends Controller { // }); await this.developmentHistoryRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); - console.log(development.isProfile); status = development.isProfile; }); } else { @@ -2815,6 +2913,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = true; // addLogSequence(request, { // action: "database", @@ -2855,6 +2955,8 @@ export class DevelopmentController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); development.isProfile = false; // addLogSequence(request, { // action: "database", diff --git a/src/controllers/DevelopmentEmployeeHistoryController.ts b/src/controllers/DevelopmentEmployeeHistoryController.ts index 1ee5004..8d25e7c 100644 --- a/src/controllers/DevelopmentEmployeeHistoryController.ts +++ b/src/controllers/DevelopmentEmployeeHistoryController.ts @@ -10,7 +10,6 @@ import { Body, Path, Request, - Query, } from "tsoa"; import { AppDataSource } from "../database/data-source"; import { Brackets, Not } from "typeorm"; @@ -26,7 +25,7 @@ import { import { EmployeePosType } from "../entities/EmployeePosType"; import { EmployeePosLevel } from "../entities/EmployeePosLevel"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; +import { setLogDataDiff } from "../interfaces/utils"; import permission from "../interfaces/permission"; @Route("api/v1/development/history/employee") @@ -124,6 +123,8 @@ export class DevelopmentEmployeeHistoryController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -196,6 +197,7 @@ export class DevelopmentEmployeeHistoryController extends Controller { development.posLevelId = null; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", diff --git a/src/controllers/DevelopmentHistoryController.ts b/src/controllers/DevelopmentHistoryController.ts index 547312b..dfefb2e 100644 --- a/src/controllers/DevelopmentHistoryController.ts +++ b/src/controllers/DevelopmentHistoryController.ts @@ -10,7 +10,6 @@ import { Body, Path, Request, - Query, } from "tsoa"; import { AppDataSource } from "../database/data-source"; import { Brackets, Not } from "typeorm"; @@ -26,7 +25,7 @@ import { import { PosType } from "../entities/PosType"; import { PosLevel } from "../entities/PosLevel"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; +import { setLogDataDiff } from "../interfaces/utils"; import permission from "../interfaces/permission"; @Route("api/v1/development/history/officer") @@ -120,6 +119,8 @@ export class DevelopmentOfficerHistoryController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -188,6 +189,7 @@ export class DevelopmentOfficerHistoryController extends Controller { development.type = type; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", diff --git a/src/controllers/DevelopmentScholarshipController.ts b/src/controllers/DevelopmentScholarshipController.ts index 779f291..e12a503 100644 --- a/src/controllers/DevelopmentScholarshipController.ts +++ b/src/controllers/DevelopmentScholarshipController.ts @@ -27,8 +27,7 @@ import { PosType } from "../entities/PosType"; import { PosLevel } from "../entities/PosLevel"; import CallAPI from "../interfaces/call-api"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; -import { request } from "axios"; +import { setLogDataDiff } from "../interfaces/utils"; import permission from "../interfaces/permission"; @Route("api/v1/development/scholarship") @@ -73,6 +72,8 @@ export class DevelopmentScholarshipController extends Controller { development.createdFullName = request.user.name; development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.createdAt = new Date(); + development.lastUpdatedAt = new Date(); await this.developmentScholarshipRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); @@ -118,6 +119,7 @@ export class DevelopmentScholarshipController extends Controller { Object.assign(development, requestBody); development.lastUpdateUserId = request.user.sub; development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); await this.developmentScholarshipRepository.save(development, { data: request }); setLogDataDiff(request, { before, after: development }); return new HttpSuccess(development.id); @@ -357,6 +359,52 @@ export class DevelopmentScholarshipController extends Controller { return new HttpSuccess(formattedData); } + /** + * API แก้ไขทุนการศึกษา/ฝึกอบรม + * + * @summary DEV_012 - แก้ไขทุนการศึกษา/ฝึกอบรม #12 + * + * @param {string} id Id ข้าราชการฯที่ได้รับทุนการศึกษา + */ + @Put("admin/{id}") + async UpdateDevelopmentScholarshipAdminById( + @Path() id: string, + @Body() requestBody: UpdateDevelopmentScholarship, + @Request() request: RequestWithUser, + ) { + await new permission().PermissionUpdate(request, "SYS_DEV_SCHOLARSHIP"); + const development = await this.developmentScholarshipRepository.findOne({ + where: { id: id }, + }); + if (!development) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทุนการศึกษา/ฝึกอบรมนี้"); + } + if (requestBody.posTypeId != null) { + const checkId = await this.posTypeRepository.findOne({ + where: { id: requestBody.posTypeId }, + }); + if (!checkId) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลประเภทตำแหน่ง"); + } + } + if (requestBody.posLevelId != null) { + const checkId = await this.posLevelRepository.findOne({ + where: { id: requestBody.posLevelId }, + }); + if (!checkId) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลระดับตำแหน่ง"); + } + } + const before = structuredClone(development); + Object.assign(development, requestBody); + development.lastUpdateUserId = request.user.sub; + development.lastUpdateFullName = request.user.name; + development.lastUpdatedAt = new Date(); + await this.developmentScholarshipRepository.save(development, { data: request }); + setLogDataDiff(request, { before, after: development }); + return new HttpSuccess(development.id); + } + /** * API รายละเอียดทุนการศึกษา/ฝึกอบรม ADMIN * @@ -563,6 +611,7 @@ export class DevelopmentScholarshipController extends Controller { Object.assign(getDevelopment, requestBody); getDevelopment.lastUpdateUserId = request.user.sub; getDevelopment.lastUpdateFullName = request.user.name; + getDevelopment.lastUpdatedAt = new Date(); await this.developmentScholarshipRepository.save(getDevelopment, { data: request }); setLogDataDiff(request, { before, after: getDevelopment }); return new HttpSuccess(getDevelopment.id); @@ -646,6 +695,9 @@ export class DevelopmentScholarshipController extends Controller { }); } else if (_status == "NOTGRADUATE") { getDevelopment.status = _status; + getDevelopment.lastUpdateUserId = request.user.sub; + getDevelopment.lastUpdateFullName = request.user.name; + getDevelopment.lastUpdatedAt = new Date(); await this.developmentScholarshipRepository.save(getDevelopment, { data: request }); } else { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบสถานะนี้ในระบบ"); diff --git a/src/controllers/MyController.ts b/src/controllers/MyController.ts index 2e5f1bd..7f14906 100644 --- a/src/controllers/MyController.ts +++ b/src/controllers/MyController.ts @@ -1,4 +1,4 @@ -import { Controller, Get, Post, Put, Delete, Patch, Route, Security, Tags } from "tsoa"; +import { Controller, Get, Route, Security, Tags } from "tsoa"; @Route("/hello") @Tags("Test") diff --git a/src/controllers/PortfolioController.ts b/src/controllers/PortfolioController.ts index df0aa98..e4d174c 100644 --- a/src/controllers/PortfolioController.ts +++ b/src/controllers/PortfolioController.ts @@ -20,7 +20,7 @@ import HttpError from "../interfaces/http-error"; import { Not } from "typeorm"; import { CreatePortfolio, Portfolio } from "../entities/Portfolio"; import { RequestWithUser } from "../middlewares/user"; -import { addLogSequence, setLogDataDiff } from "../interfaces/utils"; +import { setLogDataDiff } from "../interfaces/utils"; @Route("api/v1/development/portfolio") @Tags("Portfolio") @@ -106,6 +106,8 @@ export class PortfolioController extends Controller { _portfolio.createdFullName = request.user.name; _portfolio.lastUpdateUserId = request.user.sub; _portfolio.lastUpdateFullName = request.user.name; + _portfolio.createdAt = new Date(); + _portfolio.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -143,6 +145,7 @@ export class PortfolioController extends Controller { _portfolio.lastUpdateUserId = request.user.sub; _portfolio.lastUpdateFullName = request.user.name; + _portfolio.lastUpdatedAt = new Date(); Object.assign(_portfolio, requestBody); // addLogSequence(request, { // action: "database", diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index e1bbd9b..ba4dd6d 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -1,28 +1,10 @@ -import { - Controller, - Get, - Post, - Put, - Delete, - Route, - Security, - Tags, - Body, - Path, - Request, - Query, -} from "tsoa"; +import { Controller, Get, Post, Route, Security, Tags, Body, Path } from "tsoa"; import { AppDataSource } from "../database/data-source"; -import { Brackets, Not } from "typeorm"; import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatusCode from "../interfaces/http-status"; import { Development } from "../entities/Development"; -import { - CreateDevelopmentHistory, - DevelopmentHistory, - UpdateDevelopmentHistory, -} from "../entities/DevelopmentHistory"; +import { DevelopmentHistory } from "../entities/DevelopmentHistory"; import { PosType } from "../entities/PosType"; import { PosLevel } from "../entities/PosLevel"; import Extension from "../interfaces/extension"; @@ -31,10 +13,6 @@ import { DevelopmentScholarship } from "../entities/DevelopmentScholarship"; @Tags("Report") @Security("bearerAuth") export class ReportController extends Controller { - private developmentHistoryRepository = AppDataSource.getRepository(DevelopmentHistory); - private developmentRepository = AppDataSource.getRepository(Development); - private posTypeRepository = AppDataSource.getRepository(PosType); - private posLevelRepository = AppDataSource.getRepository(PosLevel); private developmentScholarshipRepository = AppDataSource.getRepository(DevelopmentScholarship); /** @@ -285,10 +263,7 @@ export class ReportController extends Controller { getDevelopment.graduatedDate == null ? "" : Extension.ToThaiNumber(Extension.ToThaiFullDate3(getDevelopment.graduatedDate)), - graduatedReason: - getDevelopment.graduatedReason == null - ? "" - : getDevelopment.graduatedReason, + graduatedReason: getDevelopment.graduatedReason == null ? "" : getDevelopment.graduatedReason, useOfficialTime: getDevelopment.useOfficialTime, useOffTime: getDevelopment.useOfficialTime == true ? "🗹 ใช้ ☐ ไม่ใช้" : "☐ ใช้ 🗹 ไม่ใช้", isGraduated: getDevelopment.isGraduated, diff --git a/src/controllers/StrategyController.ts b/src/controllers/StrategyController.ts index b4a03db..a0ed9eb 100644 --- a/src/controllers/StrategyController.ts +++ b/src/controllers/StrategyController.ts @@ -272,6 +272,8 @@ export class StrategyController extends Controller { strategyChild.createdFullName = request.user.name; strategyChild.lastUpdateUserId = request.user.sub; strategyChild.lastUpdateFullName = request.user.name; + strategyChild.createdAt = new Date(); + strategyChild.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "database", // status: "success", @@ -353,6 +355,7 @@ export class StrategyController extends Controller { } strategyChild.lastUpdateUserId = request.user.sub; strategyChild.lastUpdateFullName = request.user.name; + strategyChild.lastUpdatedAt = new Date(); // addLogSequence(request, { // action: "remove", diff --git a/src/entities/Development.ts b/src/entities/Development.ts index 0a6fecd..eb4b00e 100644 --- a/src/entities/Development.ts +++ b/src/entities/Development.ts @@ -1,4 +1,4 @@ -import { Entity, Column, ManyToOne, JoinColumn, OneToMany, Double, ManyToMany } from "typeorm"; +import { Entity, Column, ManyToOne, JoinColumn, OneToMany, Double } from "typeorm"; import { EntityBase } from "./base/Base"; import { Province } from "./Province"; import { ActualPeople, CreateActualPeople } from "./ActualPeople"; @@ -8,7 +8,7 @@ import { CreatePlannedGoal, PlannedGoal } from "./PlannedGoal"; import { DevelopmentHistory } from "./DevelopmentHistory"; import { DevelopmentProjectType } from "./DevelopmentProjectType"; import { DevelopmentProjectTechniquePlanned } from "./DevelopmentProjectTechniquePlanned"; -import { CreateDevelopmentEvaluation, DevelopmentEvaluation } from "./DevelopmentEvaluation"; +import { DevelopmentEvaluation } from "./DevelopmentEvaluation"; import { CreateDevelopmentAddress, DevelopmentAddress } from "./DevelopmentAddress"; import { DevelopmentProjectTechniqueActual } from "./DevelopmentProjectTechniqueActual"; import { StrategyChild5 } from "./StrategyChild5"; diff --git a/src/entities/Province.ts b/src/entities/Province.ts index 7ba8848..a826b67 100644 --- a/src/entities/Province.ts +++ b/src/entities/Province.ts @@ -1,4 +1,4 @@ -import { Entity, Column, OneToMany, ManyToMany, JoinTable } from "typeorm"; +import { Entity, Column, OneToMany } from "typeorm"; import { EntityBase } from "./base/Base"; import { Development } from "./Development"; import { DevelopmentAddress } from "./DevelopmentAddress"; diff --git a/src/interfaces/permission.ts b/src/interfaces/permission.ts index 1669018..fb2d669 100644 --- a/src/interfaces/permission.ts +++ b/src/interfaces/permission.ts @@ -42,22 +42,29 @@ class CheckAuth { req.headers["api_key"] && req.headers["api_key"] == process.env.API_KEY ) { - return null; + return { + root: null, + child1: null, + child2: null, + child3: null, + child4: null, + }; } return await new CallAPI() - .GetData(req, "/org/permission/org") + .GetData(req, `/org/permission/org/${system}/${action}`) .then(async (x) => { - let privilege = null; - if (action.trim().toLocaleUpperCase() == "CREATE") - privilege = await this.PermissionCreate(req, system); - if (action.trim().toLocaleUpperCase() == "DELETE") - privilege = await this.PermissionDelete(req, system); - if (action.trim().toLocaleUpperCase() == "GET") - privilege = await this.PermissionGet(req, system); - if (action.trim().toLocaleUpperCase() == "LIST") - privilege = await this.PermissionList(req, system); - if (action.trim().toLocaleUpperCase() == "UPDATE") - privilege = await this.PermissionUpdate(req, system); + console.log(x); + let privilege = x.privilege; + // if (action.trim().toLocaleUpperCase() == "CREATE") + // privilege = await this.PermissionCreate(req, system); + // if (action.trim().toLocaleUpperCase() == "DELETE") + // privilege = await this.PermissionDelete(req, system); + // if (action.trim().toLocaleUpperCase() == "GET") + // privilege = await this.PermissionGet(req, system); + // if (action.trim().toLocaleUpperCase() == "LIST") + // privilege = await this.PermissionList(req, system); + // if (action.trim().toLocaleUpperCase() == "UPDATE") + // privilege = await this.PermissionUpdate(req, system); let data: any = { root: [null], @@ -135,25 +142,19 @@ class CheckAuth { return true; } return await new CallAPI() - .GetData(req, `/org/permission/user/${profileId}`) + .GetData(req, `/org/permission/user/${system}/${action}/${profileId}`) .then(async (x) => { - let org = { - root: [null], - child1: [null], - child2: [null], - child3: [null], - child4: [null], - }; - if (action.trim().toLocaleUpperCase() == "CREATE") - org = await this.PermissionOrgCreate(req, system); - if (action.trim().toLocaleUpperCase() == "DELETE") - org = await this.PermissionOrgDelete(req, system); - if (action.trim().toLocaleUpperCase() == "GET") - org = await this.PermissionOrgGet(req, system); - if (action.trim().toLocaleUpperCase() == "LIST") - org = await this.PermissionOrgList(req, system); - if (action.trim().toLocaleUpperCase() == "UPDATE") - org = await this.PermissionOrgUpdate(req, system); + let org = x.org; + // if (action.trim().toLocaleUpperCase() == "CREATE") + // org = await this.PermissionOrgCreate(req, system); + // if (action.trim().toLocaleUpperCase() == "DELETE") + // org = await this.PermissionOrgDelete(req, system); + // if (action.trim().toLocaleUpperCase() == "GET") + // org = await this.PermissionOrgGet(req, system); + // if (action.trim().toLocaleUpperCase() == "LIST") + // org = await this.PermissionOrgList(req, system); + // if (action.trim().toLocaleUpperCase() == "UPDATE") + // org = await this.PermissionOrgUpdate(req, system); if (org.root != null) if (x.orgRootId != org.root[0]) throw "ไม่มีสิทธิ์เข้าถึงข้อมูล"; if (org.child1 != null)