diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index b5dd6343..469779ff 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); @@ -491,7 +491,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); } @@ -599,7 +599,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; @@ -615,7 +615,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); } @@ -636,7 +636,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 = { @@ -665,4 +665,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; + } + } }