From 2fe889c0da06206e8c00012026938aa81312509c Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 26 十一月 2023 16:56:34 +0800
Subject: [PATCH] #输送线回退

---
 src/main/java/com/zy/asrs/entity/ToAgvDTO.java              |   21 +++
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |   24 +++
 src/main/java/com/zy/core/model/CrnSlave.java               |    3 
 src/main/java/com/zy/core/model/DevpSlave.java              |    2 
 src/main/java/com/zy/asrs/controller/OpenController.java    |   48 +++++-
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   84 ++++++++++++
 src/main/java/com/zy/asrs/entity/ToWmsDTO.java              |   13 +
 src/main/resources/application-prod.yml                     |   41 +++--
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |  128 ++++++++++++++++-
 10 files changed, 329 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 1ad9267..764aa2a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,27 +1,30 @@
 package com.zy.asrs.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.CommandInfo;
-import com.zy.asrs.entity.TaskWrk;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
 import com.zy.asrs.entity.param.taskCreateParam;
 import com.zy.asrs.service.*;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @RestController
@@ -38,6 +41,9 @@
     private TaskWrkController taskWrkController;
     @Autowired
     private BasDevpService basDevpService;
+
+    @Value("${wms.url}")
+    private String wmsUrl;
 
     private static final boolean auth = true;
 
@@ -110,7 +116,7 @@
     @PostMapping("/targetWharfApply")
     public R targetWharfApply(@RequestHeader String appkey,
                               @RequestBody WMSAndAGVInterfaceParam param,
-                              HttpServletRequest request) {
+                              HttpServletRequest request) throws IOException {
         if (Cools.isEmpty(param)){
             return R.error("鍙傛暟涓虹┖锛�");
         } else if (Cools.isEmpty(param.getTaskNo())){
@@ -122,12 +128,35 @@
         } else if (Cools.isEmpty(param.getFreeWharfs()) || param.getFreeWharfs().size()==0){
             return R.error("绌洪棽鐨勫叆搴撶爜澶达紙AGV锛変负绌猴紒");
         }
-        TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+        ToWmsDTO toWmsDTO = new ToWmsDTO();
+        Map<String, Object> map = new HashMap<>();
+        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+        List<Integer> list = new ArrayList<>();
+        list.add(1);
+        list.add(4);
+        //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo());
+        toWmsDTO.setWarehouseId("1688469798893297665");
+        toWmsDTO.setContainerCode(param.getContainerCode());
+        toWmsDTO.setApplyType("TUNNEL");
+        toWmsDTO.setCanInboundTunnels(list);
+        String response = new HttpHandler.Builder()
+                .setHeaders(map)
+                .setUri(wmsUrl)
+                .setPath("wcsManager/wcsInterface/inboundTaskApply")
+                .setJson(JSON.toJSONString(toWmsDTO))
+                .build()
+                .doPost();
 
-        if (Cools.isEmpty(taskWrk)){
-            return R.error("鏈煡璇㈠埌浠诲姟锛屼换鍔″彿锛�"+param.getTaskNo());
+        JSONObject jsonObject = JSON.parseObject(response);
+        if (jsonObject.getInteger("code").equals(200)) {
+            //瑙f瀽
+            return R.ok(jsonObject.get("data"));
+        }else {
+            return R.error((String) jsonObject.get("msg"));
         }
-        return R.ok(taskWrk.getStartPoint());
+
+
+
     }
 
     //AGV璇锋眰鍔ㄤ綔鎺ュ彛
@@ -135,6 +164,7 @@
     public R agvTaskRequest(@RequestHeader String appkey,
                               @RequestBody WMSAndAGVInterfaceParam param,
                               HttpServletRequest request) {
+        auth(appkey, param, request);
         if (Cools.isEmpty(param)){
             return R.error("鍙傛暟涓虹┖锛�");
         } else if (Cools.isEmpty(param.getRequestType())){
diff --git a/src/main/java/com/zy/asrs/entity/ToAgvDTO.java b/src/main/java/com/zy/asrs/entity/ToAgvDTO.java
new file mode 100644
index 0000000..6ccb5b2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ToAgvDTO.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ToAgvDTO {
+    private String taskNo;
+    private String warehouseId;
+    private String warehouseCode;
+    private String taskType;
+    private String taskPriority;
+    private String containerCode;
+    private String containerTypeCode;
+    private String emptyContainer;
+    private Date createTime;
+    private Integer taskTunnel;
+    private String targetLocationCode;
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ToWmsDTO.java b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
new file mode 100644
index 0000000..f0497e7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ToWmsDTO.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ToWmsDTO {
+    private String warehouseId;
+    private String containerCode;
+    private String applyType;
+    private List<Integer> canInboundTunnels;
+}
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 d4f1f20..511ccb0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -16,14 +16,18 @@
 import com.zy.common.utils.HttpHandler;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.*;
 import com.zy.core.model.CrnSlave;
+import com.zy.core.model.DevpSlave;
 import com.zy.core.model.Task;
 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.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.LedThread;
 import com.zy.core.thread.SiemensDevpThread;
 import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
@@ -76,6 +80,86 @@
     @Value("${wms.movePath}")
     private String movePath;
 
+
+    public void generateStoreWrkFile() {
+        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            // 閬嶅巻鍏ュ簱鍙�
+            for (DevpSlave.Sta inSta : devp.getInSta()) {
+                // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+                if (staProtocol == null) {
+                    continue;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+                Short workNo = staProtocol.getWorkNo();
+                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+                if (staProtocol.isAutoing() && staProtocol.isLoading()
+                        && !staProtocol.isInEnable()
+                        && !staProtocol.isEmptyMk() && (workNo >= 0)
+                        && staProtocol.isPakMk()) {
+
+                    // 灏哄妫�娴嬪紓甯�
+                    boolean back = false;
+                    String errMsg = "";
+                    if (staProtocol.isFrontErr()) {
+                        errMsg = "鍓嶈秴闄�";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isBackErr()) {
+                        errMsg = "鍚庤秴闄�";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isHighErr()) {
+                        errMsg = "楂樿秴闄�";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isLeftErr()) {
+                        errMsg = "宸﹁秴闄�";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isRightErr()) {
+                        errMsg = "鍙宠秴闄�";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isWeightErr()) {
+                        errMsg = "瓒呴噸";
+                        back = true;
+                    }
+                    if (!back && staProtocol.isBarcodeErr()) {
+                        errMsg = "鎵爜澶辫触";
+                        back = true;
+                    }
+                    // 閫�鍥�
+                    if (back) {
+//                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
+                        staProtocol.setWorkNo(workNo);
+                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+
+                        continue;
+                    }
+                    // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+                    if (barcodeThread == null) {
+                        continue;
+                    }
+                    String barcode = barcodeThread.getBarcode();
+                    if(!Cools.isEmpty(barcode)) {
+
+                    }
+                }
+
+
+            }
+        }
+    }
+
+
     /**
      * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
      */
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 6add849..b213ca1 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -46,7 +46,7 @@
                     // 婕旂ず
 //                    mainService.crnDemoOfLocMove1();
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-//                    mainService.generateStoreWrkFile(); // 缁勬墭
+                    mainService.generateStoreWrkFile(); // 缁勬墭
                     // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
                     mainService.crnStnToOutStn();
                     // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
diff --git a/src/main/java/com/zy/core/model/CrnSlave.java b/src/main/java/com/zy/core/model/CrnSlave.java
index cfee50d..f84dcdc 100644
--- a/src/main/java/com/zy/core/model/CrnSlave.java
+++ b/src/main/java/com/zy/core/model/CrnSlave.java
@@ -46,6 +46,9 @@
         // 灞�
         private Integer lev;
 
+        //閫�鍥炵珯鐐�
+        private Integer backSta;
+
     }
 
 }
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index bb45c71..799cab2 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -35,6 +35,8 @@
         private Integer barcode;
 
         private Integer scale;
+
+        private Integer backSta;
     }
 
 }
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 28513ec..f6bde14 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -59,6 +59,30 @@
     //鎸囦护ID
     private Integer commandId;
 
+    // 澶栧舰妫�娴� ------------------------------------------------------------------------
+
+    // 鍓嶈秴闄�
+    private boolean frontErr;
+
+    // 鍚庤秴闄�
+    private boolean backErr;
+
+    // 楂樿秴闄�
+    private boolean highErr;
+
+    // 宸﹁秴闄�
+    private boolean leftErr;
+
+    // 鍙宠秴闄�
+    private boolean rightErr;
+
+    // 瓒呴噸
+    private boolean weightErr;
+
+    // 鎵爜澶辫触
+    private boolean barcodeErr;
+
+
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
         basDevp.setDevNo(siteId);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 1c4f054..d258bd5 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -232,19 +232,121 @@
             }
         }
 
-//            //鏉$爜
-//            Thread.sleep(200);
-//            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.160",(short)4);
-//            if (result2.IsSuccess) {
-//                for (int i = 0; i < barcodeSize; i++) {
-//                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
-//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-//                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-//                        barcodeThread.setBarcode(barcode);
-//                    }
-//                }
-//
-//            }
+            //鏉$爜
+            Thread.sleep(200);
+            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100",(short)31);
+            if (result2.IsSuccess) {
+                for (int i = 0; i < barcodeSize; i++) {
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+                    if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                        barcodeThread.setBarcode(barcode);
+                    }
+                }
+
+            }
+        if (slave.getId() == 1){
+            // 澶栧舰妫�娴� - 102
+            Thread.sleep(100);
+            OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.150", (short)1);
+            if (result4.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
+                StaProtocol staProtocol = station.get(103);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 107
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB101.154", (short)1);
+            if (result5.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
+                StaProtocol staProtocol = station.get(107);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 111
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB101.158", (short)1);
+            if (result6.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result6.Content, 0, 1);
+                StaProtocol staProtocol = station.get(111);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 115
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result7 = siemensS7Net.Read("DB101.162", (short)1);
+            if (result7.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result7.Content, 0, 1);
+                StaProtocol staProtocol = station.get(115);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 119
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result8 = siemensS7Net.Read("DB101.166", (short)1);
+            if (result8.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result8.Content, 0, 1);
+                StaProtocol staProtocol = station.get(119);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+            // 澶栧舰妫�娴� - 123
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result9 = siemensS7Net.Read("DB101.170", (short)1);
+            if (result9.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result9.Content, 0, 1);
+                StaProtocol staProtocol = station.get(123);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+        } else if (slave.getId() == 3) {
+            // 澶栧舰妫�娴� - 111
+            Thread.sleep(50);
+            OperateResultExOne<byte[]> result10 = siemensS7Net.Read("DB101.26", (short)1);
+            if (result10.IsSuccess) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(result10.Content, 0, 1);
+                StaProtocol staProtocol = station.get(301);
+                staProtocol.setFrontErr(status[0]);
+                staProtocol.setBackErr(status[1]);
+                staProtocol.setHighErr(status[2]);
+                staProtocol.setLeftErr(status[3]);
+                staProtocol.setRightErr(status[4]);
+                staProtocol.setWeightErr(status[5]);
+                staProtocol.setBarcodeErr(status[6]);
+            }
+        }
+
 
 //        //RGV鍙拌溅浣嶇疆
 //        Thread.sleep(200);
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 7866d23..c1953f2 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -21,6 +21,7 @@
       row: 3
       bay: 1
       lev: 1
+      backSta: 102
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 200
@@ -53,6 +54,7 @@
       row: 6
       bay: 1
       lev: 1
+      backSta: 106
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 206
@@ -85,6 +87,7 @@
       row: 9
       bay: 1
       lev: 1
+      backSta: 110
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 212
@@ -117,6 +120,7 @@
       row: 13
       bay: 1
       lev: 1
+      backSta: 114
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 218
@@ -149,6 +153,7 @@
       row: 17
       bay: 1
       lev: 1
+      backSta: 118
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 224
@@ -181,6 +186,7 @@
       row: 21
       bay: 1
       lev: 1
+      backSta: 122
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]:  #鍫嗗灈鏈哄嚭搴撶珯鐐�
       staNo: 230
@@ -201,7 +207,7 @@
     port: 102
     slot: 0
     emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0
-      staNo: 101
+      staNo: 103
     emptyInSta[1]: #绌烘澘鍏ュ簱鍙�1
       staNo: 105
     emptyInSta[2]: #绌烘澘鍏ュ簱鍙�2
@@ -214,42 +220,48 @@
       staNo: 121
     inSta[0]: #鍏ュ簱鍙�1
       scale: ${wcs-slave.scale[0].id}
-      staNo: 101
+      staNo: 103
+      backSta: 102
       barcode: ${wcs-slave.barcode[0].id}
     inSta[1]: #鍏ュ簱鍙�2
       scale: ${wcs-slave.scale[1].id}
-      staNo: 105
+      staNo: 107
+      backSta: 106
       barcode: ${wcs-slave.barcode[1].id}
       #slot: 0
     inSta[2]: #鍏ュ簱鍙�1
       scale: ${wcs-slave.scale[0].id}
-      staNo: 109
+      staNo: 111
+      backSta: 110
       barcode: ${wcs-slave.barcode[0].id}
     inSta[3]: #鍏ュ簱鍙�1
       scale: ${wcs-slave.scale[0].id}
-      staNo: 113
+      staNo: 115
+      backSta: 114
       barcode: ${wcs-slave.barcode[0].id}
     inSta[4]: #鍏ュ簱鍙�2
       scale: ${wcs-slave.scale[1].id}
-      staNo: 117
+      staNo: 119
+      backSta: 118
       barcode: ${wcs-slave.barcode[1].id}
       #slot: 0
     inSta[5]: #鍏ュ簱鍙�1
       scale: ${wcs-slave.scale[0].id}
-      staNo: 121
+      staNo: 123
+      backSta: 122
       barcode: ${wcs-slave.barcode[0].id}
     outSta[0]: #鍑哄簱鍙�1
-      staNo: 102
+      staNo: 100
     outSta[1]: #鍑哄簱鍙�2
-      staNo: 106
+      staNo: 104
     outSta[2]: #鍑哄簱鍙�2
-      staNo: 110
+      staNo: 108
     outSta[3]: #鍑哄簱鍙�1
-      staNo: 114
+      staNo: 112
     outSta[4]: #鍑哄簱鍙�2
-      staNo: 118
+      staNo: 116
     outSta[5]: #鍑哄簱鍙�2
-      staNo: 122
+      staNo: 120
   devp[1]: #杈撻�佺嚎
     id: 2
     ip: 172.17.91.45
@@ -266,8 +278,9 @@
       staNo: 306
     inSta[0]: #鍏ュ簱鍙�1
       scale: ${wcs-slave.scale[1].id}
-      staNo: 306
+      staNo: 301
       barcode: ${wcs-slave.barcode[1].id}
+      backSta: 300
       #slot: 0
     outSta[0]: #鍑哄簱鍙�1
       staNo: 307

--
Gitblit v1.9.1