From 4a11d52a827169a6fa71ba81ddd8d6aebb82b609 Mon Sep 17 00:00:00 2001 From: Bright Date: Wed, 28 Feb 2024 17:56:16 +0700 Subject: [PATCH 1/5] OrganizationUnauthorizeController (No Token) --- .../OrganizationUnauthorizeController.ts | 253 ++++++++++++++++++ tsoa.json | 3 + 2 files changed, 256 insertions(+) create mode 100644 src/controllers/OrganizationUnauthorizeController.ts diff --git a/src/controllers/OrganizationUnauthorizeController.ts b/src/controllers/OrganizationUnauthorizeController.ts new file mode 100644 index 00000000..e25df075 --- /dev/null +++ b/src/controllers/OrganizationUnauthorizeController.ts @@ -0,0 +1,253 @@ +import { + Controller, + Get, + Post, + Put, + Delete, + Patch, + Route, + Security, + Tags, + Body, + Path, + Request, + Example, + SuccessResponse, + Response, + Query, +} from "tsoa"; +import { OrgRevision } from "../entities/OrgRevision"; +import { AppDataSource } from "../database/data-source"; +import HttpSuccess from "../interfaces/http-success"; +import HttpError from "../interfaces/http-error"; +import HttpStatusCode from "../interfaces/http-status"; +import { Brackets, IsNull, Not } from "typeorm"; +import { OrgRoot } from "../entities/OrgRoot"; +import { PosMaster } from "../entities/PosMaster"; + +@Route("api/v1/org/unauthorize") +@Tags("OrganizationUnauthorize") +@Response( + HttpStatusCode.INTERNAL_SERVER_ERROR, + "เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง", +) +@SuccessResponse(HttpStatusCode.OK, "สำเร็จ") +export class OrganizationUnauthorizeController extends Controller { + + private orgRevisionRepository = AppDataSource.getRepository(OrgRevision); + private orgRootRepository = AppDataSource.getRepository(OrgRoot); + + /** + * API รายชื่อราชการที่เลื่อนเงินเดือน (unauthorize) + * + * @summary ORG_072 - รายชื่อราชการที่เลื่อนเงินเดือน #76 (unauthorize) + * + */ + @Post("salary/gen") + async salaryGen( + @Body() + body: { + page: number; + pageSize: number; + keyword?: string; + }, + ) { + const findRevision = await this.orgRevisionRepository.findOne({ + where: { orgRevisionIsCurrent: true }, + }); + if (!findRevision) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. OrgRevision"); + } + + const [findPosMaster, total] = await AppDataSource.getRepository(PosMaster) + .createQueryBuilder("posMaster") + .leftJoinAndSelect("posMaster.current_holder", "current_holder") + .leftJoinAndSelect("posMaster.orgRoot", "orgRoot") + .leftJoinAndSelect("posMaster.orgChild1", "orgChild1") + .leftJoinAndSelect("posMaster.orgChild2", "orgChild2") + .leftJoinAndSelect("posMaster.orgChild3", "orgChild3") + .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") + .leftJoinAndSelect("posMaster.positions", "positions") + .leftJoinAndSelect("positions.posExecutive", "posExecutive") + .leftJoinAndSelect("current_holder.profileSalary", "profileSalary") + .leftJoinAndSelect("current_holder.posLevel", "posLevel") + .leftJoinAndSelect("current_holder.posType", "posType") + .where({ + orgRevisionId: findRevision?.id, + current_holderId: Not(IsNull()), + }) + .andWhere( + new Brackets((qb) => { + qb.where( + body.keyword != null && body.keyword != "" + ? "current_holder.prefix LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.firstName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.lastName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.position LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.citizenId LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "posType.posTypeName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "posLevel.posLevelName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + }), + ) + .skip((body.page - 1) * body.pageSize) + .take(body.pageSize) + .getManyAndCount(); + if (!findPosMaster) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. PosMaster"); + } + + const formattedData = findPosMaster.map((item) => { + let orgShortName = ""; + + if (item.orgChild1Id === null) { + orgShortName = item.orgRoot?.orgRootShortName; + } else if (item.orgChild2Id === null) { + orgShortName = item.orgChild1?.orgChild1ShortName; + } else if (item.orgChild3Id === null) { + orgShortName = item.orgChild2?.orgChild2ShortName; + } else if (item.orgChild4Id === null) { + orgShortName = item.orgChild3?.orgChild3ShortName; + } else { + orgShortName = item.orgChild4?.orgChild4ShortName; + } + const posExecutive = + item.positions == null || + item.positions?.find((position) => position.positionIsSelected == true) == null || + item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive == + null || + item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive + ?.posExecutiveName == null + ? null + : item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive + .posExecutiveName; + + const amount = + item.current_holder == null || item.current_holder.profileSalary.length == 0 + ? null + : item.current_holder.profileSalary.sort((a: any, b: any) => b.date - a.date)[0].amount; + + return { + prefix: item.current_holder.prefix, + firstName: item.current_holder.firstName, + lastName: item.current_holder.lastName, + citizenId: item.current_holder.citizenId, + posMasterNoPrefix: item.posMasterNoPrefix, + posMasterNo: item.posMasterNo, + posMasterNoSuffix: item.posMasterNoSuffix, + orgShortName: orgShortName, + position: item.current_holder.position, + posType: item.current_holder.posType.posTypeName, + posLevel: item.current_holder.posLevel.posLevelName, + posExecutive: posExecutive, + amount: amount?amount:0, + rootId: item.orgRootId, + root: item.orgRoot?.orgRootName?item.orgRoot.orgRootName:null, + child1Id: item.orgChild1Id, + child1: item.orgChild1?.orgChild1Name?item.orgChild1.orgChild1Name:null, + child2Id: item.orgChild2Id, + child2: item.orgChild2?.orgChild2Name?item.orgChild2.orgChild2Name:null, + child3Id: item.orgChild3Id, + child3: item.orgChild3?.orgChild3Name?item.orgChild3.orgChild3Name:null, + child4Id: item.orgChild4Id, + child4: item.orgChild4?.orgChild4Name?item.orgChild4.orgChild4Name:null, + isResult: true, + isDuration: false, + isPunish: true, + isRetired: false, + isRetired2: true, + }; + }); + + return new HttpSuccess({data:formattedData,total:total}); + } + + /** + * API หาสำนักทั้งหมด (unauthorize) + * + * @summary หาสำนักทั้งหมด (unauthorize) + * + */ + @Get("active/root/id") + async _GetActiveRootId() { + try { + const orgRevisionActive = await this.orgRevisionRepository.findOne({ + where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false }, + }); + if (!orgRevisionActive) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบโครงสร้างที่เผยแพร๋อยู่ตอนนี้"); + } + + const data = await this.orgRootRepository.find({ + where: { orgRevisionId: orgRevisionActive.id }, + }); + return new HttpSuccess(data.map((x) => x.id)); + } catch (error) { + return error; + } + } + + /** + * API หา revision ล่าสุด (unauthorize) + * + * @summary หา revision ล่าสุด (unauthorize) + * + */ + @Get("revision/latest") + async _salaryGen() { + const findRevision = await this.orgRevisionRepository.findOne({ + where: { orgRevisionIsCurrent: true }, + }); + if (!findRevision) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบโครงสร้างล่าสุด"); + } + return new HttpSuccess(findRevision.id); + } +} diff --git a/tsoa.json b/tsoa.json index ab2e9101..588162ec 100644 --- a/tsoa.json +++ b/tsoa.json @@ -76,6 +76,9 @@ }, { "name": "EducationLevel", "description": "ระดับการศึกษา" + }, + { + "name": "OrganizationUnauthorize", "description": "โครงสร้างส่วนอื่น ๆ (Unauthorize)" } ] }, From 627fa3c8393f0aacfd7545c17eefe772ea0a1b15 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Wed, 28 Feb 2024 18:11:56 +0700 Subject: [PATCH 2/5] no message --- src/controllers/ProfileController.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 3719744f..d7c70242 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -1055,11 +1055,11 @@ export class ProfileController extends Controller { child3: item.orgChild3?.orgChild3Name ? item.orgChild3.orgChild3Name : null, child4Id: item.orgChild4Id, child4: item.orgChild4?.orgChild4Name ? item.orgChild4.orgChild4Name : null, - isResult: true, - isDuration: false, - isPunish: true, - isRetired: false, - isRetired2: true, + result: null, + duration: null, + punish: null, + retired: null, + retired2: null, }; }); From b53176ed05f19a254355b7f2bad91cc9a6628c3b Mon Sep 17 00:00:00 2001 From: Kittapath Date: Thu, 29 Feb 2024 11:29:16 +0700 Subject: [PATCH 3/5] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=E0=B8=9F=E0=B8=B4=E0=B8=A7=20isretire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrganizationUnauthorizeController.ts | 332 +++++++++--------- src/controllers/PositionController.ts | 35 +- src/controllers/ProfileController.ts | 1 + 3 files changed, 180 insertions(+), 188 deletions(-) diff --git a/src/controllers/OrganizationUnauthorizeController.ts b/src/controllers/OrganizationUnauthorizeController.ts index e25df075..dc119d1c 100644 --- a/src/controllers/OrganizationUnauthorizeController.ts +++ b/src/controllers/OrganizationUnauthorizeController.ts @@ -33,181 +33,181 @@ import { PosMaster } from "../entities/PosMaster"; ) @SuccessResponse(HttpStatusCode.OK, "สำเร็จ") export class OrganizationUnauthorizeController extends Controller { - private orgRevisionRepository = AppDataSource.getRepository(OrgRevision); private orgRootRepository = AppDataSource.getRepository(OrgRoot); - /** + /** * API รายชื่อราชการที่เลื่อนเงินเดือน (unauthorize) * * @summary ORG_072 - รายชื่อราชการที่เลื่อนเงินเดือน #76 (unauthorize) * */ - @Post("salary/gen") - async salaryGen( - @Body() - body: { - page: number; - pageSize: number; - keyword?: string; - }, - ) { - const findRevision = await this.orgRevisionRepository.findOne({ - where: { orgRevisionIsCurrent: true }, - }); - if (!findRevision) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. OrgRevision"); - } - - const [findPosMaster, total] = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .leftJoinAndSelect("posMaster.current_holder", "current_holder") - .leftJoinAndSelect("posMaster.orgRoot", "orgRoot") - .leftJoinAndSelect("posMaster.orgChild1", "orgChild1") - .leftJoinAndSelect("posMaster.orgChild2", "orgChild2") - .leftJoinAndSelect("posMaster.orgChild3", "orgChild3") - .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") - .leftJoinAndSelect("posMaster.positions", "positions") - .leftJoinAndSelect("positions.posExecutive", "posExecutive") - .leftJoinAndSelect("current_holder.profileSalary", "profileSalary") - .leftJoinAndSelect("current_holder.posLevel", "posLevel") - .leftJoinAndSelect("current_holder.posType", "posType") - .where({ - orgRevisionId: findRevision?.id, - current_holderId: Not(IsNull()), - }) - .andWhere( - new Brackets((qb) => { - qb.where( - body.keyword != null && body.keyword != "" - ? "current_holder.prefix LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "current_holder.firstName LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "current_holder.lastName LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "current_holder.position LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - - .orWhere( - body.keyword != null && body.keyword != "" - ? "current_holder.citizenId LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "posType.posTypeName LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "posLevel.posLevelName LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - }), - ) - .skip((body.page - 1) * body.pageSize) - .take(body.pageSize) - .getManyAndCount(); - if (!findPosMaster) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. PosMaster"); - } + @Post("salary/gen") + async salaryGen( + @Body() + body: { + page: number; + pageSize: number; + keyword?: string; + }, + ) { + const findRevision = await this.orgRevisionRepository.findOne({ + where: { orgRevisionIsCurrent: true }, + }); + if (!findRevision) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. OrgRevision"); + } - const formattedData = findPosMaster.map((item) => { - let orgShortName = ""; - - if (item.orgChild1Id === null) { - orgShortName = item.orgRoot?.orgRootShortName; - } else if (item.orgChild2Id === null) { - orgShortName = item.orgChild1?.orgChild1ShortName; - } else if (item.orgChild3Id === null) { - orgShortName = item.orgChild2?.orgChild2ShortName; - } else if (item.orgChild4Id === null) { - orgShortName = item.orgChild3?.orgChild3ShortName; - } else { - orgShortName = item.orgChild4?.orgChild4ShortName; - } - const posExecutive = - item.positions == null || - item.positions?.find((position) => position.positionIsSelected == true) == null || - item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive == - null || - item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive - ?.posExecutiveName == null - ? null - : item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive - .posExecutiveName; - - const amount = - item.current_holder == null || item.current_holder.profileSalary.length == 0 - ? null - : item.current_holder.profileSalary.sort((a: any, b: any) => b.date - a.date)[0].amount; - - return { - prefix: item.current_holder.prefix, - firstName: item.current_holder.firstName, - lastName: item.current_holder.lastName, - citizenId: item.current_holder.citizenId, - posMasterNoPrefix: item.posMasterNoPrefix, - posMasterNo: item.posMasterNo, - posMasterNoSuffix: item.posMasterNoSuffix, - orgShortName: orgShortName, - position: item.current_holder.position, - posType: item.current_holder.posType.posTypeName, - posLevel: item.current_holder.posLevel.posLevelName, - posExecutive: posExecutive, - amount: amount?amount:0, - rootId: item.orgRootId, - root: item.orgRoot?.orgRootName?item.orgRoot.orgRootName:null, - child1Id: item.orgChild1Id, - child1: item.orgChild1?.orgChild1Name?item.orgChild1.orgChild1Name:null, - child2Id: item.orgChild2Id, - child2: item.orgChild2?.orgChild2Name?item.orgChild2.orgChild2Name:null, - child3Id: item.orgChild3Id, - child3: item.orgChild3?.orgChild3Name?item.orgChild3.orgChild3Name:null, - child4Id: item.orgChild4Id, - child4: item.orgChild4?.orgChild4Name?item.orgChild4.orgChild4Name:null, - isResult: true, - isDuration: false, - isPunish: true, - isRetired: false, - isRetired2: true, - }; - }); - - return new HttpSuccess({data:formattedData,total:total}); - } + const [findPosMaster, total] = await AppDataSource.getRepository(PosMaster) + .createQueryBuilder("posMaster") + .leftJoinAndSelect("posMaster.current_holder", "current_holder") + .leftJoinAndSelect("posMaster.orgRoot", "orgRoot") + .leftJoinAndSelect("posMaster.orgChild1", "orgChild1") + .leftJoinAndSelect("posMaster.orgChild2", "orgChild2") + .leftJoinAndSelect("posMaster.orgChild3", "orgChild3") + .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") + .leftJoinAndSelect("posMaster.positions", "positions") + .leftJoinAndSelect("positions.posExecutive", "posExecutive") + .leftJoinAndSelect("current_holder.profileSalary", "profileSalary") + .leftJoinAndSelect("current_holder.posLevel", "posLevel") + .leftJoinAndSelect("current_holder.posType", "posType") + .where({ + orgRevisionId: findRevision?.id, + current_holderId: Not(IsNull()), + }) + .andWhere( + new Brackets((qb) => { + qb.where( + body.keyword != null && body.keyword != "" + ? "current_holder.prefix LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.firstName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.lastName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.position LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + + .orWhere( + body.keyword != null && body.keyword != "" + ? "current_holder.citizenId LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "posType.posTypeName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "posLevel.posLevelName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ); + }), + ) + .skip((body.page - 1) * body.pageSize) + .take(body.pageSize) + .getManyAndCount(); + if (!findPosMaster) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "not found. PosMaster"); + } + + const formattedData = findPosMaster.map((item) => { + let orgShortName = ""; + + if (item.orgChild1Id === null) { + orgShortName = item.orgRoot?.orgRootShortName; + } else if (item.orgChild2Id === null) { + orgShortName = item.orgChild1?.orgChild1ShortName; + } else if (item.orgChild3Id === null) { + orgShortName = item.orgChild2?.orgChild2ShortName; + } else if (item.orgChild4Id === null) { + orgShortName = item.orgChild3?.orgChild3ShortName; + } else { + orgShortName = item.orgChild4?.orgChild4ShortName; + } + const posExecutive = + item.positions == null || + item.positions?.find((position) => position.positionIsSelected == true) == null || + item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive == + null || + item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive + ?.posExecutiveName == null + ? null + : item.positions?.find((position) => position.positionIsSelected == true)?.posExecutive + .posExecutiveName; + + const amount = + item.current_holder == null || item.current_holder.profileSalary.length == 0 + ? null + : item.current_holder.profileSalary.sort((a: any, b: any) => b.date - a.date)[0].amount; + + return { + prefix: item.current_holder.prefix, + firstName: item.current_holder.firstName, + lastName: item.current_holder.lastName, + citizenId: item.current_holder.citizenId, + posMasterNoPrefix: item.posMasterNoPrefix, + posMasterNo: item.posMasterNo, + posMasterNoSuffix: item.posMasterNoSuffix, + orgShortName: orgShortName, + position: item.current_holder.position, + posType: item.current_holder.posType.posTypeName, + posLevel: item.current_holder.posLevel.posLevelName, + posExecutive: posExecutive, + amount: amount ? amount : 0, + rootId: item.orgRootId, + root: item.orgRoot?.orgRootName ? item.orgRoot.orgRootName : null, + child1Id: item.orgChild1Id, + child1: item.orgChild1?.orgChild1Name ? item.orgChild1.orgChild1Name : null, + child2Id: item.orgChild2Id, + child2: item.orgChild2?.orgChild2Name ? item.orgChild2.orgChild2Name : null, + child3Id: item.orgChild3Id, + child3: item.orgChild3?.orgChild3Name ? item.orgChild3.orgChild3Name : null, + child4Id: item.orgChild4Id, + child4: item.orgChild4?.orgChild4Name ? item.orgChild4.orgChild4Name : null, + result: null, + duration: null, + punish: null, + retired: null, + retired2: null, + isRetired: null, + }; + }); + + return new HttpSuccess({ data: formattedData, total: total }); + } /** * API หาสำนักทั้งหมด (unauthorize) diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index b09d4184..cb561752 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -397,35 +397,30 @@ export class PositionController extends Controller { orgRoot = await this.orgRootRepository.findOne({ where: { id: requestBody.orgRootId }, }); - SName = orgRoot.orgRootShortName; if (!orgRoot) { let orgChild1: any = null; if (requestBody.orgChild1Id != null) orgChild1 = await this.child1Repository.findOne({ where: { id: requestBody.orgChild1Id }, }); - SName = orgChild1.orgChild1ShortName; if (!orgChild1) { let orgChild2: any = null; if (requestBody.orgChild2Id != null) orgChild2 = await this.child2Repository.findOne({ where: { id: requestBody.orgChild2Id }, }); - SName = orgChild2.orgChild2ShortName; if (!orgChild2) { let orgChild3: any = null; if (requestBody.orgChild3Id != null) orgChild3 = await this.child3Repository.findOne({ where: { id: requestBody.orgChild3Id }, }); - SName = orgChild3.orgChild3ShortName; if (!orgChild3) { let orgChild4: any = null; if (requestBody.orgChild4Id != null) orgChild4 = await this.child4Repository.findOne({ where: { id: requestBody.orgChild4Id }, }); - SName = orgChild4.orgChild4ShortName; if (!orgChild4) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงสร้าง"); } else { @@ -445,6 +440,7 @@ export class PositionController extends Controller { posMaster.orgChild3Id = orgChild4.orgChild3Id; posMaster.orgChild4Id = orgChild4.id; posMaster.orgRevisionId = orgChild4.orgRevisionId; + SName = orgChild4.orgChild4ShortName; } } else { const order: any = await this.posMasterRepository.findOne({ @@ -463,6 +459,7 @@ export class PositionController extends Controller { posMaster.orgChild2Id = orgChild3.orgChild2Id; posMaster.orgChild3Id = orgChild3.id; posMaster.orgRevisionId = orgChild3.orgRevisionId; + SName = orgChild3.orgChild3ShortName; } } else { const order: any = await this.posMasterRepository.findOne({ @@ -481,6 +478,7 @@ export class PositionController extends Controller { posMaster.orgChild1Id = orgChild2.orgChild1Id; posMaster.orgChild2Id = orgChild2.id; posMaster.orgRevisionId = orgChild2.orgRevisionId; + SName = orgChild2.orgChild2ShortName; } } else { const order: any = await this.posMasterRepository.findOne({ @@ -499,6 +497,7 @@ export class PositionController extends Controller { posMaster.orgRootId = orgChild1.orgRootId; posMaster.orgChild1Id = orgChild1.id; posMaster.orgRevisionId = orgChild1.orgRevisionId; + SName = orgChild1.orgChild1ShortName; } } else { const order: any = await this.posMasterRepository.findOne({ @@ -517,6 +516,7 @@ export class PositionController extends Controller { : 1; posMaster.orgRootId = orgRoot.id; posMaster.orgRevisionId = orgRoot.orgRevisionId; + SName = orgRoot.orgRootShortName; } const chk_SName0 = await this.posMasterRepository.findOne({ @@ -680,35 +680,30 @@ export class PositionController extends Controller { orgRoot = await this.orgRootRepository.findOne({ where: { id: requestBody.orgRootId }, }); - SName = orgRoot.orgRootShortName; if (!orgRoot) { let orgChild1: any = null; if (requestBody.orgChild1Id != null) orgChild1 = await this.child1Repository.findOne({ where: { id: requestBody.orgChild1Id }, }); - SName = orgChild1.orgChild1ShortName; if (!orgChild1) { let orgChild2: any = null; if (requestBody.orgChild2Id != null) orgChild2 = await this.child2Repository.findOne({ where: { id: requestBody.orgChild2Id }, }); - SName = orgChild2.orgChild2ShortName; if (!orgChild2) { let orgChild3: any = null; if (requestBody.orgChild3Id != null) orgChild3 = await this.child3Repository.findOne({ where: { id: requestBody.orgChild3Id }, }); - SName = orgChild3.orgChild3ShortName; if (!orgChild3) { let orgChild4: any = null; if (requestBody.orgChild4Id != null) orgChild4 = await this.child4Repository.findOne({ where: { id: requestBody.orgChild4Id }, }); - SName = orgChild4.orgChild4ShortName; if (!orgChild4) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงสร้าง"); } else { @@ -718,6 +713,7 @@ export class PositionController extends Controller { posMaster.orgChild3Id = orgChild4.orgChild3Id; posMaster.orgChild4Id = orgChild4.id; posMaster.orgRevisionId = orgChild4.orgRevisionId; + SName = orgChild4.orgChild4ShortName; } } else { posMaster.orgRootId = orgChild3.orgRootId; @@ -725,21 +721,25 @@ export class PositionController extends Controller { posMaster.orgChild2Id = orgChild3.orgChild2Id; posMaster.orgChild3Id = orgChild3.id; posMaster.orgRevisionId = orgChild3.orgRevisionId; + SName = orgChild3.orgChild3ShortName; } } else { posMaster.orgRootId = orgChild2.orgRootId; posMaster.orgChild1Id = orgChild2.orgChild1Id; posMaster.orgChild2Id = orgChild2.id; posMaster.orgRevisionId = orgChild2.orgRevisionId; + SName = orgChild2.orgChild2ShortName; } } else { posMaster.orgRootId = orgChild1.orgRootId; posMaster.orgChild1Id = orgChild1.id; posMaster.orgRevisionId = orgChild1.orgRevisionId; + SName = orgChild1.orgChild1ShortName; } } else { posMaster.orgRootId = orgRoot.id; posMaster.orgRevisionId = orgRoot.orgRevisionId; + SName = orgRoot.orgRootShortName; } const chk_SName0 = await this.posMasterRepository.findOne({ @@ -1968,10 +1968,7 @@ export class PositionController extends Controller { relations: ["positions"], }); if (!dataMaster) { - throw new HttpError( - HttpStatusCode.NOT_FOUND, - "ไม่พบข้อมูลตำแหน่งนี้" - ); + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งนี้"); } dataMaster.positions.forEach(async (position) => { if (position.id === requestBody.position) { @@ -2042,10 +2039,7 @@ export class PositionController extends Controller { }, }); if (!dataPublish) { - throw new HttpError( - HttpStatusCode.NOT_FOUND, - "ไม่พบข้อมูลตำแหน่งนี้", - ); + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งนี้"); } const dataDraft = await this.posMasterRepository.findOne({ @@ -2054,10 +2048,7 @@ export class PositionController extends Controller { }, }); if (!dataDraft) { - throw new HttpError( - HttpStatusCode.NOT_FOUND, - "ไม่พบข้อมูลตำแหน่งนี้" - ); + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งนี้"); } await this.posMasterRepository.update( diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index d7c70242..5b78ccfa 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -1060,6 +1060,7 @@ export class ProfileController extends Controller { punish: null, retired: null, retired2: null, + isRetired: null, }; }); From 15c6932f919cb1ab16582e6956e2accddc6482ee Mon Sep 17 00:00:00 2001 From: Kittapath Date: Thu, 29 Feb 2024 14:07:39 +0700 Subject: [PATCH 4/5] =?UTF-8?q?=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99?= =?UTF-8?q?=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99=E0=B9=84=E0=B8=A1?= =?UTF-8?q?=E0=B9=88=E0=B8=A1=E0=B8=B5=E0=B8=84=E0=B9=88=E0=B8=B2=E0=B9=83?= =?UTF-8?q?=E0=B8=AB=E0=B9=89=E0=B9=80=E0=B8=9B=E0=B9=87=E0=B8=99null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/OrganizationUnauthorizeController.ts | 2 +- src/controllers/ProfileController.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/OrganizationUnauthorizeController.ts b/src/controllers/OrganizationUnauthorizeController.ts index dc119d1c..fd28b769 100644 --- a/src/controllers/OrganizationUnauthorizeController.ts +++ b/src/controllers/OrganizationUnauthorizeController.ts @@ -186,7 +186,7 @@ export class OrganizationUnauthorizeController extends Controller { posType: item.current_holder.posType.posTypeName, posLevel: item.current_holder.posLevel.posLevelName, posExecutive: posExecutive, - amount: amount ? amount : 0, + amount: amount ? amount : null, rootId: item.orgRootId, root: item.orgRoot?.orgRootName ? item.orgRoot.orgRootName : null, child1Id: item.orgChild1Id, diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 5b78ccfa..3ca0eef7 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -1043,7 +1043,7 @@ export class ProfileController extends Controller { posType: item.current_holder.posType.posTypeName, posLevel: item.current_holder.posLevel.posLevelName, posExecutive: posExecutive, - amount: amount ? amount : 0, + amount: amount ? amount : null, // revisionId: item.orgRevisionId, rootId: item.orgRootId, root: item.orgRoot?.orgRootName ? item.orgRoot.orgRootName : null, From 432c3f68511ffb3af800b2781b3d75dbbcd2dfa1 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Thu, 29 Feb 2024 14:41:15 +0700 Subject: [PATCH 5/5] no message --- src/controllers/OrganizationUnauthorizeController.ts | 2 +- src/controllers/ProfileController.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/OrganizationUnauthorizeController.ts b/src/controllers/OrganizationUnauthorizeController.ts index fd28b769..8dee46d4 100644 --- a/src/controllers/OrganizationUnauthorizeController.ts +++ b/src/controllers/OrganizationUnauthorizeController.ts @@ -202,7 +202,7 @@ export class OrganizationUnauthorizeController extends Controller { punish: null, retired: null, retired2: null, - isRetired: null, + isRetired: false, }; }); diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 3ca0eef7..3da9ec80 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -1060,7 +1060,7 @@ export class ProfileController extends Controller { punish: null, retired: null, retired2: null, - isRetired: null, + isRetired: false, }; });