From 62c3a2950efec12c5dde2676910ac9d9c2c9b527 Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Wed, 31 Jan 2024 15:09:22 +0700 Subject: [PATCH] =?UTF-8?q?org=5F035=20=E0=B8=A5=E0=B8=9A=E0=B8=AD?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=A3=E0=B8=B2=E0=B8=81=E0=B8=B3=E0=B8=A5?= =?UTF-8?q?=E0=B8=B1=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/PositionController.ts | 35 +++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index 10164b6d..4d516ee1 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -47,7 +47,7 @@ export class PositionController extends Controller { private posLevelRepository = AppDataSource.getRepository(PosLevel); private posDictRepository = AppDataSource.getRepository(PosDict); private posMasterRepository = AppDataSource.getRepository(PosMaster); - private posPositionRepository = AppDataSource.getRepository(Position); + private positionRepository = AppDataSource.getRepository(Position); private orgRevisionRepository = AppDataSource.getRepository(OrgRevision); private orgRootRepository = AppDataSource.getRepository(OrgRoot); @@ -524,7 +524,7 @@ export class PositionController extends Controller { position.createdFullName = request.user.name; position.lastUpdateUserId = request.user.sub; position.lastUpdateFullName = request.user.name; - await this.posPositionRepository.save(position); + await this.positionRepository.save(position); }); return new HttpSuccess(posMaster.id); } @@ -632,7 +632,7 @@ export class PositionController extends Controller { posMaster.lastUpdateFullName = request.user.name; await this.posMasterRepository.save(posMaster); - await this.posPositionRepository.delete({ posMasterId: posMaster.id }); + await this.positionRepository.delete({ posMasterId: posMaster.id }); requestBody.positions.forEach(async (x: any) => { const position = Object.assign(new Position()); position.positionName = x.posDictName; @@ -648,7 +648,7 @@ export class PositionController extends Controller { position.createdFullName = request.user.name; position.lastUpdateUserId = request.user.sub; position.lastUpdateFullName = request.user.name; - await this.posPositionRepository.save(position); + await this.positionRepository.save(position); }); return new HttpSuccess(posMaster.id); } @@ -669,7 +669,7 @@ export class PositionController extends Controller { if (!posMaster) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล"); } - const positions = await this.posPositionRepository.find({ + const positions = await this.positionRepository.find({ where: { posMasterId: posMaster.id }, }); const formattedData = { @@ -698,4 +698,29 @@ export class PositionController extends Controller { return error; } } + + /** + * API ลบอัตรากำลัง + * + * @summary ORG_035 - ลบอัตรากำลัง (ADMIN) #38 + * + * @param {string} id Id ตำแหน่ง + */ + @Delete("master/{id}") + async deletePosMaster(@Path() id: string) { + const delPosMaster = await this.posMasterRepository.findOne({ + where: { id }, + // relations: ["position"], + }); + if (!delPosMaster) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งตามไอดีนี้ : " + id); + } + try { + await this.positionRepository.delete({ posMasterId: id }); + await this.posMasterRepository.delete({ id }); + return new HttpSuccess(); + } catch (error) { + return error; + } + } }