From 29ccba30133dec6ec0516c0782da5fe7d046848d Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 16 十月 2025 10:00:14 +0800
Subject: [PATCH] wcs功能完善

---
 src/main/java/com/zy/common/model/MatDto.java             |   12 +
 /dev/null                                                 |   91 -------------
 src/main/java/com/zy/core/model/protocol/StaProtocol.java |   19 +-
 src/main/java/com/zy/core/thread/SiemensCrnThread.java    |   56 +++----
 src/main/webapp/views/console.html                        |   30 ---
 src/main/java/com/zy/service/impl/MainServiceImpl.java    |   91 ++++--------
 src/main/java/com/zy/core/MainProcess.java                |    2 
 src/main/java/com/zy/common/model/LocTypeDto.java         |   10 -
 src/main/java/com/zy/core/model/command/LedCommand.java   |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java   |   58 +++----
 src/main/resources/application.yml                        |   18 +-
 11 files changed, 117 insertions(+), 272 deletions(-)

diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 38fb7d2..c751fe7 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -1,6 +1,5 @@
 package com.zy.common.model;
 
-import com.core.exception.CoolException;
 import com.zy.core.model.protocol.StaProtocol;
 import lombok.Data;
 
@@ -31,14 +30,7 @@
     }
 
     public LocTypeDto(StaProtocol staProtocol) {
-//        if (staProtocol.isHigh() == staProtocol.isLow()) {
-//            throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
-//        }
-        if (staProtocol.getSiteId() == 106 || staProtocol.getSiteId() == 159){
-            this.locType1 = 2; // 楂樺簱浣�
-        }else {
-            this.locType1 = 1; // 浣庡簱浣�
-        }
+        this.locType1 = staProtocol.getGoodsHeight();
     }
 
     /**
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 19429ab..684c601 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -8,6 +8,8 @@
 @Data
 public class MatDto {
 
+    private String orderNo;
+
     // 鐗╂枡缂栧彿
     private String matnr;
 
@@ -19,6 +21,8 @@
     private String specs;
 
     private String model;
+
+    private Double anfme;
 
     private String manuDate;
 
@@ -51,15 +55,15 @@
         this.count = count;
         this.total = total;
     }
-    public MatDto(String matnr,String batch,String specs,String manuDate,String model,double weight, double length,double volume) {
+    public MatDto(String orderNo,String matnr,String maknx, String batch,String specs,String manuDate,String model,Double anfme) {
+        this.orderNo = orderNo;
         this.matnr = matnr;
+        this.maknx = maknx;
         this.batch = batch;
         this.specs = specs;
         this.manuDate = manuDate;
         this.model = model;
-        this.weight = weight;
-        this.length = length;
-        this.volume = volume;
+        this.anfme = anfme;
     }
 
     public MatDto(String matNo, String maknx, Double count) {
diff --git a/src/main/java/com/zy/controller/OpenController.java b/src/main/java/com/zy/controller/OpenController.java
deleted file mode 100644
index 58a667f..0000000
--- a/src/main/java/com/zy/controller/OpenController.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.zy.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.Cools;
-import com.core.common.R;
-import com.core.exception.CoolException;
-import com.zy.common.model.AgvTaskCompleteDto;
-import com.zy.common.web.BaseController;
-import com.zy.core.cache.MessageQueue;
-import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.model.Task;
-import com.zy.core.model.protocol.StaProtocol;
-import com.zy.core.thread.SiemensDevpThread;
-import com.zy.entity.BasDevp;
-import com.zy.entity.WrkMast;
-import com.zy.service.BasDevpService;
-import com.zy.service.WrkMastService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-
-/**
- * Created by vincent on 2022/4/8
- */
-@Slf4j
-@RestController
-@RequestMapping("open/asrs")
-public class OpenController extends BaseController {
-
-    private static final boolean auth = true;
-    public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
-        add("ea1f0459efc02a79f046f982767939ae");
-    }};
-    @Autowired
-    private BasDevpService basDevpService;
-    @Autowired
-    private WrkMastService wrkMastService;
-    /**
-     * agv鍙栨斁璐у畬鎴愶紝閫氱煡wcs
-     */
-    @PostMapping("/agv/agvTaskComplete")
-    public synchronized R agvTaskComplete(@RequestHeader(required = false) String appkey,
-                                     @RequestBody AgvTaskCompleteDto param,
-                                     HttpServletRequest request) {
-        auth(appkey, param, request);
-            // 缁�305鍐欏叧闂�
-            BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
-            if (basDevp.getWrkNo() != 0) {
-                WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
-                if(wrkMast.getWhsType() != null && wrkMast.getWhsType() == 3) {
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-                    StaProtocol staProtocol305 = devpThread.getStation().get(305);
-                    if (!staProtocol305.getIfCloseDoor()) { // 娌¤姹傚叧闂�
-                        // 璇锋眰鍏抽棴
-                        if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 0))){
-                            log.error("璇锋眰鍏抽棬澶辫触");
-                            R.parse("璇锋眰鍏抽棬澶辫触");
-                        }
-                        staProtocol305.setOpenAskDoor(false);
-                        wrkMast.setWhsType(4);
-                        wrkMastService.updateById(wrkMast);
-                    }
-                }
-            } else {
-                return R.parse("鏃犱换鍔�");
-            }
-        return R.ok("璇锋眰鍏抽棬鎴愬姛");
-    }
-
-
-    private void auth(String appkey, Object obj, HttpServletRequest request) {
-        log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
-        request.setAttribute("cache", obj);
-        if (!auth) {
-            return;
-        }
-        if (Cools.isEmpty(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
-        }
-        if (!APP_KEY_LIST.contains(appkey)) {
-            throw new CoolException("璁よ瘉澶辫触锛岃纭appkey鏃犺锛�");
-        }
-    }
-
-
-}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 64f353c..9f482ba 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -65,7 +65,7 @@
                     mainService.storeEmptyPlt(8);
 
                     // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-                    mainService.ledExecute(9);
+                    mainService.ledExecute();
 
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
diff --git a/src/main/java/com/zy/core/model/command/LedCommand.java b/src/main/java/com/zy/core/model/command/LedCommand.java
index 4bffcb7..95afa67 100644
--- a/src/main/java/com/zy/core/model/command/LedCommand.java
+++ b/src/main/java/com/zy/core/model/command/LedCommand.java
@@ -56,7 +56,7 @@
         ledCommand.setStaNo(100);
         ledCommand.setWorkNo(7001);
         List<MatDto> matDtos = new ArrayList<>();
-        MatDto matDto = new MatDto("0205040001","K44132-09-0724","PE","20240724",",HD-233L",70,2816,53908.56626);
+        MatDto matDto = new MatDto();
         matDtos.add(matDto);
         ledCommand.setMatDtos(matDtos);
         System.out.println(ledCommand);
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 c844cae..dfd1a4e 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -43,6 +43,9 @@
     // 楂�
     private boolean high;
 
+    // 涓�
+    private boolean center;
+
     // 浣�
     private boolean low;
 
@@ -75,11 +78,17 @@
     // 鍙宠秴闄�
     private boolean rightErr = false;
 
+    // 鏈粍鎵樻姤璀�
+    private boolean groupSupportErr = false;
+
     // 瓒呴噸
     private boolean weightErr = false;
 
     // 鎵爜澶辫触
     private boolean barcodeErr = false;
+
+    // 璐х墿楂樺害 1.浣� 2.涓� 3.楂�
+    private short goodsHeight;
 
     //鏁呴殰-----------------------------------------------------------------------
     private Boolean breakerErr = false; //鏂矾鍣ㄦ晠闅�
@@ -98,18 +107,10 @@
 
     private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
 
-    private Boolean ifOpenDoor = false; // 鏄惁鎵撳紑
-
-    private Boolean ifCloseDoor = false; // 鏄惁鍏抽棴
-
-    private Boolean openAskDoor = false; // 璇锋眰寮�闂�
-
-    private Boolean closeAskDoor = false; // 璇锋眰鍏抽棬
-
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
         basDevp.setDevNo(siteId);
-        basDevp.setWrkNo(workNo.intValue());
+        basDevp.setWrkNo(workNo);
         basDevp.setAutoing(autoing?"Y":"N");
         basDevp.setLoading(loading?"Y":"N");
         basDevp.setInEnable(inEnable?"Y":"N");
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 72d74e7..462bde0 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -111,14 +111,14 @@
         }
         crnProtocol.setMode((short) -1);
 //        crnProtocol.setTaskNo((short)0);
-        crnProtocol.setStatus((short)-1);
-        crnProtocol.setBay((short)0);
-        crnProtocol.setLevel((short)0);
+        crnProtocol.setStatus((short) -1);
+        crnProtocol.setBay((short) 0);
+        crnProtocol.setLevel((short) 0);
         crnProtocol.setForkPos((short) -1);
         crnProtocol.setLiftPos((short) -1);
-        crnProtocol.setWalkPos((short)0);
-        crnProtocol.setLoaded((short)0);
-        crnProtocol.setAlarm((short)0);
+        crnProtocol.setWalkPos((short) 0);
+        crnProtocol.setLoaded((short) 0);
+        crnProtocol.setAlarm((short) 0);
         crnProtocol.setxSpeed((short) 0);
         crnProtocol.setySpeed((short) 0);
         crnProtocol.setzSpeed((short) 0);
@@ -126,17 +126,17 @@
         crnProtocol.setyDistance((short) 0);
         crnProtocol.setxDuration((short) 0);
         crnProtocol.setyDuration((short) 0);
-        try{
+        try {
             // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
             BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
             BasCrnp basCrnp = new BasCrnp();
-            basCrnp.setCrnErr(crnProtocol.getAlarm()==null?0:crnProtocol.getAlarm().longValue());
+            basCrnp.setCrnErr(crnProtocol.getAlarm() == null ? 0 : crnProtocol.getAlarm().longValue());
             basCrnp.setCrnNo(slave.getId());
-            basCrnp.setCrnSts((int)crnProtocol.getMode());
-            if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
-                News.error("MelsecCrn"+" - 4"+" - 鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            basCrnp.setCrnSts((int) crnProtocol.getMode());
+            if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))) {
+                News.error("MelsecCrn" + " - 4" + " - 鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             }
-        } catch (Exception e){
+        } catch (Exception e) {
 
         }
     }
@@ -198,6 +198,7 @@
 
                 // 澶嶄綅淇″彿
                 if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                    News.info("{}鍙峰爢鍨涙満锛屾敹鍒颁换鍔}瀹屾垚淇″彿",crnProtocol.getCrnNo(),crnProtocol.getTaskNo());
                     if (resetFlag) {
                         if(crnProtocol.getTaskNo()==9999){
                             backHpFlag = false;
@@ -231,15 +232,6 @@
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
             News.error("SiemensCrn"+" - 5"+" - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             initCrn();
-        }
-    }
-
-    private void convertRow(CrnCommand crnCommand) {
-        if (crnCommand.getSourcePosX() != null && crnCommand.getSourcePosX() != 0) {
-            crnCommand.setSourcePosX((short) (crnCommand.getSourcePosX() - ((slave.getId() - 1) * 4)));
-        }
-        if (crnCommand.getDestinationPosX() != null && crnCommand.getDestinationPosX() != 0) {
-            crnCommand.setDestinationPosX((short) (crnCommand.getDestinationPosX() - ((slave.getId() - 1) * 4)));
         }
     }
 
@@ -277,9 +269,9 @@
         }catch (Exception e){
             News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
         }
-//        convertRow(command);
+
         command.setCrnNo(slave.getId());
-//        short[] array = new short[10];
+
         short[] array = new short[10];
         array[0] = command.getAckFinish(); // 浠诲姟瀹屾垚纭浣�
         array[1] = command.getTaskNo();  // 浠诲姟鍙�
@@ -293,14 +285,10 @@
         array[9] = command.getCommand();
 //        array[10] = 0;   //澶囩敤1
 
-//        boolean[] array2 = new boolean[1];
-//        array2[0] = command.isTraySize();
         OperateResult result = siemensNet.Write("DB100.0", array);
-//        OperateResult result2 = siemensNet.Write("DB100.22", array2);
         News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
 
-//        if(!result.IsSuccess || !result2.IsSuccess){
-            if(!result.IsSuccess){
+        if (!result.IsSuccess) {
             News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
             MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
             Thread.sleep(100);
@@ -383,6 +371,11 @@
                     }
                 }while (writeCount2<5);
             }
+        } else {
+            BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+            BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
+            basCrnp.setModiTime(new Date());
+            basCrnpService.updateById(basCrnp);
         }
 
         try {
@@ -408,7 +401,7 @@
             bean.insert(basCrnOpt);
         } catch (Exception ignore) {}
 
-        if (result != null && result.IsSuccess) {
+        if (result.IsSuccess) {
             this.readStatus();
             News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
@@ -419,11 +412,6 @@
             return false;
         }
     }
-
-    public void requestStop() {
-        isRunning = false;
-    }
-
 
     @Override
     public void close() {
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index d5fe86f..cfc018f 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -8,7 +8,6 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
-import com.core.exception.CoolException;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -53,7 +52,7 @@
         add(1); add(2);
     }};
     public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
-        add(101); add(103);
+        add(104); add(106);
     }};
 
     /**
@@ -183,10 +182,10 @@
      */
     private void read() {
 
-        // 璇讳竴妤艰繛缁�8涓珯鐐�
+        // 绔欑偣淇℃伅
         OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (8*8));
         if (result.IsSuccess) {
-            for (int i = 0; i < 8; i++) {
+            for (int i = 0; i < staNos.size(); i++) {
                 Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
                 StaProtocol staProtocol = station.get(siteId);
                 if (null == staProtocol) {
@@ -206,19 +205,25 @@
                 staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
                 staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
                 staProtocol.setHigh(status[6]);     // 楂樺簱浣�
-                staProtocol.setLow(status[7]);      // 浣庡簱浣�
+                staProtocol.setLow(status[7]);      // 涓簱浣�
+                staProtocol.setCenter(status[8]);   // 浣庡簱浣�
 
                 if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
                     staProtocol.setPakMk(true);
                 }
             }
+        } else {
+            initSite();
+            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            News.error("SiemensCrn"+" - 4"+" - 璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+            return;
         }
 
         // 鏉$爜鎵弿鍣�
-        OperateResultExOne<byte[]> barcodeResult = siemensS7Net.Read("DB101.1672", (short) ((BarcodeList.size()+1) * 8)); // 涓嶈繛缁�
+        OperateResultExOne<byte[]> barcodeResult = siemensS7Net.Read("DB101.400", (short) (BarcodeList.size() * 10));
         if (barcodeResult.IsSuccess) {
             for (int i = 0; i < BarcodeList.size(); i++) {
-                String barcode = siemensS7Net.getByteTransform().TransString(barcodeResult.Content,i*16,8, "UTF-8");
+                String barcode = siemensS7Net.getByteTransform().TransString(barcodeResult.Content,i*10 + 2,8, "UTF-8");
                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, BarcodeList.get(i));
                 if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                     barcodeThread.setBarcode(barcode);
@@ -227,26 +232,29 @@
         }
 
         // 澶栧舰妫�娴�
-        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.1652", (short) ((staNosErrList.size()+1)*4)); // 涓嶈繛缁紝澶氳涓棿涓�涓�
+        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.430", (short) (staNosErrList.size() *4)); // 涓嶈繛缁紝澶氳涓棿涓�涓�
         if (resultErr.IsSuccess){
             for (int i = 0;i<staNosErrList.size();i++){
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*8+2, 1);
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4, 1);
                 StaProtocol staProtocol = station.get(staNosErrList.get(i));
                 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.setGroupSupportErr(status[5]);
                 staProtocol.setBarcodeErr(status[6]);
+                staProtocol.setWeightErr(status[7]);
+                short goodsHeight = siemensS7Net.getByteTransform().TransInt16(resultErr.Content, i * 4 + 2);
+                staProtocol.setGoodsHeight(goodsHeight);
             }
         }
 
-        // 璇讳竴妤艰繛缁�8涓珯鐐癸紝鏁呴殰淇℃伅鍙嶉
-        OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.3312", (short) (8*2));
+        // 鏁呴殰淇℃伅鍙嶉
+        OperateResultExOne<byte[]> resultErr2 = siemensS7Net.Read("DB101.442", (short) (staNos.size() * 4));
         if (resultErr2.IsSuccess) {
-            for (int i = 0; i < 8; i++) {
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*2 + 1, 1);
+            for (int i = 0; i < staNos.size(); i++) {
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr2.Content, i*4 + 2, 1);
                 StaProtocol staProtocol = station.get(staNos.get(i)); // 绔欑偣缂栧彿
                 staProtocol.setBreakerErr(status[0]);
                 staProtocol.setInfraredErr(status[1]);
@@ -297,35 +305,22 @@
             return;
         }
 
-        int address = -1;
-        switch (staProtocol.getSiteId()) {
-            case 100: address = 0; break;
-            case 101: address = 4; break;
-            case 102: address = 8; break;
-            case 103: address = 12; break;
-            case 104: address = 16; break;
-            case 105: address = 20; break;
-            case 106: address = 24; break;
-            case 107: address = 28; break;
-            default:
-        }
-        if(address == -1) {
-            throw new CoolException("鍐欏叆绔欑偣寮傚父锛�" + staProtocol.getSiteId());
-        }
+        int address = staNos.indexOf(staProtocol.getSiteId()) * 4;
+
         OperateResult write;
         OperateResult write1;
         //浠诲姟涓嬪彂娆℃暟
         int writeCount = 0;
         do {
-            write1 = siemensS7Net.Write("DB100." + (address+2), staProtocol.getStaNo());    // 鐩爣绔�
             write = siemensS7Net.Write("DB100." + address, staProtocol.getWorkNo().shortValue());    // 宸ヤ綔鍙�
+            write1 = siemensS7Net.Write("DB100." + (address + 2), staProtocol.getStaNo());    // 鐩爣绔�
             Thread.sleep(200);
             if(write.IsSuccess && write1.IsSuccess){
                 break;
             }
             else {
                 writeCount++;
-                log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+                News.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
             }
         }while (writeCount<5);
 
@@ -340,6 +335,7 @@
             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
             News.info("SiemensDevp"+" - 5"+" - 杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}",  slave.getId(), JSON.toJSON(staProtocol));
         }
+        read();
     }
 
     /**
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index f823d8b..91d91dd 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -93,7 +93,7 @@
     @Value("${wms.url}")
     private String wmsUrl;
 
-    public Integer wrkNo = 9901;
+    public Integer wrkNo = 9997;
 
     /**
      * 缁勬墭
@@ -147,20 +147,13 @@
                     errMsg = "瓒呴噸";
                     back = true;
                 }
-                if (!back && staProtocol.isBarcodeErr()) {
+                if (!back && (staProtocol.isBarcodeErr()||Cools.isEmpty(barcode))) {
                     errMsg = "鎵爜澶辫触";
                     back = true;
                 }
                 // 閫�鍥�
-                if (back) {
+                if (back && staProtocol.getWorkNo() == 9999 && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) {
                     MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
-
-                    if (!staProtocol.isLoading()){
-                        continue;
-                    }
-                    if (!staProtocol.isPakMk()) {
-                        continue;
-                    }
                     staProtocol.setWorkNo(wrkNo);
                     News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
@@ -175,8 +168,9 @@
                         && staProtocol.isLoading()
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk()
-                        && staProtocol.isPakMk()) {
+                        && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9999) {
                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
+                        News.info("{}鏉$爜鎵弿閿欒锛歿}",barcodeThread.getSlave().getId(),barcode);
                         continue;
                     }
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -209,14 +203,12 @@
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                             barcodeThread.setBarcode("");
                             staProtocol.setWorkNo(dto.getWorkNo());
-                            staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
+                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             log.error("杈撻�佺嚎涓嬪彂2锛�"+dto.getWorkNo()+","+dto.getStaNo());
                             if (!result) {
                                 News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触");
-
-                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }else {
                                 ledThread.errorReset();
                             }
@@ -237,7 +229,6 @@
                     }
 
                 }
-
 
             }
         }
@@ -274,7 +265,7 @@
                     staProtocol = staProtocol.clone();
                 }
 
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9999) {
                     News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�");
                     WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
                     if (wrkMast == null) {
@@ -298,7 +289,7 @@
                         staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        log.error("杈撻�佺嚎涓嬪彂4锛�"+9989+","+(pickSta.getStaNo().shortValue()-(short)1));
+                        log.error("杈撻�佺嚎涓嬪彂4锛�"+wrkNo+","+(pickSta.getStaNo().shortValue()-(short)1));
                         //LED
                         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                         // led 寮傚父鏄剧ず
@@ -351,7 +342,7 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo((short) 161);
+                    staProtocol.setStaNo(staProtocol.getSiteId().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     log.error("杈撻�佺嚎涓嬪彂5锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo());
@@ -419,7 +410,7 @@
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
-                            log.info("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�,浠诲姟鍙凤細{}",wrkMast.getWrkNo());
+                            News.info("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�,浠诲姟鍙凤細{}",wrkMast.getWrkNo());
                             crnThread.setResetFlag(true);
                         } else {
                             News.error(""+mark+" - 1"+" - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
@@ -429,7 +420,7 @@
                         News.errorNoLog(""+mark+" - 6"+" - 鍫嗗灈鏈轰俊鎭笉绗﹀悎鍏ュ簱鏉′欢锛侊紒锛�"
                                 +" 鍫嗗灈鏈虹姸鎬侊細"+crnProtocol.modeType+"==鑷姩AUTO锛�" + CrnModeType.AUTO
                                 +"銆佸爢鍨涙満浠诲姟鍙凤細"+crnProtocol.getTaskNo()+"==宸ヤ綔妗d换鍔″彿锛�" + wrkMast.getWrkNo().shortValue()
-                                +"銆佺姸鎬佹灇涓撅細"+crnProtocol.statusType+"==WAITING锛�90 //浠诲姟瀹屾垚绛夊緟WCS纭)锛�" + CrnStatusType.WAITING
+                                +"銆佺姸鎬佹灇涓撅細"+crnProtocol.statusType+"==WAITING锛�10 //浠诲姟瀹屾垚绛夊緟WCS纭)锛�" + CrnStatusType.WAITING
                                 +"銆佽揣鍙変綅缃細"+crnProtocol.forkPosType+"==HOME锛�0  // 璐у弶鍘熶綅锛�" + CrnForkPosType.HOME);
                     }
 
@@ -672,7 +663,7 @@
                 }
 
                 // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+                if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
                         && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
                     // 鍫嗗灈鏈烘帶鍒惰繃婊�
                     if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
@@ -797,7 +788,7 @@
             News.error(""+mark+" - 3"+" - 2"+" - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
             return;
         }
-        if(sta.getLocType1() != sourceSta.getLocType1()){
+        if(!Objects.equals(sta.getLocType1(), sourceSta.getLocType1())){
             News.error("绉诲簱鐩爣搴撲綅绫诲瀷涓庢簮搴撲綅绫诲瀷涓嶇");
             return;
         }
@@ -973,7 +964,7 @@
                             String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
                             BasErrLog basErrLog = new BasErrLog(
                                     null,    // 缂栧彿
-                                    null,    // 宸ヤ綔鍙�
+                                    crnProtocol.getTaskNo().intValue(),    // 宸ヤ綔鍙�
                                     now,    // 鍙戠敓鏃堕棿
                                     null,    // 缁撴潫鏃堕棿
                                     null,    // 宸ヤ綔鐘舵��
@@ -1047,7 +1038,7 @@
                         && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk()
                         && staProtocol.isPakMk()
-                        && (staProtocol.getWorkNo() !=0 && staProtocol.getWorkNo() > 9700)
+                        && staProtocol.getWorkNo() == 9998 // 9997 鍥為�� 9998 绌� 9999 婊�
                         ) {
                     News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛岋細绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�");
 
@@ -1094,7 +1085,7 @@
 //                                ledThread.errorReset();
                             }
                         } else {
-                            staProtocol.setWorkNo(wrkNo++);
+                            staProtocol.setWorkNo(wrkNo);
                             staProtocol.setStaNo(emptyInSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -1179,7 +1170,7 @@
                                         "浠诲姟涓紓甯�"    // 澶囨敞
                                 );
                                 if (!basDevpErrLogService.insert(basErrLog)) {
-                                    log.error("杈撻�佺嚎寮傚父淇℃伅鎻掑叆琛╝sr_bas_devp_err_log寮傚父锛歿}", basErrLog);
+                                    News.error("杈撻�佺嚎寮傚父淇℃伅鎻掑叆琛╝sr_bas_devp_err_log寮傚父锛歿}", basErrLog);
                                 }
                             }
                         } else {
@@ -1189,7 +1180,7 @@
                                 latestByTaskNo.setUpdateTime(now);
                                 latestByTaskNo.setStatus(2);
                                 if (!basDevpErrLogService.updateById(latestByTaskNo)) {
-                                    log.error("杈撻�佺嚎寮傚父璁板綍淇澶辫触asr_bas_devp_err_log寮傚父锛歿}", latestByTaskNo);
+                                    News.error("杈撻�佺嚎寮傚父璁板綍淇澶辫触asr_bas_devp_err_log寮傚父锛歿}", latestByTaskNo);
                                 }
                             }
                         }
@@ -1202,7 +1193,7 @@
                             if (latest == null || !latest.getError().equals(plcErr) || latest.getStatus() == 2 ) {
                                 BasDevpErrLog basErrLog = new BasDevpErrLog(
                                         null,    // 缂栧彿
-                                        null,    // 宸ヤ綔鍙�
+                                        staProtocol.getWorkNo(),    // 宸ヤ綔鍙�
                                         now,    // 鍙戠敓鏃堕棿
                                         null,    // 缁撴潫鏃堕棿
                                         null,    // 宸ヤ綔鐘舵��
@@ -1224,7 +1215,7 @@
                                         "鏃犱换鍔″紓甯�"    // 澶囨敞
                                 );
                                 if (!basDevpErrLogService.insert(basErrLog)) {
-                                    log.error("杈撻�佺嚎寮傚父璁板綍asr_bas_devp_err_log寮傚父锛歿}", basErrLog);
+                                    News.error("杈撻�佺嚎寮傚父璁板綍asr_bas_devp_err_log寮傚父锛歿}", basErrLog);
                                 }
                             }
                             // 鏃犲紓甯�
@@ -1235,7 +1226,7 @@
                                 latest.setUpdateTime(now);
                                 latest.setStatus(2);
                                 if (!basDevpErrLogService.updateById(latest)) {
-                                    log.error("杈撻�佺嚎寮傚父璁板綍淇澶辫触asr_bas_devp_err_log寮傚父锛歿}", latest);
+                                    News.error("杈撻�佺嚎寮傚父璁板綍淇澶辫触asr_bas_devp_err_log寮傚父锛歿}", latest);
                                 }
                             }
                         }
@@ -1296,7 +1287,7 @@
     /**
      * 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
      */
-    public synchronized void ledExecute(Integer mark) {
+    public synchronized void ledExecute() {
         for (LedSlave led : slaveProperties.getLed()) {
             // 鑾峰彇杈撻�佺嚎plc绾跨▼
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
@@ -1348,32 +1339,16 @@
                         News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
                         break;
                 }
+                ledCommand.setLocNo(wrkMast.getLocNo());
                 ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
                 ledCommand.setStaNo(wrkMast.getStaNo());
                 ledCommand.setBarcode(wrkMast.getBarcode());
                 if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
                     List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
-//                    List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
-                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getWeight(),wrkDetl.getLength(),wrkDetl.getVolume())));
-//                    wrkDetls.forEach(wrkDetl -> {
-//                        Double total = 0.0;
-//                        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
-//                        LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
-//                        if (Cools.isEmpty(locDetl)) {
-//                            total = wrkDetl.getAnfme();
-//                        } else {
-//                            total = locDetl.getAnfme();
-//                        }
-//                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                        if (wrkMast.getIoType() == 107) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                    });
+                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getOrderNo(),wrkDetl.getMatnr(),wrkDetl.getMaktx(),
+                            wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getAnfme())));
+                } else {
+                    ledCommand.getMatDtos().add(new MatDto("","","","","","","",1.0));
                 }
                 commands.add(ledCommand);
             }
@@ -1440,7 +1415,7 @@
                 }
                 ledThread.errorReset();
                 if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
-                    News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+                    News.error("鏄剧ず榛樿鍐呭{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
                 }
             }
         }
@@ -1477,7 +1452,7 @@
             if (null == loc) {
                 for (Integer row : rows) {
                     if (Utils.isShallowLoc(slaveProperties, row)) {
-                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
+                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
 
                         if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
                             String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
@@ -1609,7 +1584,7 @@
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
                 // 鍒ゆ柇鏄笉鏄凡鍦ㄥ師鐐�
-                if(crnProtocol.getBay() == 0 && crnProtocol.getLevel() == 1) {
+                if(crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) {
                     continue;
                 }
                 // 鍒ゆ柇鏄笉鏄┖闂蹭笁鍒嗛挓
@@ -1623,7 +1598,7 @@
                 if(diffInMillis < 10 * 1000) { // 绌洪棽灏忎簬10绉掑垯璺宠繃
                     continue;
                 } else {  // 鏈夊叆搴撲换鍔℃垨澶т簬2鍒嗛挓锛屽洖鍘熺偣
-                    int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 1).eq("crn_no", crn.getId()).in("wrk_sts", 2, 9, 10));
+                    int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 1).eq("crn_no", crn.getId()).in("wrk_sts", 2));
                     if(count == 0 && diffInMillis < 2 * 60 * 1000) {
                         continue;
                     }
@@ -1639,8 +1614,8 @@
                 crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙�
                 crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
                 crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍥炲師鐐�
-                crnCommand.setSourcePosX((short) (crn.getId() == 1 ? 4 : crn.getId() == 2 ? 6 : crn.getId() == 3 ? 7 : 11));     // 婧愬簱浣嶆帓
-                crnCommand.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+                crnCommand.setSourcePosX((short) (crn.getId() == 1 ? 3 : 6));     // 婧愬簱浣嶆帓
+                crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
                 crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
                 crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
                 crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 234d11a..9282531 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -48,7 +48,7 @@
   # 鍫嗗灈鏈�1
   crn[0]:
     id: 1
-    ip: 10.10.10.1
+    ip: 192.168.5.10
     port: 102
     rack: 0
     slot: 0
@@ -72,7 +72,7 @@
   # 鍫嗗灈鏈�2
   crn[1]:
     id: 2
-    ip: 10.10.10.10
+    ip: 192.168.5.20
     port: 102
     rack: 0
     slot: 0
@@ -97,7 +97,7 @@
   # 杈撻�佺嚎1
   devp[0]:
     id: 1
-    ip: 10.10.10.18
+    ip: 192.168.5.40
     port: 102
     rack: 0
     slot: 0
@@ -149,18 +149,18 @@
   # 鏉$爜鎵弿浠�1
   barcode[0]:
     id: 1
-    ip: 10.10.10.121
+    ip: 192.168.5.42
     port: 51236
   # 鏉$爜鎵弿浠�2
   barcode[1]:
     id: 2
-    ip: 10.10.10.122
+    ip: 192.168.5.43
     port: 51236
 
   # LED1
   led[0]:
     id: 1
-    ip: 10.10.10.190
+    ip: 192.168.5.104
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 101
@@ -168,7 +168,7 @@
   # LED2
   led[1]:
     id: 2
-    ip: 10.10.10.191
+    ip: 192.168.5.105
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 104
@@ -176,7 +176,7 @@
   # LED3
   led[2]:
     id: 3
-    ip: 10.10.10.192
+    ip: 192.168.5.106
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 106
@@ -184,7 +184,7 @@
   # LED4
   led[3]:
     id: 4
-    ip: 10.10.10.192
+    ip: 192.168.5.107
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 107
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index f223198..14864cd 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -595,37 +595,17 @@
                     for (var i = 0; i < crns.length; i++) {
                         var crnEl = $("#crn-" + crns[i].crnId);
                         crnEl.attr("class", "machine " + crns[i].crnStatus);
-                        var unit = 31;//($('.item').eq(0).width() + 13) / 2;
 
-                        if (crns[i].bay < 0 || crns[i].bay === -2) {
+                        if (crns[i].bay < 0) {
                             crns[i].bay = 1
                         }
-                        // crnEl.animate({left: (crns[i].bay * unit) + 'px'}, 1000);
-                        // crns[i].bay = 15;
-                        var offSet = 1450;
-                        // switch (i) 5
-                        //     case 0:
-                        //     case 1:
-                        //     case 2:
-                        //     case 3:
-                        //         unit = 35;
-                        //         offSet = 500;
-                        //         break;
-                        //     case 5:
-                        //         unit = 124;
-                        //         offSet = 550;
-                        //         break;
-                        //     case 4:
-                        //     case 6:
-                        //         unit = 62;
-                        //         offSet = 550;
-                        //         break;
-                        // }
-                        console.log(offSet)
+
+                        var offSet = 350;
+
                         if(crns[i].bay === 1){
                             crnEl.animate({left: offSet + 'px'}, 1000);
                         } else {
-                            let lf = (offSet - crns[i].bay * 42);
+                            let lf = (offSet + (crns[i].bay - 1 )* 50);
                             crnEl.animate({left: lf + 'px'}, 1000);
                         }
 

--
Gitblit v1.9.1