From c19cf2f4c2419e403294ebdc025fe90ff7dee74c Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 13 三月 2025 14:28:48 +0800
Subject: [PATCH] 配置信息

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   85 +++++++++++++++++++++++++++++++++++++-----
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    1 
 3 files changed, 76 insertions(+), 12 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 c1ef8ba..88b0fb5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -35,7 +35,7 @@
 import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.model.protocol.StaProtocol;
-import com.zy.core.properties.SlaveProductProperties;
+import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.SiemensDevpThread;
 import com.zy.system.entity.Config;
@@ -65,7 +65,7 @@
     public static final long COMMAND_TIMEOUT = 5 * 1000;
 
     @Autowired
-    private SlaveProductProperties slaveProductProperties;
+    private SlaveProperties slaveProperties;
     @Autowired
     private WrkMastMapper wrkMastMapper;
     @Autowired
@@ -116,7 +116,7 @@
     public void generateStoreWrkFile1() throws IOException, InterruptedException {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-            for (DevpSlave devp : slaveProductProperties.getDevp()) {
+            for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鍏ュ簱鍙�
                 for (DevpSlave.Sta inSta : devp.getInSta()) {
                     StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
@@ -300,7 +300,7 @@
     public void generateStoreWrkFile() throws IOException, InterruptedException {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-            for (DevpSlave devp : slaveProductProperties.getDevp()) {
+            for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鍏ュ簱鍙�
                 for (DevpSlave.Sta inSta : devp.getInSta()) {
                     // 鑾峰彇鍏ュ簱绔欎俊鎭�
@@ -575,7 +575,7 @@
      * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
      */
     public void crnStnToOutStn() {
-        for (CrnSlave crnSlave : slaveProductProperties.getCrn()) {
+        for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
                 List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
@@ -631,7 +631,7 @@
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
      */
     public synchronized void crnIoExecute() throws IOException {
-        for (CrnSlave crn : slaveProductProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -944,8 +944,8 @@
             for (TaskWrk taskWrk : taskWrks) {
 
                 // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-//                if (Utils.isDeepLoc(slaveProductProperties, taskWrk.getStartPoint())) {
-//                    String shallowLocNo = Utils.getShallowLoc(slaveProductProperties, taskWrk.getStartPoint());
+//                if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) {
+//                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint());
 //                    TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo);
 //                    if (!Cools.isEmpty(hallowLocNoTask)){
 //                        continue;
@@ -1033,7 +1033,7 @@
      * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
      */
 //    public void storeFinished() {
-//        for (CrnSlave crn : slaveProductProperties.getCrn()) {
+//        for (CrnSlave crn : slaveProperties.getCrn()) {
 //            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
 //            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
 //            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -1081,7 +1081,7 @@
      * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
      */
     public void storeFinished() throws InterruptedException {
-        for (CrnSlave crn : slaveProductProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -1156,7 +1156,7 @@
      */
     public void recCrnErr() {
         Date now = new Date();
-        for (CrnSlave crn : slaveProductProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -1537,4 +1537,67 @@
         return taskWrk;
     }
 
+    /**
+     * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+     */
+    public synchronized void ioConvert() {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+
+                for (DevpSlave.Sta inSta : devp.getInSta()) {
+                    if (inSta.getStaNo() == 2) {
+                        continue;
+                    }
+                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
+                    switch (inSta.getStaNo()) {
+                        case 203://1F
+                            if (pakout != null) {
+                                if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+                                    // 鍑哄簱鍒囨崲涓�
+                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+                                        // 鍑哄簱妯″紡
+                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
+                                    }
+                                }
+                            } else {
+                                // 鍏ュ簱妯″紡
+                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
+                            }
+                            break;
+                        case 401://1F
+                            if (pakout != null) {
+                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+                                    // 鍑哄簱鍒囨崲涓�
+                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
+                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+                                        // 鍑哄簱妯″紡
+                                        devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+                                    }
+                                }
+                            } else {
+                                // 鍏ュ簱妯″紡
+                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+                            }
+                            break;
+                    }
+                }
+
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+    }
+
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 80eaae5..ce0cd92 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -56,7 +56,7 @@
                     // 鍏朵粬  ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
                     i++;
                     if (i > 1) {
-                        //mainService.ioConvert();
+                        mainService.ioConvert();
                         i = 0;
                     }
 
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index c1e4336..78930dd 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -80,6 +80,7 @@
      * 4.鍑哄簱妯″紡
      */
     public IoModeType ioModeOf2F = IoModeType.NONE;
+    public IoModeType ioModeOf4F = IoModeType.NONE;
     private DevpSlave slave;
     private SiemensS7Net siemensS7Net;
     private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();

--
Gitblit v1.9.1