#1305 ลบ posMasterAct
This commit is contained in:
parent
c297572c79
commit
018aae2c57
3 changed files with 57 additions and 3 deletions
|
|
@ -42,6 +42,7 @@ import {
|
|||
checkReturnCommandType,
|
||||
checkExceptCommandType,
|
||||
checkCommandType,
|
||||
removePostMasterAct,
|
||||
} from "../interfaces/utils";
|
||||
import { Position } from "../entities/Position";
|
||||
import { PosMaster } from "../entities/PosMaster";
|
||||
|
|
@ -3381,6 +3382,7 @@ export class CommandController extends Controller {
|
|||
let _posNumCodeSit: string = "";
|
||||
let _posNumCodeSitAbb: string = "";
|
||||
const _command = await this.commandRepository.findOne({
|
||||
relations: ["commandType"],
|
||||
where: { id: body.data.find((x) => x.commandId)?.commandId ?? "" },
|
||||
});
|
||||
if (_command) {
|
||||
|
|
@ -3430,6 +3432,11 @@ export class CommandController extends Controller {
|
|||
if (!profile) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทะเบียนประวัตินี้");
|
||||
}
|
||||
//ลบตำแหน่งที่รักษาการแทน
|
||||
const code = _command?.commandType?.code;
|
||||
if(code && ["C-PM-08","C-PM-17", "C-PM-18"].includes(code)){
|
||||
removePostMasterAct(profile.id);
|
||||
}
|
||||
let _commandYear = item.commandYear;
|
||||
if (item.commandYear) {
|
||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||
|
|
@ -3492,6 +3499,7 @@ export class CommandController extends Controller {
|
|||
// profile.posTypeId = _null;
|
||||
// profile.posLevelId = _null;
|
||||
}
|
||||
|
||||
if (item.isGovernment == true) {
|
||||
if (returnWork) {
|
||||
//ปลดตำแหน่งเดิมที่ไม่ถูกปลดออกจากกิ่งครั้งเมื่อออกคำสั่งพักราชการหรือออกราชการไว้
|
||||
|
|
@ -3499,7 +3507,8 @@ export class CommandController extends Controller {
|
|||
//ปั๊มตำแหน่งใหม่
|
||||
const posMaster = await this.posMasterRepository.findOne({
|
||||
where: { id: item.posmasterId?.toString() },
|
||||
});
|
||||
});
|
||||
|
||||
if (posMaster) {
|
||||
const checkPosition = await this.positionRepository.find({
|
||||
where: {
|
||||
|
|
@ -3846,6 +3855,7 @@ export class CommandController extends Controller {
|
|||
let _posNumCodeSit: string = "";
|
||||
let _posNumCodeSitAbb: string = "";
|
||||
const _command = await this.commandRepository.findOne({
|
||||
relations: ["commandType"],
|
||||
where: { id: body.data.find((x) => x.commandId)?.commandId ?? "" },
|
||||
});
|
||||
if (_command) {
|
||||
|
|
@ -3895,6 +3905,13 @@ export class CommandController extends Controller {
|
|||
if (!profile) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทะเบียนประวัตินี้");
|
||||
}
|
||||
|
||||
//ลบตำแหน่งที่รักษาการแทน
|
||||
const code = _command?.commandType?.code;
|
||||
if(code && ["C-PM-13"].includes(code)){
|
||||
removePostMasterAct(profile.id);
|
||||
}
|
||||
|
||||
let _commandYear = item.commandYear;
|
||||
if (item.commandYear) {
|
||||
_commandYear = item.commandYear > 2500 ? item.commandYear : item.commandYear + 543;
|
||||
|
|
@ -4159,6 +4176,7 @@ export class CommandController extends Controller {
|
|||
let _posNumCodeSit: string = "";
|
||||
let _posNumCodeSitAbb: string = "";
|
||||
const _command = await this.commandRepository.findOne({
|
||||
relations: ["commandType"],
|
||||
where: { id: body.data.find((x) => x.commandId)?.commandId ?? "" },
|
||||
});
|
||||
if (_command) {
|
||||
|
|
@ -4231,6 +4249,13 @@ export class CommandController extends Controller {
|
|||
if (!profile) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลทะเบียนประวัตินี้");
|
||||
}
|
||||
|
||||
//ลบตำแหน่งที่รักษาการแทน
|
||||
const code = _command?.commandType?.code;
|
||||
if(code && ["C-PM-19", "C-PM-20"].includes(code)){
|
||||
removePostMasterAct(profile.id);
|
||||
}
|
||||
|
||||
const orgRevision = await this.orgRevisionRepo.findOne({
|
||||
where: {
|
||||
orgRevisionIsCurrent: true,
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import { PosMaster } from "../entities/PosMaster";
|
|||
import { Profile } from "../entities/Profile";
|
||||
import { RequestWithUser } from "../middlewares/user";
|
||||
import permission from "../interfaces/permission";
|
||||
import { setLogDataDiff } from "../interfaces/utils";
|
||||
import { checkQueueInProgress, setLogDataDiff } from "../interfaces/utils";
|
||||
import { sendToQueueOrg, sendToQueueOrgDraft } from "../services/rabbitmq";
|
||||
import { PosType } from "../entities/PosType";
|
||||
import { PosLevel } from "../entities/PosLevel";
|
||||
|
|
@ -3255,7 +3255,7 @@ export class OrganizationController extends Controller {
|
|||
user: request.user,
|
||||
token: request.headers["authorization"],
|
||||
};
|
||||
sendToQueueOrg(msg);
|
||||
await sendToQueueOrg(msg);
|
||||
return new HttpSuccess();
|
||||
} catch (error: any) {
|
||||
if (error?.status && error?.message) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import { ProfileSalary } from "../entities/ProfileSalary";
|
|||
import { Profile } from "../entities/Profile";
|
||||
import { ProfileEmployee } from "../entities/ProfileEmployee";
|
||||
import { CommandRecive } from "../entities/CommandRecive";
|
||||
import { PosMasterAct } from "../entities/PosMasterAct";
|
||||
export function calculateAge(start: Date, end = new Date()) {
|
||||
if (start.getTime() > end.getTime()) return null;
|
||||
|
||||
|
|
@ -331,6 +332,34 @@ export async function removeProfileInOrganize(profileId: string, type: string) {
|
|||
}
|
||||
}
|
||||
|
||||
export async function removePostMasterAct(profileId: string) {
|
||||
const currentRevision = await AppDataSource.getRepository(OrgRevision)
|
||||
.createQueryBuilder("orgRevision")
|
||||
.where("orgRevision.orgRevisionIsDraft = false")
|
||||
.andWhere("orgRevision.orgRevisionIsCurrent = true")
|
||||
.getOne();
|
||||
|
||||
if (!currentRevision) {
|
||||
return;
|
||||
}
|
||||
|
||||
const findProfileInposMaster = await AppDataSource.getRepository(PosMaster)
|
||||
.createQueryBuilder("posMaster")
|
||||
.where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: currentRevision?.id })
|
||||
.andWhere("posMaster.current_holderId = :profileId", { profileId })
|
||||
.getOne();
|
||||
|
||||
if (!findProfileInposMaster) {
|
||||
return;
|
||||
}
|
||||
|
||||
const posMasterAct = await AppDataSource.getRepository(PosMasterAct)
|
||||
.createQueryBuilder("posMasterAct")
|
||||
.where("posMasterAct.posMasterChildId = :posMasterChildId", { posMasterChildId: findProfileInposMaster.id })
|
||||
.getMany();
|
||||
await AppDataSource.getRepository(PosMasterAct).remove(posMasterAct);
|
||||
}
|
||||
|
||||
export async function checkReturnCommandType(commandId: string) {
|
||||
const commandRepository = AppDataSource.getRepository(Command);
|
||||
const _type = await commandRepository.findOne({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue