diff --git a/src/controllers/PosMasterController.ts b/src/controllers/PosMasterController.ts deleted file mode 100644 index aec1e674..00000000 --- a/src/controllers/PosMasterController.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { - Controller, - Post, - Put, - Delete, - Route, - Security, - Tags, - Body, - Path, - Request, - SuccessResponse, - Response, - Get, -} from "tsoa"; -import { AppDataSource } from "../database/data-source"; -import HttpSuccess from "../interfaces/http-success"; -import HttpStatusCode from "../interfaces/http-status"; -import HttpError from "../interfaces/http-error"; -import { PosMaster, CreatePosMaster, UpdatePosMaster } from "../entities/PosMaster"; -import { Not } from "typeorm"; -import { Position } from "../entities/Position"; - -@Route("api/v1/org/pos/profile") -@Tags("PosMaster") -@Security("bearerAuth") -@Response( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง", -) -@SuccessResponse(HttpStatusCode.OK, "สำเร็จ") -export class PosMasterController extends Controller { - private posMasterRepository = AppDataSource.getRepository(PosMaster); - private positionRepository = AppDataSource.getRepository(Position); - - /** - * API สร้างทะเบียนประวัติ - * - * @summary ORG_065 - สร้างทะเบียนประวัติ (ADMIN) #70 - * - */ - @Post() - async createHolder( - @Body() requestBody: { posMaster: string; position: string; profileId: string; isSit: boolean }, - ) { - const dataMaster = await this.posMasterRepository.findOne({ - where: { id: requestBody.posMaster }, - relations: ["positions"], - }); - if (!dataMaster) { - throw new HttpError( - HttpStatusCode.NOT_FOUND, - "ไม่พบข้อมูลไอดีนี้ : " + requestBody.posMaster, - ); - } - try { - dataMaster.positions.forEach(async (position) => { - if (position.id === requestBody.position) { - position.positionIsSelected = true; - } else { - position.positionIsSelected = false; - } - await this.positionRepository.save(position); - }); - - dataMaster.isSit = requestBody.isSit; - dataMaster.next_holderId = requestBody.profileId; - await this.posMasterRepository.save(dataMaster); - - return new HttpSuccess(); - } catch (error) { - return error; - } - } - - /** - * API สร้างทะเบียนประวัติ - * - * @summary ORG_066 - ลบคนครองตำแหน่ง (ADMIN) #71 - * - * @param {string} id *Id posMaster - */ - @Post("delete/{id}") - async deleteHolder(@Path() id: string) { - const dataMaster = await this.posMasterRepository.findOne({ - where: { id: id }, - relations: ["positions"], - }); - if (!dataMaster) { - throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลไอดีนี้ : " + id); - } - try { - await this.posMasterRepository.update(id, { - isSit: false, - next_holderId: null, - }); - - dataMaster.positions.forEach(async (position) => { - await this.positionRepository.update(position.id, { - positionIsSelected: false, - }); - }); - - return new HttpSuccess(); - } catch (error) { - return error; - } - } -} diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index 3c363fce..36705d10 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -742,25 +742,46 @@ export class PositionController extends Controller { relations: ["posLevel", "posType", "posExecutive"], }); - if(body.isAll === true) { - if(posMaster.orgRootId !== null && posMaster.orgChild1Id == null && posMaster.orgChild2Id == null - && posMaster.orgChild2Id == null && posMaster.orgChild3Id == null) { + if (body.isAll === true) { + if ( + posMaster.orgRootId !== null && + posMaster.orgChild1Id == null && + posMaster.orgChild2Id == null && + posMaster.orgChild2Id == null && + posMaster.orgChild3Id == null + ) { body.type = 0; - } - else if(posMaster.orgRootId !== null && posMaster.orgChild1Id !== null && posMaster.orgChild2Id == null - && posMaster.orgChild2Id == null && posMaster.orgChild3Id == null) { + } else if ( + posMaster.orgRootId !== null && + posMaster.orgChild1Id !== null && + posMaster.orgChild2Id == null && + posMaster.orgChild2Id == null && + posMaster.orgChild3Id == null + ) { body.type = 1; - } - else if(posMaster.orgRootId !== null && posMaster.orgChild1Id !== null && posMaster.orgChild2Id !== null - && posMaster.orgChild2Id == null && posMaster.orgChild3Id == null) { + } else if ( + posMaster.orgRootId !== null && + posMaster.orgChild1Id !== null && + posMaster.orgChild2Id !== null && + posMaster.orgChild2Id == null && + posMaster.orgChild3Id == null + ) { body.type = 2; - } - else if(posMaster.orgRootId !== null && posMaster.orgChild1Id !== null && posMaster.orgChild2Id !== null - && posMaster.orgChild2Id !== null && posMaster.orgChild3Id == null) { + } else if ( + posMaster.orgRootId !== null && + posMaster.orgChild1Id !== null && + posMaster.orgChild2Id !== null && + posMaster.orgChild2Id !== null && + posMaster.orgChild3Id == null + ) { body.type = 3; - } - else if(posMaster.orgRootId !== null && posMaster.orgChild1Id !== null && posMaster.orgChild2Id !== null - && posMaster.orgChild2Id !== null && posMaster.orgChild3Id !== null) { + } else if ( + posMaster.orgRootId !== null && + posMaster.orgChild1Id !== null && + posMaster.orgChild2Id !== null && + posMaster.orgChild2Id !== null && + posMaster.orgChild3Id !== null + ) { body.type = 4; } } @@ -1337,4 +1358,77 @@ export class PositionController extends Controller { return error; } } + /** + * API สร้างทะเบียนประวัติ + * + * @summary ORG_065 - สร้างทะเบียนประวัติ (ADMIN) #70 + * + */ + @Post("profile") + async createHolder( + @Body() requestBody: { posMaster: string; position: string; profileId: string; isSit: boolean }, + ) { + const dataMaster = await this.posMasterRepository.findOne({ + where: { id: requestBody.posMaster }, + relations: ["positions"], + }); + if (!dataMaster) { + throw new HttpError( + HttpStatusCode.NOT_FOUND, + "ไม่พบข้อมูลไอดีนี้ : " + requestBody.posMaster, + ); + } + try { + dataMaster.positions.forEach(async (position) => { + if (position.id === requestBody.position) { + position.positionIsSelected = true; + } else { + position.positionIsSelected = false; + } + await this.positionRepository.save(position); + }); + + dataMaster.isSit = requestBody.isSit; + dataMaster.next_holderId = requestBody.profileId; + await this.posMasterRepository.save(dataMaster); + + return new HttpSuccess(); + } catch (error) { + return error; + } + } + + /** + * API สร้างทะเบียนประวัติ + * + * @summary ORG_066 - ลบคนครองตำแหน่ง (ADMIN) #71 + * + * @param {string} id *Id posMaster + */ + @Post("profile/delete/{id}") + async deleteHolder(@Path() id: string) { + const dataMaster = await this.posMasterRepository.findOne({ + where: { id: id }, + relations: ["positions"], + }); + if (!dataMaster) { + throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลไอดีนี้ : " + id); + } + try { + await this.posMasterRepository.update(id, { + isSit: false, + next_holderId: null, + }); + + dataMaster.positions.forEach(async (position) => { + await this.positionRepository.update(position.id, { + positionIsSelected: false, + }); + }); + + return new HttpSuccess(); + } catch (error) { + return error; + } + } }