fix(SPG-1036): remove queue if empty
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

pull/115/head 1.2.6-alpha.4
shancheas 2024-11-20 11:46:19 +07:00
parent 99d0fc8560
commit 4dc21c4ebd
1 changed files with 40 additions and 34 deletions

View File

@ -33,42 +33,48 @@ export class CustomerQueueListManager extends CustomerQueueManager {
}); });
}); });
return Object.keys(ticketItems).map((item_id) => { return Object.keys(ticketItems)
const tickets: QueueTicketModel[] = ticketItems[item_id]; .map((item_id) => {
const item = tickets[0].items[0]; const tickets: QueueTicketModel[] = ticketItems[item_id];
const uniqueTicket = tickets.filter( const item = tickets[0].items[0];
(obj1, i, arr) => arr.findIndex((obj2) => obj2.id === obj1.id) === i, const uniqueTicket = tickets.filter(
); (obj1, i, arr) => arr.findIndex((obj2) => obj2.id === obj1.id) === i,
let totalQueue = 0; );
let totalQueue = 0;
const currentTickets = uniqueTicket.map((ticket) => { const currentTickets = uniqueTicket.map((ticket) => {
const currentTicket = tickets.filter((t) => t.id === ticket.id); const currentTicket = tickets.filter((t) => t.id === ticket.id);
const queues = this.ticketToQueues(currentTicket); const queues = this.ticketToQueues(currentTicket);
const currentQueues = queues.map((q) => { const currentQueues = queues.map((q) => {
return { return {
code: q.code, code: q.code,
qty: q.qty, qty: q.qty,
time: this.toTime(q.time), time: this.toTime(q.time),
status: q.status, status: q.status,
}; };
});
totalQueue += currentQueues.length;
return currentQueues.length > 0
? {
code: ticket.code,
customer: ticket.customer,
phone: ticket.phone,
id: ticket.id,
queue: currentQueues,
}
: null;
}); });
totalQueue += currentQueues.length;
return {
code: ticket.code,
customer: ticket.customer,
phone: ticket.phone,
id: ticket.id,
queue: currentQueues,
};
});
return { return currentTickets.filter(Boolean).length > 0
id: item.item_id, ? {
title: item.item.item_queue?.name ?? item.item.name, id: item.item_id,
image_url: item.item.image_url, title: item.item.item_queue?.name ?? item.item.name,
qty: totalQueue, image_url: item.item.image_url,
items: currentTickets, qty: totalQueue,
}; items: currentTickets.filter(Boolean),
}); }
: null;
})
.filter(Boolean);
} }
} }