fix remove posmaster rabbit

This commit is contained in:
AdisakKanthawilang 2025-03-19 10:51:34 +07:00
parent a86f385ebd
commit 7b6d271252

View file

@ -1713,17 +1713,20 @@ async function handler_org_draft(msg: amqp.ConsumeMessage): Promise<boolean> {
});
// await posMasterRepository.remove(_posMasters);
const batchSize = 1000;
for (let i = 0; i < _posMasters.length; i += batchSize) {
const batch = _posMasters.slice(i, i + batchSize);
try {
await posMasterRepository.remove(batch);
console.log(`Removed PosMaster batch ${i / batchSize + 1}`);
} catch (error) {
console.log(`Failed to remove batch ${i / batchSize + 1}`);
const removeInBatches = async (repository:any, data:any, label:any) => {
for (let i = 0; i < data.length; i += batchSize) {
const batch = data.slice(i, i + batchSize);
try {
await repository.remove(batch);
console.log(`Removed ${label} batch ${i / batchSize + 1}`);
} catch (error) {
console.log(`Failed to remove ${label} batch ${i / batchSize + 1}`);
}
}
}
await employeePosMasterRepository.remove(_employeePosMasters);
await employeeTempPosMasterRepository.remove(_employeeTempPosMasters);
};
await removeInBatches(posMasterRepository, _posMasters, "PosMaster");
await removeInBatches(employeePosMasterRepository, _employeePosMasters, "EmployeePosMaster");
await removeInBatches(employeeTempPosMasterRepository, _employeeTempPosMasters, "EmployeeTempPosMaster");
await child4Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await child3Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });
await child2Repository.delete({ orgRevisionId: In(_orgRevisions.map((x) => x.id)) });