diff --git a/src/modules/queue/domain/usecases/queue/customer-queue.manager.ts b/src/modules/queue/domain/usecases/queue/customer-queue.manager.ts index 9b386db..915e850 100644 --- a/src/modules/queue/domain/usecases/queue/customer-queue.manager.ts +++ b/src/modules/queue/domain/usecases/queue/customer-queue.manager.ts @@ -51,6 +51,7 @@ export class CustomerQueueManager { .filter((q) => ['waiting'].includes(q.status)) .reduce((acc, item) => acc + item.qty, 0); } + totalQueueTickets(ticket: QueueTicketModel): number { const tickets = ticket.items.map((item) => { return this.totalQueueItems(item.queue); @@ -60,15 +61,27 @@ export class CustomerQueueManager { 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 { const total_tickets = this.totalTickets(ticket); const total_used = this.totalUsedTickets(ticket); const total_queue = this.totalQueueTickets(ticket); + const total_queue_item = this.totalQueueItemTickets(ticket); return { total_activities: this.totalActivities(ticket), total_tickets, total_used, total_queue, + total_queue_item, remaining: total_tickets - total_queue, }; }