test(4) #2160
This commit is contained in:
parent
53d6be09d5
commit
f4be31ed08
1 changed files with 47 additions and 35 deletions
|
|
@ -565,7 +565,7 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
relations: ["posMaster"],
|
||||
where: {
|
||||
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);
|
||||
}
|
||||
// // ดึง 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;
|
||||
for (const item of posMaster) {
|
||||
|
||||
|
|
@ -611,19 +588,15 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
const newAssigns = assigns.map(({ id, ...fields }) => ({
|
||||
...fields, // copy ทุก field ยกเว้น id
|
||||
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);
|
||||
}
|
||||
// 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) {
|
||||
const profile = await repoProfile.findOne({
|
||||
|
|
@ -690,6 +663,45 @@ async function handler_org(msg: amqp.ConsumeMessage): Promise<boolean> {
|
|||
const orgChild4 = await child4Repository.find({
|
||||
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
|
||||
const orgemployeePosMaster = await repoEmployeePosmaster.find({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue