From 068dabe7927678f05027c351004933ef74e6dcba Mon Sep 17 00:00:00 2001 From: mamoss <> Date: Thu, 27 Mar 2025 03:18:00 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=84=E0=B9=89=E0=B8=99=E0=B8=AB=E0=B8=B2?= =?UTF-8?q?=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1=E0=B8=9A=E0=B9=82=E0=B8=84?= =?UTF-8?q?=E0=B8=A3=E0=B8=87=E0=B8=AA=E0=B8=A3=E0=B9=89=E0=B8=B2=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/OrganizationController.ts | 47 ++++++++++++++++++++--- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/src/controllers/OrganizationController.ts b/src/controllers/OrganizationController.ts index f77b48a0..b7be0f34 100644 --- a/src/controllers/OrganizationController.ts +++ b/src/controllers/OrganizationController.ts @@ -36,6 +36,8 @@ import { EmployeePosition } from "../entities/EmployeePosition"; import { EmployeePosMaster } from "../entities/EmployeePosMaster"; import { EmployeeTempPosMaster } from "../entities/EmployeeTempPosMaster"; import { AuthRole } from "../entities/AuthRole"; +import { PosType } from "../entities/PosType"; +import { PosLevel } from "../entities/PosLevel"; @Route("api/v1/org") @Tags("Organization") @@ -60,6 +62,8 @@ export class OrganizationController extends Controller { private employeePosMasterRepository = AppDataSource.getRepository(EmployeePosMaster); private employeePositionRepository = AppDataSource.getRepository(EmployeePosition); private employeeTempPosMasterRepository = AppDataSource.getRepository(EmployeeTempPosMaster); + private posTypeRepository = AppDataSource.getRepository(PosType); + private posLevelRepository = AppDataSource.getRepository(PosLevel); /** * API ล้างข้อมูล @@ -152,14 +156,17 @@ export class OrganizationController extends Controller { data: { requestBody: requestBody, request: request.user, - revision: revision + revision: revision, }, - } + }; try { await sendToQueueOrgDraft(msg); - return new HttpSuccess ('Draft is being created... Processing in the background.'); - } catch (error:any) { - return new HttpError (HttpStatusCode.NOT_FOUND,'Failed to process the draft. Please try again later.'); + return new HttpSuccess("Draft is being created... Processing in the background."); + } catch (error: any) { + return new HttpError( + HttpStatusCode.NOT_FOUND, + "Failed to process the draft. Please try again later.", + ); } } @@ -7544,4 +7551,34 @@ export class OrganizationController extends Controller { }); } } + + /** + * API ลำดับโครงสร้าง + * + * @summary - ลำดับโครงสร้าง (ADMIN) + * + */ + @Get("root/search/sort") + async searchSortRootLevelType(@Request() request: RequestWithUser) { + const root = await this.orgRootRepository.find({ + where: { + orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true }, + }, + order: { orgRootOrder: "ASC" }, + select: ["orgRootName"], + }); + const posType = await this.posTypeRepository.find({ + order: { posTypeRank: "ASC" }, + select: ["posTypeName"], + }); + const posLevel = await this.posLevelRepository.find({ + order: { posLevelRank: "ASC" }, + select: ["posLevelName"], + }); + return new HttpSuccess({ + root: root, + posTypeNameOrder: posType, + posLevelNameOrder: posLevel, + }); + } }