From 9efe3f1d2ccb7375e5d81df7b5c29723dd99cc89 Mon Sep 17 00:00:00 2001
From: dubin <dubin@163.com>
Date: 星期一, 19 五月 2025 17:10:14 +0800
Subject: [PATCH] 代码优化

---
 src/main/java/com/zy/core/model/DevpSlave.java              |    3 +
 src/main/java/com/zy/asrs/controller/OpenController.java    |   15 ++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   44 ++++++++++++++
 src/main/java/com/zy/asrs/entity/param/CrnStatusParam.java  |   11 ++-
 src/main/java/com/zy/asrs/controller/MonitorController.java |    8 +-
 src/main/resources/application-prod.yml                     |   16 ++++-
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    2 
 src/main/resources/application.yml                          |    2 
 src/main/java/com/zy/core/ServerBootstrap.java              |   22 +++---
 9 files changed, 96 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index f689993..d0afabe 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -103,8 +103,8 @@
         }
 
         // 鑾峰彇杈撻�佺嚎plc绾跨▼
-        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
-        String ledContent = ledThread.getWorkNos().toString();
+//        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+//        String ledContent = ledThread.getWorkNos().toString();
 //        ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
 
         return R.ok(
@@ -116,8 +116,8 @@
                 .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1))   // 绱鍗囬檷璺濈km
                 .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1))    // 绱璧拌鏃堕暱h
                 .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1))    // 绱鍗囬檷鏃堕暱h
-                .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
-                .add("content", ledContent) // 鏄剧ず鍐呭
+//                .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
+//                .add("content", ledContent) // 鏄剧ず鍐呭
         );
     }
 
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index bcee72f..fb74bc6 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.web.BaseController;
+import com.zy.core.model.DevpSlave;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -221,6 +222,7 @@
         HashMap<String,Object> map=new HashMap<>();
         List<CrnStatusParam> crnStatusParams=new ArrayList<>();
         List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
         for (BasCrnp basCrnp:basCrnps){
             CrnStatusParam crnStatusParam=new CrnStatusParam();
             crnStatusParam.setCrnNo(basCrnp.getCrnNo());
@@ -234,7 +236,18 @@
             }
             crnStatusParams.add(crnStatusParam);
         }
-
+        for (BasDevp basDevp : basDevps) {
+            CrnStatusParam crnStatusParam=new CrnStatusParam();
+            crnStatusParam.setDevpNo(basDevp.getDevNo());
+            crnStatusParam.setOutEnable(basDevp.getOutEnable());
+            crnStatusParam.setInEnable(basDevp.getInEnable());
+            if(!Cools.isEmpty(basDevp.getAutoing())&&basDevp.getAutoing().equals("Y")){
+                crnStatusParam.setCrnSts(3);
+            }else{
+                crnStatusParam.setCrnSts(2);
+            }
+            crnStatusParams.add(crnStatusParam);
+        }
         map.put("ReturnStatus",0);
         map.put("ErrorMessage","");
         map.put("data",crnStatusParams);
diff --git a/src/main/java/com/zy/asrs/entity/param/CrnStatusParam.java b/src/main/java/com/zy/asrs/entity/param/CrnStatusParam.java
index 00cebf2..52192ee 100644
--- a/src/main/java/com/zy/asrs/entity/param/CrnStatusParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CrnStatusParam.java
@@ -4,8 +4,11 @@
 
 @Data
 public class CrnStatusParam {
-    private Integer crnNo;
-    private Integer crnSts;
-    private Long errorCode;
-    private String errorMsg;
+    private Integer crnNo;//鍫嗗灈鏈鸿澶囧彿
+    private Integer devpNo;//杈撻�佺嚎璁惧鍙�
+    private Integer crnSts;//鐘舵�� 1锛氬崟鏈� 2锛氭墜鍔� 3锛氳仈鏈�
+    private Long errorCode;//鎶ヨ缂栫爜
+    private String errorMsg;//鎶ヨ鍐呭
+    private String outEnable;//鍙嚭 Y锛氬彲鍑� N锛氫笉鍙嚭
+    private String inEnable;//鍙叆 Y锛氬彲鍏� N锛氫笉鍙叆
 }
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 68bbb31..a6f9389 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -306,6 +306,8 @@
                     }
                     Short workNo = staProtocol.getWorkNo();
                     Short stano = staProtocol.getStaNo();
+                    //led
+                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
 
                     // 灏哄妫�娴嬪紓甯�
                     boolean back = false;
@@ -364,6 +366,11 @@
                             if (back) {
                                 storageEscalationParam.setWCSStatus(1);
                                 storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg);
+                                // led 寮傚父鏄剧ず
+                                if (ledThread != null) {
+                                    String errorMsg = errMsg;
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                                }
                             }
                         }
 
@@ -436,6 +443,11 @@
                                             }
                                         }
                                     } else {
+                                        // led 寮傚父鏄剧ず
+                                        if (ledThread != null) {
+                                            String errorMsg = "宸叉湁鍏ュ簱浠诲姟锛侊紒锛�";
+                                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                                        }
                                         staProtocol.setWorkNo((short) 9991);
                                         staProtocol.setStaNo(inSta.getBackSta().shortValue());
                                         devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -443,6 +455,13 @@
                                     }
 
                                 } else {
+
+                                    // led 寮傚父鏄剧ず
+                                    if (ledThread != null) {
+                                        String errorMsg = jsonObject.getString("ErrorMessage");
+                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                                    }
+
                                     staProtocol.setWorkNo((short) 9991);
                                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                                     devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -502,6 +521,9 @@
                         staProtocol = staProtocol.clone();
                     }
                     Short workNo = staProtocol.getWorkNo();
+                    //led
+                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
                     // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                     if (staProtocol.isAutoing() && staProtocol.isLoading()
                             && staProtocol.isInEnable()
@@ -590,6 +612,11 @@
                                         }
                                     }
                                 } else {
+                                    // led 寮傚父鏄剧ず
+                                    if (ledThread != null) {
+                                        String errorMsg = "浠诲姟宸插瓨鍦紒锛侊紒锛�";
+                                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                                    }
                                     staProtocol.setWorkNo((short) 9991);
                                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                                     devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -597,6 +624,11 @@
                                 }
 
                             } else {
+                                // led 寮傚父鏄剧ず
+                                if (ledThread != null) {
+                                    String errorMsg = jsonObject.getString("ErrorMessage");
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                                }
                                 staProtocol.setWorkNo((short) 9991);
                                 staProtocol.setStaNo(inSta.getBackSta().shortValue());
                                 devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -1129,7 +1161,7 @@
 
                     LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
                     //鍒ゆ柇鍏跺簱浣嶆槸鍚︿负娣卞簱浣嶏紝濡傛灉涓烘繁搴撲綅鎵惧叾娴呭簱浣嶆槸閮芥湁璐�
-                    if (locMast.getRow1() == 8 || locMast.getRow1() == 5) {
+                    if (locMast.getRow1() == 5) {
                         LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
                                 .eq("row1", (locMast.getRow1() + 1))
                                 .eq("bay1", locMast.getBay1())
@@ -1139,6 +1171,16 @@
                             continue;
                         }
                     }
+                    if (locMast.getRow1() == 8) {
+                        LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("row1", (locMast.getRow1() - 1 ))
+                                .eq("bay1", locMast.getBay1())
+                                .eq("lev1", locMast.getLev1()).eq("loc_sts", "F"));
+                        if (!Cools.isEmpty(locMast1)) {
+                            log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
+                            continue;
+                        }
+                    }
 
                     // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
                     SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index a97d9a0..c840a5b 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -59,10 +59,10 @@
         for (Slave barcode : slaveProperties.getBarcode()) {
             MessageQueue.init(SlaveType.Barcode, barcode);
         }
-//        // 鍒濆鍖朙ed鐏痬q
-//        for (Slave led : slaveProperties.getLed()) {
-//            MessageQueue.init(SlaveType.Led, led);
-//        }
+        // 鍒濆鍖朙ed鐏痬q
+        for (Slave led : slaveProperties.getLed()) {
+            MessageQueue.init(SlaveType.Led, led);
+        }
 //        // 鍒濆鍖栫绉癿q
 //        for (Slave scale : slaveProperties.getScale()) {
 //            MessageQueue.init(SlaveType.Scale, scale);
@@ -95,13 +95,13 @@
 //            new Thread(barcodeThread).start();
             SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
         }
-//        // 鍒濆鍖朙ED绾跨▼
-//        log.info("鍒濆鍖朙ED绾跨▼...................................................");
-//        for (LedSlave led : slaveProperties.getLed()) {
-//            LedThread ledThread = new LedThread(led);
-//            new Thread(ledThread).start();
-//            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
-//        }
+        // 鍒濆鍖朙ED绾跨▼
+        log.info("鍒濆鍖朙ED绾跨▼...................................................");
+        for (LedSlave led : slaveProperties.getLed()) {
+            LedThread ledThread = new LedThread(led);
+            new Thread(ledThread).start();
+            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
+        }
 //        // 鍒濆鍖栫绉ょ嚎绋�
 //        log.info("鍒濆鍖栫绉ょ嚎绋�...................................................");
 //        for (Slave scale : slaveProperties.getScale()) {
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 799cab2..f2eb0e9 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -37,6 +37,9 @@
         private Integer scale;
 
         private Integer backSta;
+
+        private Integer led;
+
     }
 
 }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index b81bb55..9e5dc64 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -54,11 +54,11 @@
         add(1003);
         add(1004);
         add(1005);
-        add(1010);
         add(1006);
         add(1007);
         add(1008);
         add(1009);
+        add(1010);
         add(1011);
         add(1012);
         add(1013);
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index bec2f22..2cfd0b2 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -58,14 +58,14 @@
       backSta: 106
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�--2F杈撻�佺嚎 鏀捐揣鍙�
-      staNo: 2002
-      row: 3
+      staNo: 2013
+      row: 4
       bay: 59
       lev: 11
       devpPlcId: ${wcs-slave.devp[1].id}
     crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1--2F杈撻�佺嚎 鍙栬揣鍙�
-      staNo: 2003
-      row: 4
+      staNo: 2012
+      row: 3
       bay: 59
       lev: 11
       backSta: 106
@@ -200,6 +200,7 @@
       staNo: 1052
       backSta: 1051
       barcode: ${wcs-slave.barcode[2].id}
+      led: ${wcs-slave.led[0].id}
     inSta[1]: #绌烘澘鍏ュ簱鍙�0
         staNo: 1058
     outSta[0]: #鍑哄簱鍙�1
@@ -254,6 +255,13 @@
     port: 51236
     ip: 172.17.91.39
     id: 4
+  # LED1
+  led[0]:
+    id: 1
+    ip: 192.168.110.210
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[2].id}
+    staArr: 1052
 #  crn[0]: #鍫嗗灈鏈�1
 #    rack: 0
 #    offset: 2    #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c6377ff..0b6fb5c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -53,7 +53,7 @@
   #url: 10.32.53.195:8080
   # WMS绯荤粺ip
   #  url: 10.210.157.109:8090
-  url: 192.168.61.230:8078
+  url: 192.168.0.98:8078/dfmp
   # 鍏ュ簱浠诲姟鐢宠鎺ュ彛
   #inboundTaskApplyPath: api/InterFace/inboundTaskApply
   inboundTaskApplyPath: other/api/wcs/allocation

--
Gitblit v1.9.1