feat: add total_queue_item to summary ticket
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

pull/115/head 1.2.6-alpha.3
shancheas 2024-11-20 10:40:23 +07:00
parent 8d54c686fc
commit ac3fde14e3
1 changed files with 13 additions and 0 deletions

View File

@ -51,6 +51,7 @@ export class CustomerQueueManager {
.filter((q) => ['waiting'].includes(q.status)) .filter((q) => ['waiting'].includes(q.status))
.reduce((acc, item) => acc + item.qty, 0); .reduce((acc, item) => acc + item.qty, 0);
} }
totalQueueTickets(ticket: QueueTicketModel): number { totalQueueTickets(ticket: QueueTicketModel): number {
const tickets = ticket.items.map((item) => { const tickets = ticket.items.map((item) => {
return this.totalQueueItems(item.queue); return this.totalQueueItems(item.queue);
@ -60,15 +61,27 @@ export class CustomerQueueManager {
return tickets.reduce(reducer, 0); return tickets.reduce(reducer, 0);
} }
totalQueueItemTickets(ticket: QueueTicketModel): number {
const tickets = ticket.items
.map((item) => {
return this.totalQueueItems(item.queue);
})
.filter((item) => item > 0);
return tickets.length;
}
summaryTicket(ticket: QueueTicketModel): any { summaryTicket(ticket: QueueTicketModel): any {
const total_tickets = this.totalTickets(ticket); const total_tickets = this.totalTickets(ticket);
const total_used = this.totalUsedTickets(ticket); const total_used = this.totalUsedTickets(ticket);
const total_queue = this.totalQueueTickets(ticket); const total_queue = this.totalQueueTickets(ticket);
const total_queue_item = this.totalQueueItemTickets(ticket);
return { return {
total_activities: this.totalActivities(ticket), total_activities: this.totalActivities(ticket),
total_tickets, total_tickets,
total_used, total_used,
total_queue, total_queue,
total_queue_item,
remaining: total_tickets - total_queue, remaining: total_tickets - total_queue,
}; };
} }