bug search org_053

This commit is contained in:
AdisakKanthawilang 2024-02-01 15:21:23 +07:00
parent 38f44d8f36
commit 73bd1bc604

View file

@ -24,7 +24,7 @@ import { PosType } from "../entities/PosType";
import { PosLevel } from "../entities/PosLevel";
import { CreatePosDict, PosDict } from "../entities/PosDict";
import HttpError from "../interfaces/http-error";
import { In, IsNull, Like, Not } from "typeorm";
import { ILike, In, IsNull, Like, Not } from "typeorm";
import { CreatePosMaster, PosMaster } from "../entities/PosMaster";
import { OrgRevision } from "../entities/OrgRevision";
import { OrgRoot } from "../entities/OrgRoot";
@ -774,11 +774,20 @@ export class PositionController extends Controller {
orgChild4Id: body.id,
};
}
const keywordCondition = {}
? {
posMasterNoPrefix: Like(`%${body.keyword}%`),
positionName: Like(`%${body.keyword}%`),
posTypeName: Like(`%${body.keyword}%`),
posLevelName: Like(`%${body.keyword}%`),
}
: {};
const posMaster = await this.posMasterRepository.find({
where: {
...typeCondition,
...checkChildConditions,
...keywordCondition,
},
skip: (body.page - 1) * body.pageSize,
take: body.pageSize,
@ -988,4 +997,86 @@ export class PositionController extends Controller {
return error;
}
}
/**
* API
*
* @summary ORG_041 - (ADMIN) #44
*
*/
@Post("executive")
async createPosExecutive(
@Body()
requestBody: CreatePosMaster,
@Request() request: { user: Record<string, any> }
) {
const posExecutive = Object.assign(new PosExecutive(), requestBody);
if (!posExecutive) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูล");
}
try {
posExecutive.createdUserId = request.user.sub;
posExecutive.createdFullName = request.user.name;
posExecutive.lastUpdateUserId = request.user.sub;
posExecutive.lastUpdateFullName = request.user.name;
await this.posExecutiveRepository.save(posExecutive);
return new HttpSuccess();
} catch (error) {
return error;
}
}
/**
* API
*
* @summary ORG_042 - (ADMIN) #45
*
* @param {string} id Id
*/
@Put("executive/{id}")
async updatePosExecutive(
@Path() id: string,
@Body()
requestBody: CreatePosMaster,
@Request() request: { user: Record<string, any> }
) {
const posExecutive = Object.assign(new PosExecutive(), requestBody);
if (!posExecutive) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลไอดีนี้ : " + id);
}
try {
posExecutive.lastUpdateUserId = request.user.sub;
posExecutive.lastUpdateFullName = request.user.name;
await this.posExecutiveRepository.save(posExecutive);
return new HttpSuccess();
} catch (error) {
return error;
}
}
/**
* API
*
* @summary ORG_043 - (ADMIN) #46
*
* @param {string} id Id
*/
@Delete("executive/{id}")
async deletePosExecutive(@Path() id: string) {
const delPosExecutive = await this.posExecutiveRepository.findOne({
where: { id },
});
if (!delPosExecutive) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตำแหน่งตามไอดีนี้ : " + id);
}
try {
await this.positionRepository.delete({ posExecutiveId: id });
await this.posExecutiveRepository.delete({ id });
return new HttpSuccess();
} catch (error) {
return error;
}
}
}