diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
index 7c602c8..6c5ff06 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -323,24 +323,28 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         String warehouseCode = inventoryDetail.getWarehouseCode();
         String locationCode = inventoryDetail.getLocationCode();
         Container container = containerService.getContainerByCode(containerCode, warehouseCode);
+        // 每次组盘都需判断是整盘出库还是分拣出库
         LambdaQueryWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         shipmentContainerHeaderLambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode, containerCode)
             .eq(ShipmentContainerHeader::getFromLocationCode, locationCode).eq(ShipmentContainerHeader::getWarehouseCode, warehouseCode)
             .lt(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED);
         ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getOne(shipmentContainerHeaderLambdaQueryWrapper);
-        if (shipmentContainerHeader != null) {
-            return shipmentContainerHeader;
-        } else {
-            List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode);
-            int taskType = QuantityConstant.TASK_TYPE_WHOLESHIPMENT;
-            // 如果库存还有剩余,那么就是分拣出库
-            if (inventoryDetailList != null && inventoryDetailList.size() > 0) {
-                for (InventoryDetail inventoryDetail1 : inventoryDetailList) {
-                    if (inventoryDetail1.getQty().subtract(inventoryDetail1.getTaskQty()).compareTo(BigDecimal.ZERO) > 0) {
-                        taskType = QuantityConstant.TASK_TYPE_SORTINGSHIPMENT;
-                    }
+        List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode);
+        int taskType = QuantityConstant.TASK_TYPE_WHOLESHIPMENT;
+        // 如果库存还有剩余,那么就是分拣出库
+        if (inventoryDetailList != null && inventoryDetailList.size() > 0) {
+            for (InventoryDetail inventoryDetail1 : inventoryDetailList) {
+                if (inventoryDetail1.getQty().subtract(inventoryDetail1.getTaskQty()).compareTo(BigDecimal.ZERO) > 0) {
+                    taskType = QuantityConstant.TASK_TYPE_SORTINGSHIPMENT;
                 }
             }
+        }
+        if (shipmentContainerHeader != null) {
+            if (taskType != shipmentContainerHeader.getTaskType()) {
+                shipmentContainerHeader.setTaskType(taskType);
+                shipmentContainerHeaderService.updateById(shipmentContainerHeader);
+            }
+        } else {
             shipmentContainerHeader = new ShipmentContainerHeader();
             shipmentContainerHeader.setContainerCode(containerCode);
             shipmentContainerHeader.setFromLocationCode(locationCode);
@@ -354,8 +358,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
             if (!success) {
                 throw new JeecgBootException("新增出库组盘头失败");
             }
-            return shipmentContainerHeader;
+
         }
+        return shipmentContainerHeader;
     }
 
     @Transactional(rollbackFor = JeecgBootException.class)