From f66d87fdf407780926f961039b5ecd4203770b2a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 10 八月 2020 16:48:29 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/properties/SlaveProperties.java   |    3 +
 src/main/java/com/zy/core/model/CrnSlave.java               |   34 +++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   34 ++++++++++++-----
 src/main/resources/application.yml                          |    9 ++++
 4 files changed, 69 insertions(+), 11 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 4f0f320..1ff5853 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,11 +12,11 @@
 import com.zy.asrs.service.StaDescService;
 import com.zy.asrs.service.WrkDetlService;
 import com.zy.common.model.StartupDto;
-import com.zy.core.Slave;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.CrnStatusType;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.model.CrnSlave;
 import com.zy.core.model.DevpSlave;
 import com.zy.core.model.Task;
 import com.zy.core.model.protocol.CrnProtocol;
@@ -294,7 +294,7 @@
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈虹珯鍒板簱浣� 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
      */
     public void crnIoExecute(){
-        for (Slave crn : slaveProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -307,20 +307,20 @@
                 // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
                 if (crnProtocol.getLastIo().equals("I")) {
                     if (basCrnp.getInEnable().equals("Y")) {
-                        this.crnStnToLoc(); //  鍏ュ簱
+                        this.crnStnToLoc(crn); //  鍏ュ簱
                         crnProtocol.setLastIo("O");
                     } else if (basCrnp.getOutEnable().equals("Y")) {
-                        this.locToCrnStn(); //  鍑哄簱
+                        this.locToCrnStn(crn); //  鍑哄簱
                         crnProtocol.setLastIo("I");
                     }
                 }
                 // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
                 else if (crnProtocol.getLastIo().equals("O")) {
                     if (basCrnp.getOutEnable().equals("Y")) {
-                        this.locToCrnStn(); //  鍑哄簱
+                        this.locToCrnStn(crn); //  鍑哄簱
                         crnProtocol.setLastIo("I");
                     } else if (basCrnp.getInEnable().equals("Y")) {
-                        this.crnStnToLoc(); //  鍏ュ簱
+                        this.crnStnToLoc(crn); //  鍏ュ簱
                         crnProtocol.setLastIo("O");
                     }
                 }
@@ -334,15 +334,29 @@
     /**
      * 鍏ュ簱  ===>>  鍫嗗灈鏈虹珯鍒板簱浣�
      */
-    private void crnStnToLoc(){
+    private void crnStnToLoc(CrnSlave slave){
+        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
+            // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
 
+
+
+        }
     }
 
     /**
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
      */
-    private void locToCrnStn(){
+    private void locToCrnStn(CrnSlave slave){
+        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
+            // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
 
+
+
+        }
     }
 
     /**
@@ -356,7 +370,7 @@
      * 鎵ц瀵瑰伐浣滄。鐨勫叆搴撳畬鎴�
      */
     public void storeFinished() {
-        for (Slave crn : slaveProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -368,7 +382,7 @@
      * 鏇存柊鍫嗗灈鏈虹Щ鍔ㄦ椂宸ヤ綔妗g姸鎬�
      */
     public void updateCrnMove() {
-        for (Slave crn : slaveProperties.getCrn()) {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
             CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
             CrnProtocol crnProtocol = crnThread.getCrnProtocol();
diff --git a/src/main/java/com/zy/core/model/CrnSlave.java b/src/main/java/com/zy/core/model/CrnSlave.java
new file mode 100644
index 0000000..47232af
--- /dev/null
+++ b/src/main/java/com/zy/core/model/CrnSlave.java
@@ -0,0 +1,34 @@
+package com.zy.core.model;
+
+import com.zy.core.Slave;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/8/10
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class CrnSlave extends Slave {
+
+    // 鍫嗗灈鏈哄叆搴撶珯鐐�
+    private List<CrnStn> crnInStn = new ArrayList<>();
+
+    // 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    private List<CrnStn> crnOutStn = new ArrayList<>();
+
+    @Data
+    public static class CrnStn {
+
+        // 鍫嗗灈鏈簆lc缂栧彿
+        private Integer devpPlcId;
+
+        // 鍫嗗灈鏈虹珯鐐圭紪鍙�
+        private Integer staNo;
+
+    }
+
+}
diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java
index a03469f..5f5e393 100644
--- a/src/main/java/com/zy/core/properties/SlaveProperties.java
+++ b/src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -1,6 +1,7 @@
 package com.zy.core.properties;
 
 import com.zy.core.Slave;
+import com.zy.core.model.CrnSlave;
 import com.zy.core.model.DevpSlave;
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -17,7 +18,7 @@
 @ConfigurationProperties(prefix = "wcs-slave")
 public class SlaveProperties {
 
-    private List<Slave> crn = new ArrayList<>();
+    private List<CrnSlave> crn = new ArrayList<>();
 
     private List<DevpSlave> devp = new ArrayList<>();
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index df846cd..9c818e0 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -40,6 +40,14 @@
     id: 1
     ip: 192.168.1.1
     port: 8888
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 5
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 6
   # 绔欑偣
   devp[0]:
     id: 1
@@ -49,6 +57,7 @@
     inSta[0]:
       staNo: 2
       barcode: ${wcs-slave.barcode[0].id}
+    # 鍑哄簱鍙�
     outSta[0]:
       staNo: 6
     # 鎷f枡鍏ュ簱鍙�

--
Gitblit v1.9.1