diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index e8835b1b..c17ccb0c 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -621,17 +621,16 @@ export class PositionController extends Controller { posMaster.orgRevisionId = orgRoot.orgRevisionId; SName = orgRoot.orgRootShortName; } - // let fullPosMasterNo = String((requestBody.posMasterNoPrefix).trim() + (requestBody.posMasterNo) + (requestBody.posMasterNoSuffix).trim()); - // let searchShortName = `CONCAT(posMaster.posMasterNoPrefix,posMaster.posMasterNo,posMaster.posMasterNoSuffix)`; + const chk_SName0 = await this.posMasterRepository.findOne({ where: { orgRevisionId: posMaster.orgRevisionId, orgRoot: { orgRootShortName: SName }, orgChild1Id: IsNull(), + posMasterNo: requestBody.posMasterNo, }, relations: ["orgRoot"], }); - if (chk_SName0 != null) { throw new HttpError( HttpStatusCode.INTERNAL_SERVER_ERROR, @@ -702,84 +701,83 @@ export class PositionController extends Controller { ); } - let fullPosName = String((requestBody.posMasterNoPrefix).trim() + (requestBody.posMasterNo) + (requestBody.posMasterNoSuffix).trim()); - let filterName = `CONCAT(posMaster.posMasterNoPrefix,posMaster.posMasterNo,posMaster.posMasterNoSuffix)`; - - const chk_FullName0 = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .from("posMaster", "posMaster") - .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) - .andWhere("posMaster.orgRootShortName = :orgRootShortName", { orgRootShortName: SName }) - .andWhere("posMaster.orgChild1Id IS NULL") - .andWhere(`${filterName} = :fullPosName`, { fullPosName }); - - if (chk_FullName0 != null) { - throw new HttpError( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", - ); - } - - const chk_FullName1 = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .from("posMaster", "posMaster") - .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) - .andWhere("posMaster.orgChild1ShortName = :orgChild1ShortName", { orgChild1ShortName: SName }) - .andWhere("posMaster.orgChild2Id IS NULL") - .andWhere(`${filterName} = :fullPosName`, { fullPosName }); - - if (chk_FullName1 != null) { - throw new HttpError( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", - ); - } - - const chk_FullName2 = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .from("posMaster", "posMaster") - .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) - .andWhere("posMaster.orgChild2ShortName = :orgChild2ShortName", { orgChild2ShortName: SName }) - .andWhere("posMaster.orgChild3Id IS NULL") - .andWhere(`${filterName} = :fullPosName`, { fullPosName }); - - if (chk_FullName2 != null) { - throw new HttpError( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", - ); - } - - const chk_FullName3 = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .from("posMaster", "posMaster") - .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) - .andWhere("posMaster.orgChild3ShortName = :orgChild3ShortName", { orgChild3ShortName: SName }) - .andWhere("posMaster.orgChild4Id IS NULL") - .andWhere(`${filterName} = :fullPosName`, { fullPosName }); - - if (chk_FullName3 != null) { - throw new HttpError( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", - ); - } - - const chk_FullName4 = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .from("posMaster", "posMaster") - .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) - .andWhere("posMaster.orgChild4ShortName = :orgChild4ShortName", { orgChild4ShortName: SName }) - .andWhere(`${filterName} = :fullPosName`, { fullPosName }); - - if (chk_FullName4 != null) { - throw new HttpError( - HttpStatusCode.INTERNAL_SERVER_ERROR, - "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", - ); - } + // let fullPosRootName = `CONCAT(posMaster.orgRootShortName).trim() + (requestBody.posMasterNo))`; + // let filterRootName = `CONCAT(posMaster.orgRootShortName,posMaster.posMasterNo)`; + // const chk_FullName0 = await AppDataSource.getRepository(PosMaster) + // .createQueryBuilder("posMaster") + // .from("posMaster", "posMaster") + // .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) + // .andWhere("posMaster.orgRootShortName = :orgRootShortName", { orgRootShortName: SName }) + // .andWhere("posMaster.orgChild1Id IS NULL") + // .andWhere(`${filterRootName} = :fullPosRootName`, { fullPosRootName }); + // if (chk_FullName0 != null) { + // throw new HttpError( + // HttpStatusCode.INTERNAL_SERVER_ERROR, + // "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", + // ); + // } + + // const chk_FullName1 = await AppDataSource.getRepository(PosMaster) + // .createQueryBuilder("posMaster") + // .from("posMaster", "posMaster") + // .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) + // .andWhere("posMaster.orgChild1ShortName = :orgChild1ShortName", { orgChild1ShortName: SName }) + // .andWhere("posMaster.orgChild2Id IS NULL") + // .andWhere(`${filterName} = :fullPosName`, { fullPosName }); + + // if (chk_FullName1 != null) { + // throw new HttpError( + // HttpStatusCode.INTERNAL_SERVER_ERROR, + // "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", + // ); + // } + + // const chk_FullName2 = await AppDataSource.getRepository(PosMaster) + // .createQueryBuilder("posMaster") + // .from("posMaster", "posMaster") + // .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) + // .andWhere("posMaster.orgChild2ShortName = :orgChild2ShortName", { orgChild2ShortName: SName }) + // .andWhere("posMaster.orgChild3Id IS NULL") + // .andWhere(`${filterName} = :fullPosName`, { fullPosName }); + + // if (chk_FullName2 != null) { + // throw new HttpError( + // HttpStatusCode.INTERNAL_SERVER_ERROR, + // "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", + // ); + // } + + // const chk_FullName3 = await AppDataSource.getRepository(PosMaster) + // .createQueryBuilder("posMaster") + // .from("posMaster", "posMaster") + // .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) + // .andWhere("posMaster.orgChild3ShortName = :orgChild3ShortName", { orgChild3ShortName: SName }) + // .andWhere("posMaster.orgChild4Id IS NULL") + // .andWhere(`${filterName} = :fullPosName`, { fullPosName }); + + // if (chk_FullName3 != null) { + // throw new HttpError( + // HttpStatusCode.INTERNAL_SERVER_ERROR, + // "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", + // ); + // } + + // const chk_FullName4 = await AppDataSource.getRepository(PosMaster) + // .createQueryBuilder("posMaster") + // .from("posMaster", "posMaster") + // .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: posMaster.orgRevisionId }) + // .andWhere("posMaster.orgChild4ShortName = :orgChild4ShortName", { orgChild4ShortName: SName }) + // .andWhere(`${filterName} = :fullPosName`, { fullPosName }); + + // if (chk_FullName4 != null) { + // throw new HttpError( + // HttpStatusCode.INTERNAL_SERVER_ERROR, + // "ไม่สามารถเพิ่มชื่อตำแหน่งซ้ำกันได้", + // ); + // } + posMaster.createdUserId = request.user.sub; posMaster.createdFullName = request.user.name; posMaster.lastUpdateUserId = request.user.sub; @@ -998,7 +996,7 @@ export class PositionController extends Controller { ); } } - + posMaster.createdUserId = request.user.sub; posMaster.createdFullName = request.user.name; posMaster.lastUpdateUserId = request.user.sub;