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 |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 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 ed84434..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;
@@ -182,6 +185,7 @@
                         storageEscalationParam.setBarcode(BoxNo);
                         storageEscalationParam.setMatIdList(staProtocol.getMatIdList());
                         storageEscalationParam.setFullPlt(staProtocol.isFullPlt() ? 1 : 0);
+                        storageEscalationParam.setMpHigh((short) (staProtocol.getSiteId() < 200 ? 1 :staProtocol.isHigh() ? 2 : staProtocol.isLow() ? 1 : 0));    // 楂樺害锛屼晶闈㈢爜鐩樼殑楂樺害 浣�1锛岄珮2
                         log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
                         TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
                         if (taskWrk == null) {
@@ -247,12 +251,17 @@
                             log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
                             staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
                             staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+                            staProtocol.setBarcode(taskWrk.getBarcode());
                             if (!Cools.isEmpty(taskWrk.getType())) {
                                 staProtocol.setHeight(taskWrk.getType());
                             }
                             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));
                             } catch (Exception e) {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
@@ -263,7 +272,8 @@
                                 taskWrk.setWrkSts(14);
                                 taskWrk.setCompleteTime(new Date());
                                 taskWrkService.updateById(taskWrk);
-
+                                // 渚ч潰鍑哄簱瀹屾垚 涓婃姤鎵ц鐘舵��
+                                toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
                             } else {
                                 log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
                             }
@@ -292,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));
                             }
@@ -453,6 +464,8 @@
             }
         }
     }
+    @Resource
+    private ConfigService configService;
 
     /**
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
@@ -463,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) {
@@ -493,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) {
@@ -502,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;
                         }
                     }
@@ -522,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