This commit is contained in:
Adisak 2025-11-12 18:02:28 +07:00
parent 3d689ff19c
commit 96b6ce1973
2 changed files with 7 additions and 17 deletions

View file

@ -4313,9 +4313,7 @@ export class CommandController extends Controller {
if(orgRevisionRef){ if(orgRevisionRef){
await CreatePosMasterHistoryOfficer(orgRevisionRef.id, req, "DELETE"); await CreatePosMasterHistoryOfficer(orgRevisionRef.id, req, "DELETE");
} }
console.log("A");
await removeProfileInOrganize(profile.id, "OFFICER"); await removeProfileInOrganize(profile.id, "OFFICER");
console.log("Z");
} }
const clearProfile = await checkCommandType(String(item.commandId)); const clearProfile = await checkCommandType(String(item.commandId));
const _null: any = null; const _null: any = null;

View file

@ -253,73 +253,65 @@ export function calculateRetireYear(birthDate: Date) {
return yy + 61; return yy + 61;
} }
export async function removeProfileInOrganize(profileId: string, type: string) { export async function removeProfileInOrganize(profileId: string, type: string) {
console.log(1);
const currentRevision = await AppDataSource.getRepository(OrgRevision) const currentRevision = await AppDataSource.getRepository(OrgRevision)
.createQueryBuilder("orgRevision") .createQueryBuilder("orgRevision")
.where("orgRevision.orgRevisionIsDraft = false") .where("orgRevision.orgRevisionIsDraft = false")
.andWhere("orgRevision.orgRevisionIsCurrent = true") .andWhere("orgRevision.orgRevisionIsCurrent = true")
.getOne(); .getOne();
console.log(2);
const draftRevision = await AppDataSource.getRepository(OrgRevision) const draftRevision = await AppDataSource.getRepository(OrgRevision)
.createQueryBuilder("orgRevision") .createQueryBuilder("orgRevision")
.where("orgRevision.orgRevisionIsDraft = true") .where("orgRevision.orgRevisionIsDraft = true")
.andWhere("orgRevision.orgRevisionIsCurrent = false") .andWhere("orgRevision.orgRevisionIsCurrent = false")
.getOne(); .getOne();
console.log(3);
if (!currentRevision && !draftRevision) { if (!currentRevision && !draftRevision) {
console.log(4);
return; return;
} }
if (type === "OFFICER") { if (type === "OFFICER") {
console.log(5);
const findProfileInposMaster = await AppDataSource.getRepository(PosMaster) const findProfileInposMaster = await AppDataSource.getRepository(PosMaster)
.createQueryBuilder("posMaster") .createQueryBuilder("posMaster")
.where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: currentRevision?.id }) .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: currentRevision?.id })
.andWhere("posMaster.current_holderId = :profileId", { profileId }) .andWhere("posMaster.current_holderId = :profileId", { profileId })
.getOne(); .getOne();
console.log(6);
await AppDataSource.getRepository(PosMaster) await AppDataSource.getRepository(PosMaster)
.createQueryBuilder() .createQueryBuilder()
.update(PosMaster) .update(PosMaster)
.set({ current_holderId: null }) .set({ current_holderId: null })
.where("id = :id", { id: findProfileInposMaster?.id }) .where("id = :id", { id: findProfileInposMaster?.id })
.execute(); .execute();
console.log(7);
const findProfileInposMasterDraft = await AppDataSource.getRepository(PosMaster) const findProfileInposMasterDraft = await AppDataSource.getRepository(PosMaster)
.createQueryBuilder("posMaster") .createQueryBuilder("posMaster")
.where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: draftRevision?.id }) .where("posMaster.orgRevisionId = :orgRevisionId", { orgRevisionId: draftRevision?.id })
.andWhere("posMaster.next_holderId = :profileId", { profileId }) .andWhere("posMaster.next_holderId = :profileId", { profileId })
.getOne(); .getOne();
console.log(8);
await AppDataSource.getRepository(PosMaster) await AppDataSource.getRepository(PosMaster)
.createQueryBuilder() .createQueryBuilder()
.update(PosMaster) .update(PosMaster)
.set({ next_holderId: null }) .set({ next_holderId: null })
.where("id = :id", { id: findProfileInposMasterDraft?.id }) .where("id = :id", { id: findProfileInposMasterDraft?.id })
.execute(); .execute();
console.log(9);
if (!findProfileInposMaster && !findProfileInposMasterDraft) { if (!findProfileInposMaster && !findProfileInposMasterDraft) {
console.log(10);
return; return;
} }
console.log(11);
const findPosition = await AppDataSource.getRepository(Position) const findPosition = await AppDataSource.getRepository(Position)
.createQueryBuilder("position") .createQueryBuilder("position")
.where("position.posMasterId = :posMasterId", { posMasterId: findProfileInposMaster?.id }) .where("position.posMasterId = :posMasterId", { posMasterId: findProfileInposMaster?.id })
.getMany(); .getMany();
console.log(12);
if (!findPosition) { if (!findPosition) {
console.log(13);
return; return;
} }
console.log(13);
await AppDataSource.getRepository(Position) await AppDataSource.getRepository(Position)
.createQueryBuilder() .createQueryBuilder()
.update(Position) .update(Position)
.set({ positionIsSelected: false }) .set({ positionIsSelected: false })
.where("id IN (:...ids)", { ids: findPosition.map((item) => item.id) }) .where("id IN (:...ids)", { ids: findPosition.map((item) => item.id) })
.execute(); .execute();
console.log(14);
} }
if (type === "EMPLOYEE") { if (type === "EMPLOYEE") {
const findProfileInEmpPosMaster = await AppDataSource.getRepository(EmployeePosMaster) const findProfileInEmpPosMaster = await AppDataSource.getRepository(EmployeePosMaster)