| @@ -512,6 +512,7 @@ val doPickOrderRecord = DoPickOrderRecord( | |||||
| truckDepartureTime = truck?.departureTime, | truckDepartureTime = truck?.departureTime, | ||||
| shopId = deliveryOrder.shop?.id, | shopId = deliveryOrder.shop?.id, | ||||
| handledBy = null, | handledBy = null, | ||||
| doOrderId = deliveryOrder.id, | |||||
| // ✅ 填充新增字段 | // ✅ 填充新增字段 | ||||
| truckLanceCode = truck?.truckLanceCode, | truckLanceCode = truck?.truckLanceCode, | ||||
| shopCode = deliveryOrder.shop?.code, | shopCode = deliveryOrder.shop?.code, | ||||
| @@ -104,7 +104,7 @@ class DoPickOrderService( | |||||
| doPickOrders.forEach { | doPickOrders.forEach { | ||||
| it.handledBy = userId | it.handledBy = userId | ||||
| it.ticketStatus = DoPickOrderStatus.released | it.ticketStatus = DoPickOrderStatus.released | ||||
| it.ticketReleaseTime = LocalDateTime.now() // ✅ Set ticket release time when assigning to user | |||||
| it.ticketReleaseTime = LocalDateTime.now() // ✅ 设置 release time | |||||
| } | } | ||||
| return doPickOrderRepository.saveAll(doPickOrders) | return doPickOrderRepository.saveAll(doPickOrders) | ||||
| } | } | ||||
| @@ -122,11 +122,8 @@ class DoPickOrderService( | |||||
| fun removeDoPickOrdersForPickOrder(pickOrderId: Long): Int { | fun removeDoPickOrdersForPickOrder(pickOrderId: Long): Int { | ||||
| val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) | ||||
| if (doPickOrders.isNotEmpty()) { | if (doPickOrders.isNotEmpty()) { | ||||
| // Mark as deleted instead of physically deleting | |||||
| doPickOrders.forEach { | |||||
| it.ticketStatus = DoPickOrderStatus.completed | |||||
| it.deleted = true } | |||||
| doPickOrderRepository.saveAll(doPickOrders) | |||||
| // ✅ 物理删除记录 | |||||
| doPickOrderRepository.deleteAll(doPickOrders) | |||||
| return doPickOrders.size | return doPickOrders.size | ||||
| } | } | ||||
| return 0 | return 0 | ||||
| @@ -142,7 +139,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() | |||||
| it.ticketReleaseTime = LocalDateTime.now() // ✅ 设置 release time | |||||
| } | } | ||||
| return doPickOrderRecordRepository.saveAll(doPickOrderRecords) | return doPickOrderRecordRepository.saveAll(doPickOrderRecords) | ||||
| } | } | ||||
| @@ -1766,6 +1766,7 @@ open fun autoAssignAndReleasePickOrderByStoreAndTicket(storeId: String, ticketNo | |||||
| existingRecords.forEach { record -> | existingRecords.forEach { record -> | ||||
| record.handledBy = user.id | record.handledBy = user.id | ||||
| record.ticketStatus = DoPickOrderStatus.released | record.ticketStatus = DoPickOrderStatus.released | ||||
| record.ticketReleaseTime = LocalDateTime.now() // ✅ 添加这行 | |||||
| println("🔍 DEBUG: Updating existing DoPickOrderRecord ID: ${record.id} - handledBy: ${user.id}, status: released") | println("🔍 DEBUG: Updating existing DoPickOrderRecord ID: ${record.id} - handledBy: ${user.id}, status: released") | ||||
| } | } | ||||
| doPickOrderRecordRepository.saveAll(existingRecords) | doPickOrderRecordRepository.saveAll(existingRecords) | ||||
| @@ -2406,6 +2407,7 @@ open fun autoAssignAndReleasePickOrderByStoreAndTicket(storeId: String, ticketNo | |||||
| existingRecords.forEach { record -> | existingRecords.forEach { record -> | ||||
| record.handledBy = user.id | record.handledBy = user.id | ||||
| record.ticketStatus = DoPickOrderStatus.released | record.ticketStatus = DoPickOrderStatus.released | ||||
| record.ticketReleaseTime = LocalDateTime.now() // ✅ 设置 release time | |||||
| // ✅ 填充新字段 | // ✅ 填充新字段 | ||||
| record.truckLanceCode = truck?.truckLanceCode | record.truckLanceCode = truck?.truckLanceCode | ||||
| record.shopCode = deliveryOrder.shop?.code | record.shopCode = deliveryOrder.shop?.code | ||||
| @@ -2446,8 +2448,9 @@ open fun autoAssignAndReleasePickOrderByStoreAndTicket(storeId: String, ticketNo | |||||
| } | } | ||||
| doPickOrderService.updateHandledByForPickOrder(selected.id!!, user.id!!) | doPickOrderService.updateHandledByForPickOrder(selected.id!!, user.id!!) | ||||
| println("✅ Updated DoPickOrder handledBy to user $userId for pick order ${selected.id}") | |||||
| doPickOrderService.updateRecordHandledByForPickOrder(selected.id!!, user.id!!) // ✅ 添加这行 | |||||
| println("✅ Updated DoPickOrder and DoPickOrderRecord handledBy to user $userId for pick order ${selected.id}") | |||||
| return MessageResponse( | return MessageResponse( | ||||
| id = null, | id = null, | ||||
| name = "Pick order assigned", | name = "Pick order assigned", | ||||