diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
index c146c30..845b91c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
@@ -54,16 +54,19 @@ public class ShippingCombinationService {
 
 
     //根据分配规则查找库存
-    public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail, boolean isAuto, boolean isFlatWarehouse, boolean openExhibitionRestrictions) {
+    public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail, boolean isAuto, boolean isFlatWarehouse,
+                                               boolean openExhibitionRestrictions) {
         String materialCode = shipmentDetail.getMaterialCode();
-        String noticeNo = shipmentDetail.getNoticeNo();
-        noticeNo = Optional.ofNullable(noticeNo).orElse("");
+        checkNotEmpty(materialCode, "出库明细没有物料编码");
+
+        String noticeNo = Optional.ofNullable(shipmentDetail.getNoticeNo()).orElse("");
         String containerCode = shipmentDetail.getContainerCode();
         String receiptCode = shipmentDetail.getReceiptCode();
-        checkNotEmpty(materialCode, "出库明细没有物料编码");
+
         Material material = getMaterialByCode(materialCode);
         String policy = Optional.ofNullable(material.getPolicy()).orElse("");
-        //String isBatchMaterial = Optional.ofNullable(material.getIsBatch()).orElse("");
+        String isBatchMaterial = Optional.ofNullable(material.getIsBatch()).orElse("");
+
         ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
         String warehouse = shipmentHeader.getWarehouse();
         String color = shipmentHeader.getMaterialColor();
@@ -94,27 +97,38 @@ public class ShippingCombinationService {
         }
 
 
-        //排序:主体颜色加喷漆状态、喷漆状态、主体颜色、喷漆状态(底漆)、无颜色、先进先出
-        String finalNoticeNo1 = noticeNo;
-        return list.stream()
-                .sorted(Comparator.comparing((InventoryDetail detail) -> {
-                    if (StringUtils.isNotEmpty(finalNoticeNo1) && finalNoticeNo1.equals(detail.getNoticeCode())) {
-                        return 1;
-                    } else if (StringUtils.isNotEmpty(color) && StringUtils.isNotEmpty(paintStatus) && color.equals(detail.getMaterialColor()) && paintStatus.equals(detail.getPaintStatus())) {
-                        return 2;
-                    } else if (StringUtils.isNotEmpty(paintStatus) && paintStatus.equals(detail.getPaintStatus())) {
-                        return 3;
-                    } else if (StringUtils.isNotEmpty(color) && color.equals(detail.getMaterialColor())) {
-                        return 4;
-                    } else if ("底漆".equals(detail.getPaintStatus())) {
-                        return 5;
-                    } else if (StringUtils.isEmpty(detail.getMaterialColor())) {
-                        return 6;
-                    } else {
-                        return 7;
-                    }
-                }))
-                .collect(Collectors.toList());
+        // 批次管控的物料,优先按生产日期、创建时间、通知单号、颜色、喷漆状态、入库单号排序
+        if (StringUtils.isNotEmpty(isBatchMaterial) && isBatchMaterial.equals("是")) {
+            list.sort(Comparator.comparing(InventoryDetail::getProductionDate)
+                    .thenComparing(InventoryDetail::getCreated)
+                    .thenComparing(InventoryDetail::getNoticeCode)
+                    .thenComparing(InventoryDetail::getMaterialColor)
+                    .thenComparing(InventoryDetail::getPaintStatus)
+                    .thenComparing(InventoryDetail::getReceiptCode));
+        } else {
+            // 排序:通知单号匹配、主体颜色加喷漆状态、喷漆状态、主体颜色、喷漆状态(底漆)、无颜色、先进先出
+            String finalNoticeNo1 = noticeNo;
+            list.sort(Comparator.comparing((InventoryDetail detail) -> {
+                        if (StringUtils.isNotEmpty(finalNoticeNo1) && finalNoticeNo1.equals(detail.getNoticeCode())) {
+                            return 1;
+                        } else if (StringUtils.isNotEmpty(color) && StringUtils.isNotEmpty(paintStatus) && color.equals(detail.getMaterialColor()) && paintStatus.equals(detail.getPaintStatus())) {
+                            return 2;
+                        } else if (StringUtils.isNotEmpty(paintStatus) && paintStatus.equals(detail.getPaintStatus())) {
+                            return 3;
+                        } else if (StringUtils.isNotEmpty(color) && color.equals(detail.getMaterialColor())) {
+                            return 4;
+                        } else if ("底漆".equals(detail.getPaintStatus())) {
+                            return 5;
+                        } else if (StringUtils.isEmpty(detail.getMaterialColor())) {
+                            return 6;
+                        } else {
+                            return 7;
+                        }
+                    })
+                    .thenComparing(InventoryDetail::getCreated)
+                    .thenComparing(InventoryDetail::getReceiptCode));
+        }
+        return list;
 
 
         //批次管控的物料,出库时优先按,生产日期,先进先出