no message

This commit is contained in:
kittapath 2024-11-21 18:20:29 +07:00
parent 2d2f35847a
commit 5e7fa0eddf
2 changed files with 110 additions and 72 deletions

View file

@ -30,6 +30,10 @@ import permission from "../interfaces/permission";
import { PermissionOrg } from "../entities/PermissionOrg";
import { setLogDataDiff } from "../interfaces/utils";
import { sendToQueueOrg } from "../services/rabbitmq";
import { PosMasterAssign } from "../entities/PosMasterAssign";
import { PosMasterAct } from "../entities/PosMasterAct";
import { EmployeePosition } from "../entities/EmployeePosition";
import { EmployeePosMaster } from "../entities/EmployeePosMaster";
@Route("api/v1/org")
@Tags("Organization")
@ -47,8 +51,12 @@ export class OrganizationController extends Controller {
private child3Repository = AppDataSource.getRepository(OrgChild3);
private child4Repository = AppDataSource.getRepository(OrgChild4);
private posMasterRepository = AppDataSource.getRepository(PosMaster);
private posMasterActRepository = AppDataSource.getRepository(PosMasterAct);
private posMasterAssignRepository = AppDataSource.getRepository(PosMasterAssign);
private positionRepository = AppDataSource.getRepository(Position);
private profileRepo = AppDataSource.getRepository(Profile);
private employeePosMasterRepository = AppDataSource.getRepository(EmployeePosMaster);
private employeePositionRepository = AppDataSource.getRepository(EmployeePosition);
/**
* API
@ -653,20 +661,32 @@ export class OrganizationController extends Controller {
const _orgRevisions = await this.orgRevisionRepository.find({
where: [{ orgRevisionIsDraft: true, id: Not(revision.id) }],
});
const _roots = await this.orgRootRepository.find({
where: [{ orgRevisionId: In(_orgRevisions.map((x) => x.id)) }],
});
const _posMasters = await this.posMasterRepository.find({
where: [{ orgRevisionId: In(_orgRevisions.map((x) => x.id)) }],
});
const _positions = await this.positionRepository.find({
where: [{ posMasterId: In(_posMasters.map((x) => x.id)) }],
const _employeePosMasters = await this.employeePosMasterRepository.find({
where: [{ orgRevisionId: In(_orgRevisions.map((x) => x.id)) }],
});
await this.positionRepository.delete({ posMasterId: In(_posMasters.map((x) => x.id)) });
await this.employeePositionRepository.delete({
posMasterId: In(_employeePosMasters.map((x) => x.id)),
});
await this.posMasterAssignRepository.delete({ posMasterId: In(_posMasters.map((x) => x.id)) });
await this.posMasterActRepository.delete({ posMasterId: In(_posMasters.map((x) => x.id)) });
await this.posMasterActRepository.delete({
posMasterChildId: In(_posMasters.map((x) => x.id)),
});
await this.positionRepository.remove(_positions);
await this.posMasterRepository.remove(_posMasters);
await this.employeePosMasterRepository.remove(_employeePosMasters);
await this.child4Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await this.child3Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await this.child2Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await this.child1Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await this.permissionOrgRepository.delete({
orgRootId: In(_posMasters.map((x) => x.orgRootId)),
orgRootId: In(_roots.map((x) => x.id)),
});
await this.orgRootRepository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await this.orgRevisionRepository.remove(_orgRevisions);