From cb452cf5f399cf4edf78f1b739576ff9f7a96eb6 Mon Sep 17 00:00:00 2001 From: shancheas Date: Thu, 21 Nov 2024 11:30:31 +0700 Subject: [PATCH] fix(SPG-1045): send rest qty instead all qty --- .../queue/data/services/ticket.service.ts | 17 +++++++++++++++++ src/modules/queue/domain/queue.orchestrator.ts | 9 +++++++++ .../controllers/queue.controller.ts | 5 +++++ 3 files changed, 31 insertions(+) diff --git a/src/modules/queue/data/services/ticket.service.ts b/src/modules/queue/data/services/ticket.service.ts index 1fe03ea..db6bdd9 100644 --- a/src/modules/queue/data/services/ticket.service.ts +++ b/src/modules/queue/data/services/ticket.service.ts @@ -182,6 +182,23 @@ export class TicketDataService extends BaseDataService { }); } + async queueUniqueTickets(order_id: string): Promise { + const start = moment().startOf('day').valueOf(); + const end = moment().endOf('day').valueOf(); + return this.repo.find({ + relations: [ + 'items', + 'items.queue', + 'items.item', + 'items.item.item_queue', + ], + where: { + order_id: order_id, + date: Between(start, end), + }, + }); + } + async queueTicketItems( order_id: string, ticket_id: string, diff --git a/src/modules/queue/domain/queue.orchestrator.ts b/src/modules/queue/domain/queue.orchestrator.ts index 1e96469..2f0d6b3 100644 --- a/src/modules/queue/domain/queue.orchestrator.ts +++ b/src/modules/queue/domain/queue.orchestrator.ts @@ -145,6 +145,15 @@ export class QueueOrchestrator { return manager.data; } + async queueUniqueItems(order_id: string): Promise { + const tickets = await this.dataService.queueUniqueTickets(order_id); + const queueItemIds = this.getQueueItemFromTickets(tickets); + const queues = await this.queueService.queues(queueItemIds); + const manager = new CustomerQueueItemListManager(tickets); + manager.currentQueues(queues); + return manager.data; + } + async queueOrderItems(order_id: string): Promise { const tickets = await this.dataService.queueTickets(order_id); const manager = new CustomerQueueListManager(tickets); diff --git a/src/modules/queue/infrastructure/controllers/queue.controller.ts b/src/modules/queue/infrastructure/controllers/queue.controller.ts index 65572de..ad6e3a5 100644 --- a/src/modules/queue/infrastructure/controllers/queue.controller.ts +++ b/src/modules/queue/infrastructure/controllers/queue.controller.ts @@ -71,6 +71,11 @@ export class QueueController { return await this.orchestrator.queueItems(id); } + @Get(':id/unique-items') + async queueUniqueItems(@Param('id') id: string): Promise { + return await this.orchestrator.queueUniqueItems(id); + } + @Get(':id/pos-items') async queuePosItems(@Param('id') id: string): Promise { return await this.orchestrator.queuePOSTickets(id);