หาคนส่งสำเนา

This commit is contained in:
mamoss 2025-03-21 17:14:45 +07:00
parent 1f0ae6cc5a
commit 5eeb380e01

View file

@ -2099,38 +2099,85 @@ export class CommandController extends Controller {
.catch(() => {});
if (!["C-PM-10"].includes(commandCode)) {
if (requestBody.persons != undefined && requestBody.persons.length > 0) {
let posMaster: any;
if (["C-PM-36", "C-PM-37"].includes(commandCode)) {
posMaster = await this.employeePosMasterRepository.find({
let _orgRoot: any = [];
let _orgChild1: any = [];
let _orgChild2: any = [];
let _orgChild3: any = [];
let _orgChild4: any = [];
if (
[
"C-PM-21",
"C-PM-22",
"C-PM-23",
"C-PM-24",
"C-PM-34",
"C-PM-36",
"C-PM-37",
"C-PM-37",
"C-PM-37",
"C-PM-37",
].includes(commandCode)
) {
let posMaster = await this.employeePosMasterRepository.find({
where: {
current_holderId: In(requestBody.persons.map((x) => x.profileId)),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
},
select: ["orgRootId"],
select: ["orgRootId", "orgChild1Id", "orgChild2Id", "orgChild3Id", "orgChild4Id"],
});
_orgRoot = posMaster
.filter((x) => x.orgRootId != null && x.orgRootId != "")
.map((x) => x.orgRootId);
_orgChild1 = posMaster
.filter((x) => x.orgChild1Id != null && x.orgChild1Id != "")
.map((x) => x.orgChild1Id);
_orgChild2 = posMaster
.filter((x) => x.orgChild2Id != null && x.orgChild2Id != "")
.map((x) => x.orgChild2Id);
_orgChild3 = posMaster
.filter((x) => x.orgChild3Id != null && x.orgChild3Id != "")
.map((x) => x.orgChild3Id);
_orgChild4 = posMaster
.filter((x) => x.orgChild4Id != null && x.orgChild4Id != "")
.map((x) => x.orgChild4Id);
} else {
var posMasterOfficer = await this.posMasterRepository.find({
where: {
current_holderId: In(requestBody.persons.map((x) => x.profileId)),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
},
select: ["orgRootId"],
select: ["orgRootId", "orgChild1Id", "orgChild2Id", "orgChild3Id", "orgChild4Id"],
});
var posMasterEmployee = await this.employeePosMasterRepository.find({
where: {
current_holderId: In(requestBody.persons.map((x) => x.profileId)),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
},
select: ["orgRootId"],
select: ["orgRootId", "orgChild1Id", "orgChild2Id", "orgChild3Id", "orgChild4Id"],
});
posMaster = [...posMasterOfficer, ...posMasterEmployee];
let posMaster = [...posMasterOfficer, ...posMasterEmployee];
_orgRoot = posMaster
.filter((x) => x.orgRootId != null && x.orgRootId != "")
.map((x) => x.orgRootId);
_orgChild1 = posMaster
.filter((x) => x.orgChild1Id != null && x.orgChild1Id != "")
.map((x) => x.orgChild1Id);
_orgChild2 = posMaster
.filter((x) => x.orgChild2Id != null && x.orgChild2Id != "")
.map((x) => x.orgChild2Id);
_orgChild3 = posMaster
.filter((x) => x.orgChild3Id != null && x.orgChild3Id != "")
.map((x) => x.orgChild3Id);
_orgChild4 = posMaster
.filter((x) => x.orgChild4Id != null && x.orgChild4Id != "")
.map((x) => x.orgChild4Id);
}
let _posMaster: any;
if (["C-PM-38", "C-PM-40"].includes(commandCode)) {
_posMaster = await this.posMasterRepository.find({
where: {
orgRootId: In(posMaster.map((x: any) => x.orgRootId)),
orgRootId: In(_orgRoot),
orgChild1: IsNull(),
orgChild2: IsNull(),
orgChild3: IsNull(),
@ -2143,12 +2190,48 @@ export class CommandController extends Controller {
});
} else {
_posMaster = await this.posMasterRepository.find({
where: {
orgRootId: In(posMaster.map((x: any) => x.orgRootId)),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
where: [
{
orgRootId: In(_orgRoot),
orgChild1: IsNull(),
orgChild2: IsNull(),
orgChild3: IsNull(),
orgChild4: IsNull(),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
{
orgChild1: In(_orgChild1),
orgChild2: IsNull(),
orgChild3: IsNull(),
orgChild4: IsNull(),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
{
orgChild2: In(_orgChild2),
orgChild3: IsNull(),
orgChild4: IsNull(),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
{
orgChild3: In(_orgChild3),
orgChild4: IsNull(),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
{
orgChild4: In(_orgChild3),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),
},
],
relations: ["current_holder", "orgRoot"],
});
}
@ -2204,6 +2287,7 @@ export class CommandController extends Controller {
.filter((x) => x.rootId != undefined && x.rootId != null && x.rootId != "")
.map((x) => x.rootId),
),
orgChild1: IsNull(),
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
isDirector: true,
current_holderId: Not(IsNull()),