From 9c1720c8f25fd0a77e16bf4b696fb1bfca6bcda9 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 13 一月 2026 08:53:42 +0800
Subject: [PATCH] 只有205和210允许连续出库

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 2a5315b..5f23b93 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -32,6 +32,8 @@
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.SiemensDevpThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -39,6 +41,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import javax.annotation.Resource;
 import java.io.IOException;
 import java.util.Date;
 import java.util.List;
@@ -255,10 +258,10 @@
                             boolean offer = false;
                             try {
                                 offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-//                                staProtocol.setMp(taskWrk.getMp());
-//                                staProtocol.setLx(taskWrk.getLx());
-//                                staProtocol.setLev(taskWrk.getLev());
-//                                MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
+                                staProtocol.setMp(taskWrk.getMp());
+                                staProtocol.setLx(taskWrk.getLx());
+                                staProtocol.setLev(taskWrk.getLev());
+                                MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
                             } catch (Exception e) {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
@@ -299,7 +302,8 @@
                                 taskWrk.setWrkSts(14);
                                 taskWrk.setCompleteTime(new Date());
                                 taskWrkService.updateById(taskWrk);
-
+                                // 姝i潰鍑哄簱瀹屾垚 涓婃姤鎵ц鐘舵��
+                                toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
                             } else {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
                             }
@@ -460,6 +464,8 @@
             }
         }
     }
+    @Resource
+    private ConfigService configService;
 
     /**
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
@@ -470,6 +476,13 @@
         if (taskWrksInitial.size() == 0) {
             return;
         }
+        // 鎺у埗鏄惁鍏佽杩炵画鍑哄簱锛屼笉鍒ゆ柇鍑哄簱绔欑偣鐘舵��
+        boolean crnAvailableOut = false;
+        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","removeCrnAvailableOut"));
+        if (config != null && config.getStatus() == 1) {
+            crnAvailableOut = true;
+        }
+
         for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
             List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo()));
             for (StaDesc staDesc : staDescs) {
@@ -500,6 +513,8 @@
                                 .eq("lev1", locMast.getLev1()).eq("loc_sts", "F"));
                         if (!Cools.isEmpty(locMast1)) {
                             log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
+                            taskWrk.setMemo("娴呭簱浣嶆湁璐�");
+                            taskWrkService.updateById(taskWrk);
                             continue;
                         }
                     } else if (flag == 2) {
@@ -509,6 +524,8 @@
                                 .eq("lev1", locMast.getLev1()).eq("loc_sts", "F"));
                         if (!Cools.isEmpty(locMast1)) {
                             log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
+                            taskWrk.setMemo("娴呭簱浣嶆湁璐�");
+                            taskWrkService.updateById(taskWrk);
                             continue;
                         }
                     }
@@ -529,10 +546,14 @@
                         log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                         break;
                     }
+                    // 鍙湁205鍜�210鍏佽杩炵画鍑哄簱
+                    if (staProtocol.getSiteId() != 205 && staProtocol.getSiteId() != 210) {
+                        crnAvailableOut = false;
+                    }
 
                     // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-                    if (staProtocol.isAutoing() && (outloading || !staProtocol.isLoading()) && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
-                            && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+                    if (staProtocol.isAutoing()  && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+                            && (crnAvailableOut || !staProtocol.isLoading() && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable())) {
                         // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                         // 鍫嗗灈鏈烘帶鍒惰繃婊�

--
Gitblit v1.9.1