| @@ -36,13 +36,15 @@ class DoPickOrder { | |||
| @Column(name = "shop_id") | |||
| var shopId: Long? = null | |||
| @Column(name = "do_order_id") | |||
| var doOrderId: Long? = null | |||
| @Column(name = "shop_po_supplier_id") | |||
| var shopPoSupplierId: Long? = null | |||
| @Column(name = "handled_by") | |||
| var handledBy: Long? = null | |||
| @Column(name = "ticket_release_time") | |||
| var ticketReleaseTime: LocalDateTime? = null | |||
| @CreationTimestamp | |||
| @Column(name = "created") | |||
| var created: LocalDateTime? = null | |||
| @@ -77,6 +79,8 @@ class DoPickOrder { | |||
| truckId: Long? = null, | |||
| truckDepartureTime: LocalTime? = null, | |||
| pickOrderId: Long? = null, | |||
| doOrderId: Long? = null, | |||
| ticketReleaseTime: LocalDateTime? = null, | |||
| itemId: Long? = null, | |||
| shopId: Long? = null, | |||
| shopPoSupplierId: Long? = null, | |||
| @@ -87,6 +91,8 @@ class DoPickOrder { | |||
| this.storeId = storeId | |||
| this.ticketNo = ticketNo | |||
| this.pickOrderId = pickOrderId | |||
| this.doOrderId = doOrderId | |||
| this.ticketReleaseTime = ticketReleaseTime | |||
| this.ticketStatus = ticketStatus | |||
| this.truckId = truckId | |||
| this.truckDepartureTime = truckDepartureTime | |||
| @@ -21,10 +21,13 @@ class DoPickOrderRecord { | |||
| var ticketNo: String? = null | |||
| @Column(name = "pick_order_id") | |||
| var pickOrderId: Long? = null | |||
| @Column(name = "do_order_id") | |||
| var doOrderId: Long? = null | |||
| @Enumerated(EnumType.STRING) | |||
| @Column(name = "ticket_status") | |||
| var ticketStatus: DoPickOrderStatus? = null | |||
| @Column(name = "ticket_release_time") | |||
| var ticketReleaseTime: LocalDateTime? = null | |||
| @Column(name = "truck_id") | |||
| var truckId: Long? = null | |||
| @@ -74,8 +77,10 @@ class DoPickOrderRecord { | |||
| truckId: Long? = null, | |||
| truckDepartureTime: LocalTime? = null, | |||
| pickOrderId: Long? = null, | |||
| doOrderId: Long? = null, | |||
| itemId: Long? = null, | |||
| shopId: Long? = null, | |||
| ticketReleaseTime: LocalDateTime? = null, | |||
| shopPoSupplierId: Long? = null, | |||
| handledBy: Long? = null, | |||
| createdBy: String? = null, | |||
| @@ -84,6 +89,8 @@ class DoPickOrderRecord { | |||
| this.storeId = storeId | |||
| this.ticketNo = ticketNo | |||
| this.pickOrderId = pickOrderId | |||
| this.doOrderId = doOrderId | |||
| this.ticketReleaseTime = ticketReleaseTime | |||
| this.ticketStatus = ticketStatus | |||
| this.truckId = truckId | |||
| this.truckDepartureTime = truckDepartureTime | |||
| @@ -527,12 +527,14 @@ open class DeliveryOrderService( | |||
| ticketNo = nextTicketNumber, | |||
| ticketStatus = DoPickOrderStatus.pending, | |||
| truckId = truck?.id, | |||
| doOrderId = deliveryOrder.id, | |||
| pickOrderId = createdPickOrder.id, | |||
| truckDepartureTime = truck?.departureTime, | |||
| itemId = line.item?.id, | |||
| shopId = deliveryOrder.shop?.id, | |||
| shopPoSupplierId = deliveryOrder.shop?.id, | |||
| handledBy = null | |||
| handledBy = null, | |||
| ticketReleaseTime = null | |||
| ) | |||
| val savedDoPickOrder = doPickOrderService.save(doPickOrder) | |||
| @@ -98,12 +98,17 @@ class DoPickOrderService( | |||
| entity = null | |||
| ) | |||
| } | |||
| fun updateHandledByForPickOrder(pickOrderId: Long, userId: Long): List<DoPickOrder> { | |||
| val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | |||
| doPickOrders.forEach { it.handledBy = userId | |||
| it.ticketStatus = DoPickOrderStatus.released } | |||
| return doPickOrderRepository.saveAll(doPickOrders) | |||
| } | |||
| // ✅ Updated method to set ticketReleaseTime when assigning order to user | |||
| fun updateHandledByForPickOrder(pickOrderId: Long, userId: Long): List<DoPickOrder> { | |||
| val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | |||
| doPickOrders.forEach { | |||
| it.handledBy = userId | |||
| it.ticketStatus = DoPickOrderStatus.released | |||
| it.ticketReleaseTime = LocalDateTime.now() // ✅ Set ticket release time when assigning to user | |||
| } | |||
| return doPickOrderRepository.saveAll(doPickOrders) | |||
| } | |||
| fun completeDoPickOrdersForPickOrder(pickOrderId: Long): List<DoPickOrder> { | |||
| val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | |||
| doPickOrders.forEach { | |||
| @@ -136,6 +141,7 @@ class DoPickOrderService( | |||
| doPickOrderRecords.forEach { | |||
| it.handledBy = userId | |||
| it.ticketStatus = DoPickOrderStatus.released | |||
| it.ticketReleaseTime = LocalDateTime.now() | |||
| } | |||
| return doPickOrderRecordRepository.saveAll(doPickOrderRecords) | |||
| } | |||
| @@ -153,4 +159,13 @@ class DoPickOrderService( | |||
| fun findByPickOrderId(pickOrderId: Long): List<DoPickOrder> { | |||
| return doPickOrderRepository.findByPickOrderId(pickOrderId) | |||
| } | |||
| fun updateDoOrderIdForPickOrder(pickOrderId: Long, doOrderId: Long): List<DoPickOrder> { | |||
| val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | |||
| doPickOrders.forEach { | |||
| it.doOrderId = doOrderId | |||
| } | |||
| return doPickOrderRepository.saveAll(doPickOrders) | |||
| } | |||
| } | |||