diff --git a/src/main/java/com/huaheng/api/wcs/service/taskAssignService/TaskAssignServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/taskAssignService/TaskAssignServiceImpl.java
index 14fd72a..e0280a8 100644
--- a/src/main/java/com/huaheng/api/wcs/service/taskAssignService/TaskAssignServiceImpl.java
+++ b/src/main/java/com/huaheng/api/wcs/service/taskAssignService/TaskAssignServiceImpl.java
@@ -145,7 +145,7 @@ public class TaskAssignServiceImpl implements TaskAssignService {
         // 出库动作
         if (!direction) {
             int rowFlag = location.getRowFlag();
-            //如果是外侧库位
+            //当前任务如果是深库位
             if (rowFlag == QuantityConstant.ROW_OUT) {
                 Location insideLocation = locationService.getInsideNear(location);
                 String insideLocationCode = insideLocation.getCode();
@@ -155,7 +155,7 @@ public class TaskAssignServiceImpl implements TaskAssignService {
                     //获取是否有未完成的任务
                     TaskHeader taskHeader2 = taskHeaderService.getUndoneTaskByFromLocationCode(insideLocationCode);
                     if (taskHeader2 != null) {
-                        preTaskNo = taskHeader2.getId();
+                        preTaskNo = taskHeader2.getId();//浅库位任务号
                     } else {
                         //是否自建单据库位
                         int isSelfCreated = 0;
@@ -220,9 +220,6 @@ public class TaskAssignServiceImpl implements TaskAssignService {
         wcsTask.setFromPort("");
         wcsTask.setToPort(taskHeader.getPort());
         wcsTask.setContainerCode(taskHeader.getContainerCode());
-        if (preTaskNo != 0) {
-            wcsTask.setPreTaskNo(String.valueOf(preTaskNo));
-        }
 
         if (location != null) {
             wcsTask.setStation(location.getRoadway());
@@ -251,7 +248,11 @@ public class TaskAssignServiceImpl implements TaskAssignService {
         }
         wcsTask.setRemark("0");
         wcsTask.setPlatform(platform);
-
+        //浅库位任务优先出,深库位优先级-1
+        if (preTaskNo != 0) {
+            wcsTask.setPreTaskNo(String.valueOf(preTaskNo));
+            wcsTask.setPriority(wcsTask.getPriority() - 1);
+        }
         Container container = containerService.getContainerByCode(containerCode, warehouseCode);
         String area = container.getArea();
         //4、发送数据
diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
index fd37feb..366688b 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
@@ -193,12 +193,13 @@ public class RyTask extends BaseController {
      * 自动出库,自动出库单据间隔从定时任务那边配置
      */
     public void autoShipment() {
+        //上一个出库单未完成,不执行下一个
         ShipmentHeader header = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>()
                 .eq(ShipmentHeader::getDeleted, 0)
                 .in(ShipmentHeader::getAutoShipmentStatus, 2)
                 .last("ORDER BY requestedStartDate asc,id asc limit 1"));
-        if (header!=null) {
-            if(header.getLastStatus()<QuantityConstant.SHIPMENT_HEADER_COMPLETED){
+        if (header != null) {
+            if (header.getLastStatus() < QuantityConstant.SHIPMENT_HEADER_COMPLETED) {
                 return;
             }
         }
@@ -208,7 +209,7 @@ public class RyTask extends BaseController {
                 .in(ShipmentHeader::getAutoShipmentStatus, 1)
                 .last("ORDER BY requestedStartDate asc,id asc limit 1"));
         if (!shipmentHeaders.isEmpty()) {
-            AjaxResult ajaxResult = handleMultiProcessV1("autoShipment",new MultiProcessListener() {
+            AjaxResult ajaxResult = handleMultiProcessV1("autoShipment", new MultiProcessListener() {
                 @Override
                 public AjaxResult doProcess() {
                     shipmentHeaderService.autoShipmentExecute(shipmentHeaders.get(0));
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 64cf687..1356529 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
@@ -489,7 +489,8 @@ public class ShipmentTaskService {
 
         //设置出库货箱表头状态为拣货任务完成
         LambdaUpdateWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-        shipmentContainerHeaderLambdaUpdateWrapper.eq(ShipmentContainerHeader::getId, task.getAllocationHeadId())
+        shipmentContainerHeaderLambdaUpdateWrapper
+                .eq(ShipmentContainerHeader::getId, task.getAllocationHeadId())
                 .set(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_FINISHED);
         if (!containerHeaderService.update(shipmentContainerHeaderLambdaUpdateWrapper)) {
             throw new ServiceException("更新组盘头状态失败");
@@ -502,9 +503,9 @@ public class ShipmentTaskService {
             ShipmentDetail shipmentDetail = shipmentDetailService.getById(taskDetail.getBillDetailId());
             if (StringUtils.isNotNull(shipmentDetail)) {
                 if (shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) == 0) {
-
                     //一条单据明细可能有多条组盘多条任务
-                    List<ShipmentContainerDetail> list = shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>().eq(ShipmentContainerDetail::getShipmentDetailId, shipmentDetail.getId()));
+                    List<ShipmentContainerDetail> list = shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>()
+                            .eq(ShipmentContainerDetail::getShipmentDetailId, shipmentDetail.getId()));
                     boolean flag = true;
                     for (ShipmentContainerDetail shipmentContainerDetail : list) {
                         if (shipmentContainerDetail.getStatus() != 20) {
@@ -524,31 +525,32 @@ public class ShipmentTaskService {
 
         }
 
-        /*更新出库单状态*/
+        /* 更新出库单状态 */
         for (Integer id : ids) {
             ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id);
             if (shipmentHeader != null) {
                 Map<String, Integer> status = shipmentDetailService.selectStatus(shipmentHeader.getId());
                 Integer maxStatus = status.get("maxStatus");
                 Integer minStatus = status.get("minStatus");
-                if (maxStatus.equals(QuantityConstant.SHIPMENT_HEADER_COMPLETED)) {
-                    shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
-                }
-                if (minStatus.equals(QuantityConstant.SHIPMENT_HEADER_COMPLETED)) {
-                    shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
-                    shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
-                    shipmentHeader.setCompleteTime(new Date());
+
+                // 检查 maxStatus 和 minStatus 是否不为空
+                if (maxStatus != null && minStatus != null) {
+                    boolean isStatusCompleted = QuantityConstant.SHIPMENT_HEADER_COMPLETED.equals(maxStatus);
+
+                    if (isStatusCompleted) {
+                        shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
+                    }
+
+                    if (QuantityConstant.SHIPMENT_HEADER_COMPLETED.equals(minStatus)) {
+                        shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
+                        shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
+                        shipmentHeader.setCompleteTime(new Date());
+                    }
                 }
                 shipmentHeader.setLastUpdated(new Date());
-                shipmentHeaderService.updateById(shipmentHeader);
-//                // 单子每完成,返回给MOM--merge(合并订单)
-//                if (("MOM".equals(shipmentHeader.getCreatedBy()) || "merge".equals(shipmentHeader.getShipmentType())) &&minStatus >= 500) {
-//                    if (!mesReceiptController.postE_Rd_Out(shipmentHeader)){
-//                        logger.debug("在出库单据(ID: " + shipmentHeader.getId() + ")完成后反馈给MOM失败!!!");
-//                    }else {
-//                        logger.debug("在出库单据(ID: " + shipmentHeader + ")完成后反馈给MOM成功!!!");
-//                    }
-//                }
+                if (!shipmentHeaderService.updateById(shipmentHeader)) {
+                    throw new ServiceException("更新入库单头表失败");
+                }
             }
         }
         //删除自建单据物料