diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt index 1f53b4e..80d7d94 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt @@ -18,4 +18,5 @@ interface DoPickOrderRepository : JpaRepository { storeId: String, status: DoPickOrderStatus ): List + fun findByPickOrderId(pickOrderId: Long): List } \ No newline at end of file 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 0e6dc75..c54d035 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 @@ -462,7 +462,7 @@ open class DeliveryOrderService( println("🔍 DEBUG: Processing ${deliveryOrder.deliveryOrderLines.size} delivery order lines") deliveryOrder.deliveryOrderLines.forEach { line -> - val storeId = if (deliveryOrder.shop?.code == "P06B") "2/F" else "4/F" + val storeId = if (deliveryOrder.supplier?.code == "P06B") "4/F" else "2/F" println("�� DEBUG: Processing line - Item ID: ${line.item?.id}, Store ID: $storeId") val doPickOrder = DoPickOrder( @@ -475,7 +475,7 @@ open class DeliveryOrderService( itemId = line.item?.id, shopId = deliveryOrder.shop?.id, shopPoSupplierId = deliveryOrder.shop?.id, - handledBy = request.userId + handledBy = null ) println("�� DEBUG: Creating DoPickOrder - Store: $storeId, Ticket: $nextTicketNumber, Truck: ${truck?.id}") 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 696fa62..a2c64ad 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 @@ -92,4 +92,9 @@ class DoPickOrderService( entity = null ) } + fun updateHandledByForPickOrder(pickOrderId: Long, userId: Long): List { + val doPickOrders = doPickOrderRepository.findByPickOrderId(pickOrderId) + doPickOrders.forEach { it.handledBy = userId } + return doPickOrderRepository.saveAll(doPickOrders) + } } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt index 6dae3c6..287379a 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt @@ -50,6 +50,7 @@ import com.ffii.fpsms.modules.pickOrder.entity.projection.PickOrderGroupInfo import com.ffii.fpsms.modules.deliveryOrder.entity.DeliveryOrderRepository import com.ffii.fpsms.modules.pickOrder.entity.TruckRepository import com.ffii.fpsms.modules.pickOrder.entity.RouterRepository +import com.ffii.fpsms.modules.deliveryOrder.service.DoPickOrderService @Service open class PickOrderService( private val jdbcDao: JdbcDao, @@ -70,6 +71,7 @@ open class PickOrderService( private val deliveryOrderRepository: DeliveryOrderRepository, private val truckRepository: TruckRepository, private val routerRepository: RouterRepository, + private val doPickOrderService: DoPickOrderService, ) : AbstractBaseEntityService(jdbcDao, pickOrderRepository) { open fun create(request: SavePickOrderRequest): MessageResponse { val code = assignPickCode() @@ -2211,6 +2213,8 @@ open fun autoAssignAndReleasePickOrderByStore(userId: Long, storeId: String): Me selected.assignTo = user pickOrderRepository.saveAndFlush(selected) + doPickOrderService.updateHandledByForPickOrder(selected.id!!, user.id!!) + println("✅ Updated DoPickOrder handledBy to user $userId for pick order ${selected.id}") return MessageResponse( id = null, name = "Pick order assigned", diff --git a/src/main/resources/db/changelog/changes/20251098_01_enson/01_altertable_enson.sql b/src/main/resources/db/changelog/changes/20251098_01_enson/01_altertable_enson.sql new file mode 100644 index 0000000..b140a16 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20251098_01_enson/01_altertable_enson.sql @@ -0,0 +1,11 @@ +-- liquibase formatted sql +-- changeset enson:altertable_enson + + ALTER TABLE `fpsmsdb`.`do_pick_order` + DROP FOREIGN KEY `FK_DO_PICK_ORDER_ON_HANDLED_BY`; +ALTER TABLE `fpsmsdb`.`do_pick_order` +CHANGE COLUMN `handled_by` `handled_by` INT NULL ; +ALTER TABLE `fpsmsdb`.`do_pick_order` +ADD CONSTRAINT `FK_DO_PICK_ORDER_ON_HANDLED_BY` + FOREIGN KEY (`handled_by`) + REFERENCES `fpsmsdb`.`user` (`id`);