diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrder.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrder.kt index 4e0f860..470c0bf 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrder.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrder.kt @@ -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 diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecord.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecord.kt index 9f01462..211c6e7 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecord.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecord.kt @@ -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 diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt index abacac6..6f2b511 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt @@ -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) diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt index 83c520f..8d26611 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt @@ -98,12 +98,17 @@ class DoPickOrderService( entity = null ) } - fun updateHandledByForPickOrder(pickOrderId: Long, userId: Long): List { - 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 { + 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 { 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 { return doPickOrderRepository.findByPickOrderId(pickOrderId) } + fun updateDoOrderIdForPickOrder(pickOrderId: Long, doOrderId: Long): List { + val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) + doPickOrders.forEach { + it.doOrderId = doOrderId + } + return doPickOrderRepository.saveAll(doPickOrders) + } + + } \ No newline at end of file