commit
c66f1c8fec
1 changed files with 47 additions and 35 deletions
|
|
@ -565,7 +565,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
relations: ["posMaster"],
|
relations: ["posMaster"],
|
||||||
where: {
|
where: {
|
||||||
posMaster: {
|
posMaster: {
|
||||||
orgRevisionId: orgRevisionPublish?.id,
|
orgRevisionId: orgRevisionPublish!.id,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
@ -578,30 +578,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
}
|
}
|
||||||
assignMap.get(dna)!.push(posmasterAssign);
|
assignMap.get(dna)!.push(posmasterAssign);
|
||||||
}
|
}
|
||||||
// // ดึง permissionProfiles ของ revision เดิม
|
|
||||||
// const oldPermissionProfiles = await permissionProfilesRepository.find({
|
|
||||||
// relations: ["orgRootTree"],
|
|
||||||
// where: {
|
|
||||||
// orgRootTree: {
|
|
||||||
// orgRevisionId: orgRevisionPublish?.id,
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// // สร้าง Map: ancestorDNA → permissionProfiles[]
|
|
||||||
// const permissionMap = new Map<string, PermissionProfile[]>();
|
|
||||||
// for (const permissionProfile of oldPermissionProfiles) {
|
|
||||||
// const dna = permissionProfile.orgRootTree.ancestorDNA;
|
|
||||||
// if (!permissionMap.has(dna)) {
|
|
||||||
// permissionMap.set(dna, []);
|
|
||||||
// }
|
|
||||||
// permissionMap.get(dna)!.push(permissionProfile);
|
|
||||||
// }
|
|
||||||
// const newRoots = await orgRootRepository.find({
|
|
||||||
// where: { orgRevisionId: orgRevisionDraft?.id },
|
|
||||||
// });
|
|
||||||
// const newRootMap = new Map(
|
|
||||||
// newRoots.map(r => [r.ancestorDNA, r.id])
|
|
||||||
// );
|
|
||||||
const _null: any = null;
|
const _null: any = null;
|
||||||
for (const item of posMaster) {
|
for (const item of posMaster) {
|
||||||
|
|
||||||
|
|
@ -611,19 +588,15 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
const newAssigns = assigns.map(({ id, ...fields }) => ({
|
const newAssigns = assigns.map(({ id, ...fields }) => ({
|
||||||
...fields, // copy ทุก field ยกเว้น id
|
...fields, // copy ทุก field ยกเว้น id
|
||||||
posMasterId: item.id, // ผูกกับ posMasterId ใหม่
|
posMasterId: item.id, // ผูกกับ posMasterId ใหม่
|
||||||
|
createdAt: new Date(),
|
||||||
|
createdFullName: user.name,
|
||||||
|
createdUserId: user.sub,
|
||||||
|
lastUpdatedAt: new Date(),
|
||||||
|
lastUpdateFullName: user.name,
|
||||||
|
lastUpdateUserId: user.sub,
|
||||||
}));
|
}));
|
||||||
await posMasterAssignRepository.save(newAssigns);
|
await posMasterAssignRepository.save(newAssigns);
|
||||||
}
|
}
|
||||||
// Clone permissionProfiles
|
|
||||||
// const perms = permissionMap.get(item.ancestorDNA);
|
|
||||||
// const newRootId = newRootMap.get(item.orgRoot.ancestorDNA);
|
|
||||||
// if (perms && perms.length > 0 && newRootId) {
|
|
||||||
// const newPerms = perms.map(({ id, ...fields }) => ({
|
|
||||||
// ...fields,
|
|
||||||
// orgRootId: newRootId,
|
|
||||||
// }));
|
|
||||||
// await permissionProfilesRepository.save(newPerms);
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (item.next_holderId != null) {
|
if (item.next_holderId != null) {
|
||||||
const profile = await repoProfile.findOne({
|
const profile = await repoProfile.findOne({
|
||||||
|
|
@ -690,6 +663,45 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
||||||
const orgChild4 = await child4Repository.find({
|
const orgChild4 = await child4Repository.find({
|
||||||
where: { orgRevisionId: orgRevisionPublish.id },
|
where: { orgRevisionId: orgRevisionPublish.id },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const newRoots = await orgRootRepository.find({
|
||||||
|
where: { orgRevisionId: orgRevisionDraft.id },
|
||||||
|
});
|
||||||
|
// map ancestorDNA -> newRootId
|
||||||
|
const newRootMap = new Map(
|
||||||
|
newRoots.map(r => [r.ancestorDNA, r.id])
|
||||||
|
);
|
||||||
|
// ดึง permissionProfiles ของ revision เดิม
|
||||||
|
const oldPermissionProfiles = await permissionProfilesRepository.find({
|
||||||
|
relations: ["orgRootTree"],
|
||||||
|
where: {
|
||||||
|
orgRootTree: {
|
||||||
|
orgRevisionId: orgRevisionPublish.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const inserts: any[] = [];
|
||||||
|
for (const permiss of oldPermissionProfiles) {
|
||||||
|
const newRootId = newRootMap.get(permiss.orgRootTree.ancestorDNA);
|
||||||
|
if (!newRootId) continue;
|
||||||
|
|
||||||
|
const { id, ...fields } = permiss;
|
||||||
|
|
||||||
|
inserts.push({
|
||||||
|
...fields,
|
||||||
|
orgRootId: newRootId,
|
||||||
|
createdAt: new Date(),
|
||||||
|
createdFullName: user.name,
|
||||||
|
createdUserId: user.sub,
|
||||||
|
lastUpdatedAt: new Date(),
|
||||||
|
lastUpdateFullName: user.name,
|
||||||
|
lastUpdateUserId: user.sub,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inserts.length > 0) {
|
||||||
|
await permissionProfilesRepository.insert(inserts);
|
||||||
|
}
|
||||||
|
|
||||||
//หา dna posmaster ถ้าไม่มีให้เอาตัวเองเป็น dna
|
//หา dna posmaster ถ้าไม่มีให้เอาตัวเองเป็น dna
|
||||||
const orgemployeePosMaster = await repoEmployeePosmaster.find({
|
const orgemployeePosMaster = await repoEmployeePosmaster.find({
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue