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 ab380b4..8dca008 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
@@ -85,7 +85,7 @@ public class ShippingCombinationService {
 
 
         // 如果物料的供需政策为LP的,必须匹配通知单号才可以出库
-        if (policy.equals("PL")) {
+        if (!openExhibitionRestrictions && policy.equals("LP")) {
             String finalNoticeNo = noticeNo;
             list.removeIf(detail -> !detail.getNoticeCode().equals(finalNoticeNo));
         }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
index ebfc6c1..4562f0b 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
@@ -650,7 +650,6 @@ public class ShipmentTaskService {
         if (StringUtils.isEmpty(containerCode)) {
             throw new ServiceException("系统无" + container + "容器");
         }
-
         //将库位状态改为空闲,如果是整出的对应的容器也清空
         Location fromLocationRecord = locationService.getLocationByCode(fromLocation, warehouseCode);
         if (StringUtils.isNull(fromLocationRecord)) {
@@ -686,7 +685,13 @@ public class ShipmentTaskService {
                     throw new ServiceException("删除临时容器失败");
                 }
             } else {
-                containerService.updateLocationCodeAndStatus(containerCode, "", QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
+                container.setCode(containerCode);
+                container.setLocationCode("");
+                container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY);
+                if (!containerService.updateById(container)) {
+                    throw new ServiceException("完成出库任务时,修改容器状态失败");
+                }
+                //containerService.updateLocationCodeAndStatus(containerCode, "", QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
             }
         } else {
             //查询是否存在关联的库存,入如果没有就修改容器状态为empty
@@ -695,9 +700,21 @@ public class ShipmentTaskService {
             List<InventoryDetail> detailList = inventoryDetailService.list(inventoryDetaillambdaQueryWrapper);
             //库存查询不到该容器就把容器状态改为可用
             if (detailList.isEmpty()) {
-                containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
+                container.setCode(containerCode);
+                container.setLocationCode(toLocation);
+                container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY);
+                if (!containerService.updateById(container)) {
+                    throw new ServiceException("完成出库任务时,修改容器状态失败");
+                }
+                //containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
             } else {
-                containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_SOME, warehouseCode);
+                container.setCode(containerCode);
+                container.setLocationCode(toLocation);
+                container.setStatus(QuantityConstant.STATUS_CONTAINER_SOME);
+                if (!containerService.updateById(container)) {
+                    throw new ServiceException("完成出库任务时,修改容器状态失败");
+                }
+                //containerService.updateLocationCodeAndStatus(containerCode, toLocation, QuantityConstant.STATUS_CONTAINER_SOME, warehouseCode);
             }
         }
     }