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