From 3ba44e1a566074a38779c918da391b5c6264a381 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 03 十一月 2025 18:28:58 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  127 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 0 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 c1e8ee8..a7a1d9c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.domain.param.CrnOperatorParam;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.TaskCreateParam;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.*;
@@ -81,6 +82,8 @@
     private CrnController crnController;
     @Autowired
     private BasDevpPositionService basDevpPositionService;
+    @Autowired
+    private OpenService openService;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -670,6 +673,7 @@
 
             CrnSlave crnSlave = new CrnSlave(crn);
             if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
                 continue;
             }
 
@@ -839,6 +843,7 @@
 
             CrnSlave crn = new CrnSlave(crnSlave);
             if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
                 continue;
             }
 
@@ -1347,6 +1352,7 @@
 
                 CrnSlave crn = new CrnSlave(crnSlave);
                 if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+                    CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
                     continue;
                 }
 
@@ -2677,4 +2683,125 @@
     }
 
 
+
+    /**
+     * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+     */
+    public boolean crnStnDEMOStop2() {
+        int signHpMk = 0;
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                continue;
+            }
+            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+            if (basCrnp == null) {
+                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                continue;
+            }
+
+            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+                signHpMk++;
+            }
+        }
+        if (signHpMk == slaveProperties.getCrn().size()){
+            return true;
+        }
+        return false;
+    }
+
+
+
+    /**
+     * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
+     */
+    public boolean crnStnDEMOStop3() {
+        int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>().eq("io_type",4));
+        if (selectCount>0) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * 婕旂ず妯″紡鍚姩
+     */
+    public boolean crnStnDEMOOpen0() {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                continue;
+            }
+            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+            if (basCrnp == null) {
+                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                continue;
+            }
+
+            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+                continue;
+            }
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 婕旂ず妯″紡鍚姩
+     */
+    public boolean crnStnDEMOOpen1() {
+        int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
+        if (selectCount>0) {
+            return false;
+        }
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                continue;
+            }
+            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+            if (basCrnp == null) {
+                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                continue;
+            }
+
+            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "瀛樺湪鍏跺畠鍫嗗灈鏈哄紑鍚紨绀烘ā寮忥紒");
+                continue;
+            }
+
+            CrnSlave crnSlave = new CrnSlave(crn);
+            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+                continue;
+            }
+
+            if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+                for (CrnSlave crnOther : slaveProperties.getCrn()) {
+                    if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+                        crnSlave.updateCrnInStn(crnOther);
+                    }
+                }
+            }
+            for (String locNo : crnProtocol.getLocMastDemoList()){
+                LocMast locMast = locMastService.selectByLocNo(locNo);
+                TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
+                openService.taskCreate(taskCreateParam);
+            }
+
+            return true;
+        }
+        return false;
+    }
+
+
 }

--
Gitblit v1.9.1