From f417e368a7a68c693a30b16329fb3533a0c84183 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 30 一月 2024 18:27:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/LedThread.java                  |  362 -----------------------
 src/main/java/com/zy/asrs/utils/RouteUtils.java                  |    7 
 src/main/java/com/zy/asrs/service/BasRgvMapService.java          |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java      |  156 ++++-----
 src/main/webapp/views/console.html                               |    4 
 src/main/webapp/static/js/console.map.js                         |   12 
 src/main/webapp/views/rgv.html                                   |   22 
 src/main/java/com/zy/common/model/LocTypeDto.java                |    2 
 src/main/java/com/zy/core/model/command/LedCommand.java          |   20 +
 src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java            |    2 
 src/main/java/com/zy/common/model/MatDto.java                    |   20 +
 src/main/resources/mapper/BasRgvMapMapper.xml                    |    4 
 src/main/java/com/zy/core/thread/RgvThread.java                  |   90 +++++
 src/main/java/com/zy/core/MainProcess.java                       |   14 
 src/main/java/com/zy/asrs/entity/BasRgvMap.java                  |    8 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java          |   30 +
 src/main/resources/application.yml                               |  110 ++++---
 src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java |    7 
 18 files changed, 347 insertions(+), 524 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasRgvMap.java b/src/main/java/com/zy/asrs/entity/BasRgvMap.java
index 190dec9..300d642 100644
--- a/src/main/java/com/zy/asrs/entity/BasRgvMap.java
+++ b/src/main/java/com/zy/asrs/entity/BasRgvMap.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.SpringUtils;
+import com.zy.asrs.service.BasRgvMapService;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -77,8 +79,10 @@
         this.lockEndRoute = lockEndRoute;
     }
 
-    public Integer getRgvNoOther(){
-        return 3-this.rgvNo;
+    public Integer getRgvNoOther(Integer rgvNo){
+        BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
+        BasRgvMap basRgvMap = basRgvMapService.selectByOtherRgvNo(rgvNo);
+        return basRgvMap.getRgvNo();
     }
 
 
diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
index d96498b..c28c9e3 100644
--- a/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvMapMapper.java
@@ -11,4 +11,6 @@
 public interface BasRgvMapMapper extends BaseMapper<BasRgvMap> {
 
     BasRgvMap selectByRgvNo(@Param("rgvNo") Integer rgvNo);
+
+    BasRgvMap selectByOtherRgvNo(@Param("rgvNo") Integer rgvNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/BasRgvMapService.java b/src/main/java/com/zy/asrs/service/BasRgvMapService.java
index 8a5a21f..8090e3e 100644
--- a/src/main/java/com/zy/asrs/service/BasRgvMapService.java
+++ b/src/main/java/com/zy/asrs/service/BasRgvMapService.java
@@ -7,4 +7,5 @@
 public interface BasRgvMapService extends IService<BasRgvMap> {
 
     BasRgvMap selectByRgvNo(Integer rgvNo);
+    BasRgvMap selectByOtherRgvNo(Integer rgvNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
index 578a2ed..c5d67bb 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvMapServiceImpl.java
@@ -13,4 +13,11 @@
     public BasRgvMap selectByRgvNo(Integer rgvNo) {
         return this.baseMapper.selectByRgvNo(rgvNo);
     }
+
+    @Override
+    public BasRgvMap selectByOtherRgvNo(Integer rgvNo) {
+        return this.baseMapper.selectByOtherRgvNo(rgvNo);
+    }
+
+
 }
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 724a297..ab5a94c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -221,7 +221,7 @@
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                             barcodeThread.setBarcode("");
                             staProtocol.setWorkNo(dto.getWorkNo());
-                            staProtocol.setStaNo(dto.getStaNo().shortValue());
+                            staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             log.error("杈撻�佺嚎涓嬪彂2锛�"+dto.getWorkNo()+","+dto.getStaNo());
@@ -238,10 +238,10 @@
 //                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 //
 //                            if (ledThread != null) {
-//                                String errorMsg = jsonObject.getString("msg");
-//                                if (!Cools.isEmpty(errorMsg)) {
-//                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
-//                                }
+                                String errorMsg = jsonObject.getString("msg");
+                                if (!Cools.isEmpty(errorMsg)) {
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                }
 //                            }
 //                            News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
@@ -392,7 +392,7 @@
                     StaDesc staDesc = staDescService.selectOne(wrapper);
                     if (Cools.isEmpty(staDesc)) {
                         News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-                        staProtocol.setWorkNo(9989);
+                        staProtocol.setWorkNo(wrkNo++);
                         staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -402,7 +402,7 @@
                         // led 寮傚父鏄剧ず
                         if (ledThread != null) {
                             String errorMsg = "姝や负鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱.璇锋斁鍦�"+pickSta.getBackSta().shortValue()+"绔欑偣";
-                            MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errorMsg));
+                            MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
                         }
                         continue;
                     }
@@ -449,7 +449,7 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                    staProtocol.setStaNo((short) 161);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     log.error("杈撻�佺嚎涓嬪彂5锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo());
@@ -505,7 +505,7 @@
                     if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
                             && crnProtocol.statusType == CrnStatusType.WAITING
                             && crnProtocol.forkPosType == CrnForkPosType.HOME) {
-                        News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�");
+                        News.error("鍫嗗灈鏈哄嚭搴撳畬鎴� - 寮�濮嬫墽琛�");
 
                         // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
@@ -521,6 +521,7 @@
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
+                            News.error("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�", wrkMast.getWrkNo());
                             crnThread.setResetFlag(true);
                         } else {
                             News.error(""+mark+" - 1"+" - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
@@ -1400,7 +1401,7 @@
                                 ledCommand.setLocNo(dto.getLocNo());
                                 ledCommand.setStaNo(dto.getStaNo());
                                 commands.add(ledCommand);
-                                MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, commands));
+                                MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(1, commands));
 //                                ledThread.errorReset();
                             }
                         } else {
@@ -1413,12 +1414,12 @@
 //                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
 //                            }
 //
-//                            if (ledThread != null) {
-//                                String errorMsg = jsonObject.getString("msg");
-//                                if (!Cools.isEmpty(errorMsg)) {
-//                                    MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(5, errorMsg));
-//                                }
-//                            }
+                            if (ledThread != null) {
+                                String errorMsg = jsonObject.getString("msg");
+                                if (!Cools.isEmpty(errorMsg)) {
+                                    MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errorMsg));
+                                }
+                            }
 //                            News.error(""+mark+" - 3"+" - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
                     } catch (Exception e) {
@@ -1440,7 +1441,6 @@
      * 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
      */
     public synchronized void ledExecute(Integer mark) {
-
         for (LedSlave led : slaveProperties.getLed()) {
             // 鑾峰彇杈撻�佺嚎plc绾跨▼
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
@@ -1458,11 +1458,7 @@
                 }
                 // 鑾峰彇宸ヤ綔妗f暟鎹�
                 WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
-//                if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
-                if (null == wrkMast) {
-                    continue;
-                }
-                News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�:鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�");
+                if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
                 wrkMasts.add(wrkMast);
                 // 缁勮鍛戒护
                 LedCommand ledCommand = new LedCommand();
@@ -1470,12 +1466,6 @@
                 ledCommand.setIoType(wrkMast.getIoType());
                 // 鍑哄簱妯″紡
                 switch (wrkMast.getIoType()) {
-                    case 1:
-                        ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
-                        break;
-                    case 10:
-                        ledCommand.setTitle("绌烘澘鍏ュ簱");
-                        break;
                     case 101:
                         ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
                         break;
@@ -1493,16 +1483,34 @@
                         ledCommand.setEmptyMk(true);
                         break;
                     default:
-                        News.error(""+mark+" - 1"+" - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+                        News.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
                         break;
                 }
                 ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
-                ledCommand.setLocNo(wrkMast.getLocNo());
                 ledCommand.setStaNo(wrkMast.getStaNo());
-//                ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
-                if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
+                ledCommand.setBarcode(wrkMast.getBarcode());
+                if (wrkMast.getIoType() != 110) {
                     List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
-                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getSpecs())));
+
+                    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) {
+                            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));
+                        }
+                    });
                 }
                 commands.add(ledCommand);
             }
@@ -1513,32 +1521,11 @@
             if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
                 continue;
             }
-//             鍛戒护涓嬪彂 -------------------------------------------------------------------------------
-//            if (!commands.isEmpty()) {
-//                if (led.getId() < 7) {
-//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
-//                        News.error(""+mark+" - 2"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-//                        continue;
-//                    } else {
-//                        ledThread.setLedMk(false);
-//                    }
-//                } else {
-//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
-//                        News.error(""+mark+" - 3"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-//                        continue;
-//                    } else {
-//                        ledThread.setLedMk(false);
-//                    }
-//                }
-//
-//            }
             // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
             if (!commands.isEmpty()) {
-                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
                     News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
                     continue;
-                }else {
-                    ledThread.setLedMk(false);
                 }
             }
 
@@ -1548,7 +1535,6 @@
                     wrkMast.setOveMk("Y");
                     wrkMast.setModiTime(new Date());
                     if (wrkMastMapper.updateById(wrkMast) == 0) {
-                        News.errorNoLog(""+mark+" - 4"+" - 鏇存柊宸ヤ綔妗eけ璐�");
                         throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
                     }
                 }
@@ -1562,17 +1548,13 @@
             }
 
         }
-//        News.infoNoLog(""+mark+" - 0"+" - 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣ㄦ墽琛屽畬鎴�");
     }
 
     /**
      * 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
      */
-    public synchronized void ledReset(Integer mark) {
-
-//        News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛�:鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
+    public synchronized void ledReset() {
         for (LedSlave led : slaveProperties.getLed()) {
-
             // 鑾峰彇杈撻�佺嚎plc绾跨▼
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
             // 鍛戒护闆嗗悎
@@ -1580,27 +1562,25 @@
             for (Integer staNo : led.getStaArr()) {
                 // 鑾峰彇鍙夎溅绔欑偣
                 StaProtocol staProtocol = devpThread.getStation().get(staNo);
-                if (staProtocol == null) {
-                    continue;
-                }
-                if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
+                if (staProtocol == null) { continue; }
+                if (staProtocol.getWorkNo() != 0) {
                     reset = false;
                     break;
                 }
             }
             // 鑾峰彇led绾跨▼
-            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId());
             // led鏄剧ず榛樿鍐呭
-            if (reset && !ledThread.isLedMk()) {
-                ledThread.setLedMk(true);
-                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
-                    News.error(""+mark+" - 1"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-                } else {
-
+            if (reset) {
+                if (ledThread == null) {
+                    continue;
+                }
+                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.infoNoLog(""+mark+" - 0"+" - 鎵ц瀹屾垚锛氬叾浠�  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
     }
 
     /**
@@ -2082,7 +2062,7 @@
                         String data = jsonObject.get("data").toString();
                         News.info((String) jsonObject.get("msg")+","+data);
                     } else {
-                        News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1","", response);
+                        News.warnNoLog("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1","", response);
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -2159,7 +2139,7 @@
             basRgvMapMapper.updateById(basRgvMapCurrent);
 
             //鏇存柊鍙︿竴鍙板皬杞﹀湴鍥�
-            Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther();
+            Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther(basRgvMapCurrent.getRgvNo());
             BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
             List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
             Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�
@@ -2193,10 +2173,11 @@
                 }
 
                 // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
-                if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
-                        && rgvProtocol.getModeType() == RgvModeType.AUTO
-                        && rgvProtocol.getLoaded1()==0  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
-                        && (rgvProtocol.getTaskNo1()==0 || rgvProtocol.getTaskNo1()==9999)
+                if (
+//                        rgvProtocol.getStatusType() == RgvStatusType.IDLE
+                         rgvProtocol.getModeType() == RgvModeType.AUTO
+//                        && rgvProtocol.getLoaded1()==0  //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
+//                        && (rgvProtocol.getTaskNo1()==0 || rgvProtocol.getTaskNo1()==9999)
 
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -2327,6 +2308,7 @@
                 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
                         && rgvProtocol.getModeType() == RgvModeType.AUTO
                         && rgvProtocol.getLoaded1()==0
+                        && rgvProtocol.getTaskNo1() == 0
                 ) {
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
                     if (basRgvMap == null) {
@@ -2535,11 +2517,11 @@
                     if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
                         continue;
                     }
-                    if (rgvProtocol.getRgvNo()==1 && rgvProtocol.getRgvPosI().equals(100)){
-                        continue;
-                    } else if (rgvProtocol.getRgvNo()==2 && rgvProtocol.getRgvPosI().equals(157)  ){
-                        continue;
-                    }
+//                    if (rgvProtocol.getRgvNo()==1 && rgvProtocol.getRgvPosI().equals(100)){
+//                        continue;
+//                    } else if (rgvProtocol.getRgvNo()==2 && rgvProtocol.getRgvPosI().equals(157)  ){
+//                        continue;
+//                    }
                     rgvAvoidanceXY(rgvProtocol.getRgvNo());
                     rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
                 }
@@ -2555,7 +2537,7 @@
      * */
     public synchronized boolean rgvAvoidanceXY(Integer rgvId){
         BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo(rgvId);
-        if (basRgvMap.getStartRoute() == 100){
+        if (basRgvMap.getStartRoute() == 100 || basRgvMap.getStartRoute() == 101){
             try{
 
                 //  鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -2565,7 +2547,7 @@
                 rgvCommand.setTaskNo1((short)32222); // 宸ヤ綅1宸ヤ綔鍙�
                 rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍥炲師鐐�
                 //basRgvMap.getLockStartRoute().shortValue()
-                rgvCommand.setSourceStaNo1( (short)100);
+                rgvCommand.setSourceStaNo1( (short)101);
                 rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
                 if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
                     //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
@@ -2587,7 +2569,7 @@
                 rgvCommand.setTaskNo1((short)32222); // 宸ヤ綅1宸ヤ綔鍙�
                 rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍥炲師鐐�
                 //basRgvMap.getLockStartRoute().shortValue()
-                rgvCommand.setSourceStaNo1( (short)157);
+                rgvCommand.setSourceStaNo1( (short)161);
                 rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
                 if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
                     //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�   step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index ac86170..b7af940 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -247,6 +247,13 @@
         }
     }
 
+    public static  Short SouStaEnd(Integer endSta,Integer souSta){
+       if (souSta == 159) {
+           return (short)161;
+       }
+       return souSta.shortValue();
+    }
+
 
 
     public static void main(String[] arge){
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 454a5f6..38fb7d2 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -34,7 +34,7 @@
 //        if (staProtocol.isHigh() == staProtocol.isLow()) {
 //            throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
 //        }
-        if (staProtocol.getSiteId() == 106){
+        if (staProtocol.getSiteId() == 106 || staProtocol.getSiteId() == 159){
             this.locType1 = 2; // 楂樺簱浣�
         }else {
             this.locType1 = 1; // 浣庡簱浣�
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 14a2afd..99a2f28 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -14,17 +14,33 @@
     // 鐗╂枡鍚嶇О
     private String maknx;
 
-    // 搴撲綅瑙勬牸
+    private String batch;
+
     private String specs;
+
+    // 瀹㈡埛淇℃伅
+    private String manu;
+
+    // 澶囨敞
+    private String memo;
 
     // 鐗╂枡鏁伴噺
     private Double count;
 
-    // 搴撲綅鏁伴噺
     private Double total;
 
     public MatDto() {
     }
+    public MatDto(String matnr, String maknx, String batch, String specs, String manu, String memo, Double count, Double total) {
+        this.matnr = matnr;
+        this.maknx = maknx;
+        this.batch = batch;
+        this.specs = specs;
+        this.manu = manu;
+        this.memo = memo;
+        this.count = count;
+        this.total = total;
+    }
 
     public MatDto(String matNo, String maknx, Double count) {
         this.matnr = matNo;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index f109f36..ac59b57 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -72,14 +72,18 @@
                     // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
                     mainService.ledExecute(9);
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
-                    mainService.ledReset(10);
+                    mainService.ledReset();
 
                     mainService.outOfDevp(11);
 
-                    //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
-//                    mainService.autoEmptyOut();
-//                    //绌烘墭鐩樿嚜鍔ㄥ叆搴�
-//                    mainService.autoEmptyIn();
+                    if (i>10){
+                        //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
+                        mainService.autoEmptyOut();
+                        //绌烘墭鐩樿嚜鍔ㄥ叆搴�
+                        mainService.autoEmptyIn();
+                        i=0;
+                    }
+                    i++;
 
                     // 鍏朵粬  ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
 //                    i++;
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 36685e8..66271c0 100644
--- a/src/main/java/com/zy/core/model/command/LedCommand.java
+++ b/src/main/java/com/zy/core/model/command/LedCommand.java
@@ -1,5 +1,6 @@
 package com.zy.core.model.command;
 
+import com.core.common.Cools;
 import com.zy.common.model.MatDto;
 import lombok.Data;
 
@@ -30,4 +31,23 @@
     private boolean emptyMk = false;
 
     private Integer ioType;
+    private String barcode;
+
+    @Override
+    public String toString() {
+        StringBuffer s = new StringBuffer();
+        s.append("宸ヤ綔鍙穂" + this.workNo + "]\n");
+        s.append("宸ヤ綔绫诲瀷[" + this.title + "]\n");
+        if (!Cools.isEmpty(this.barcode)) {
+            s.append("鎵樼洏鐮乕" + this.barcode + "]\n");
+        }
+        if (!this.emptyMk){
+
+            for (MatDto matDto : matDtos) {
+                s.append("[鍟嗗搧缂栫爜:" + matDto.getMatnr() + ", 鏁伴噺:" + matDto.getCount() + "]\n");
+            }
+        }
+
+        return s.toString();
+    }
 }
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 4d14e25..fb69130 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -36,13 +36,7 @@
 public class LedThread implements Runnable, ThreadHandler {
 
     private Slave slave;
-    private Bx5GScreenClient screen;
-    ProgramBxFile pf;
-    TextCaptionBxArea area;
-    DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
     private Set<Integer> workNos = new HashSet<>();
-    private boolean ledMk = false;
-    private boolean resetStatus = false;    // 澶嶄綅鐘舵��
 
     // 鏄剧ず鍣�
     private StringBuffer stringBuffer = new StringBuffer();
@@ -52,20 +46,12 @@
 
     public LedThread(Slave slave) {
         this.slave = slave;
-        try {
-//            Bx5GEnv.initial(3000);
-//            screen = new Bx5GScreenClient("my");
-        } catch (Exception e) {
-            e.printStackTrace();
-            News.info("Led"+" - 1"+" - led杩炴帴鏋勯�犲櫒閿欒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-        }
     }
 
     @Override
     @SuppressWarnings({"InfiniteLoopStatement", "unchecked"})
     public void run() {
 //        connect();
-        close();
         while (true) {
             try {
                 Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
@@ -79,131 +65,24 @@
                         case 2:
                             reset();
                             break;
-                        // 鍐欐暟鎹� 娑叉櫠
                         case 3:
-                            write7((List<LedCommand>)task.getData());
-                            break;
-                        // 澶嶄綅 娑叉櫠
-                        case 4:
-                            reset7();
-                            break;
-                        case 5:
                             error((String) task.getData());
                             break;
-                        case 6:
+                        case 4:
                             errorReset();
                             break;
                         default:
                             break;
                     }
                 }
-
-                Thread.sleep(400);
+                Thread.sleep(1000);
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
     }
 
-    private void write(List<LedCommand> list) throws Bx5GException {
-        if (!connect()) {
-            return;
-        }
-        pf = new ProgramBxFile( 0, screen.getProfile());
-        pf.setFrameShow(false);
-        // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
-        area = new TextCaptionBxArea( 0,0,96,48, screen.getProfile());
-        // 鍒涘缓涓�涓暟鎹〉
-        TextBxPage page = new TextBxPage();
-        for (LedCommand command : list) {
-            page.newLine(command.getTitle() +"锛�"+command.getWorkNo()+")");
-            page.newLine("搴撲綅锛�"+ (command.getIoType() < 100 ? command.getLocNo() : command.getSourceLocNo()));
-            page.newLine("鐩爣绔欙細"+command.getStaNo());
-            if (!command.isEmptyMk()) {
-                for (MatDto matDto : command.getMatDtos()) {
-                    //鍘绘帀灏忔暟鐐�
-                    String strQty = matDto.getCount().toString();
-                    int idx = strQty.lastIndexOf(".");
-                    if(idx >= 0){
-                        strQty.substring(0,idx);
-                    }
-                    page.newLine(matDto.getMaknx() + "[鏁伴噺" + strQty +"]");
-//                    page.newLine(matDto.getMaknx() + "銆愭暟閲�" + matDto.getCount() +"銆�");
-                }
-            }
-            page.newLine("\n");
-        }
-
-        // 璁剧疆瀛椾綋
-        page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
-        // 璁剧疆鏂囨湰棰滆壊
-        page.setForeground(Color.red);
-        // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
-        page.setDisplayStyle(styles[6]);
-        area.clearPages();
-        area.addPage(page);
-        pf.addArea(area);
-        if (pf.validate() != null) {
-            News.info("Led"+" - 2"+" - pf out of range");
-        } else {
-            // 鏇存柊鑺傜洰
-            screen.writeProgram(pf);
-//            resetStatus = false;
-        }
-        close();
-    }
-
-    private void reset() throws Bx5GException {
-        if (!connect()) {
-            return;
-        }
-//        if (resetStatus) {
-//            return;
-//        }
-        pf = new ProgramBxFile( 0, screen.getProfile());
-        pf.setFrameShow(false);
-        // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
-        area = new TextCaptionBxArea( 0,0,96,48, screen.getProfile());
-        // 鍒涘缓涓�涓暟鎹〉
-        TextBxPage page = new TextBxPage();
-
-//        List<String> list = null;
-//        try {
-//            String ledDefaultMsg = Parameter.get().getLedDefaultMsg();
-//            list = JSON.parseArray(ledDefaultMsg, String.class);
-//        } catch (Exception ignore) {
-//        }
-//        if (!Cools.isEmpty(list)) {
-//            for (String str : list) {
-//                page.newLine(str);
-//            }
-//        } else {
-//            page.newLine("鑷姩鍖栫珛浣撲粨搴�");
-//            page.newLine("瑗挎牸杩堣偂浠芥湁闄愬叕鍙�");
-//        }
-        page.newLine("鍔涙簮鏅鸿兘浠撳偍");
-
-        // 璁剧疆瀛椾綋
-        page.setFont(new Font("瀹嬩綋",Font.PLAIN,13));
-        // 璁剧疆鏂囨湰棰滆壊
-        page.setForeground(Color.red);
-        // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
-        page.setDisplayStyle(styles[6]);
-        area.clearPages();
-        area.addPage(page);
-        pf.addArea(area);
-        // 鏇存柊鑺傜洰
-        if (pf.validate() != null) {
-            News.info("Led"+" - 3"+" - pf out of range");
-        } else {
-            // 鏇存柊鑺傜洰
-            screen.writeProgram(pf);
-//            resetStatus = true;
-        }
-        close();
-    }
-
-    private void write7(List<LedCommand> list) {
+    private void write(List<LedCommand> list) {
         commandList = list;
 
         StringBuilder sb = new StringBuilder();
@@ -213,9 +92,7 @@
             sb.append("鐩爣绔欙細").append(command.getStaNo()).append("\n");
             if (!command.isEmptyMk()) {
                 for (MatDto matDto : command.getMatDtos()) {
-                    sb.append("鐗╂枡缂栫爜锛�").append(matDto.getMatnr()).append("\n");
-                    sb.append("鏁伴噺锛�").append(matDto.getCount()).append("\n");
-                    sb.append("瑙勬牸锛�").append(matDto.getSpecs()).append("\n");
+                    sb.append(matDto.getSpecs()).append("-").append(matDto.getBatch()).append("\n");
                 }
             }
             sb.append("\n");
@@ -227,7 +104,7 @@
     }
 
 
-    private void reset7() {
+    private void reset() {
         commandList = null;
 
         stringBuffer.delete(0, stringBuffer.length());
@@ -245,238 +122,11 @@
 
     @Override
     public boolean connect() {
-        boolean connRes = false;
-        try {
-            connRes = screen.connect(slave.getIp(),slave.getPort());
-            screen.turnOn();
-        } catch (Exception ignore) {
-        }
-        if (connRes) {
-            News.info("Led"+" - 4"+" - led杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-        } else {
-            News.error("Led"+" - 5"+" - led杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-        }
-        return connRes;
+        return true;
     }
 
     @Override
     public void close() {
-
-    }
-
-
-
-    public static void main(String[] args) throws Exception {
-        String strQty = "1234";
-        int index = strQty.lastIndexOf(".");
-        if(index>=0) {
-            strQty=strQty.substring(0, index);
-        }
-        System.out.println("2==>>"+strQty);
-
-        Bx5GEnv.initial(3000);
-        Bx5GScreenClient screen = new Bx5GScreenClient("my");
-        DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
-        if (!screen.connect("192.168.10.101",5005)) {
-            System.err.println("杩炴帴澶辫触锛侊紒锛侊紒");
-            return;
-        }
-        screen.turnOn();
-
-
-        while (true) {
-            Thread.sleep(5000L);
-
-            ProgramBxFile pf = new ProgramBxFile( 0, screen.getProfile());
-            pf.setFrameShow(false);
-            // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eigth
-            TextCaptionBxArea area = new TextCaptionBxArea(  0,0,192,96,screen.getProfile());
-
-            // 鍒涘缓涓�涓暟鎹〉
-            // 绗竴琛屾暟鎹�
-            TextBxPage page = new TextBxPage("鍑哄簱浠诲姟锛�303锛�");
-            page.newLine("婧愬簱浣嶏細0100204");
-            page.newLine("鐩爣绔欙細1000");
-            // 璁剧疆瀛椾綋
-            page.setFont( new Font("瀹嬩綋",Font.PLAIN,15));
-            // 璁剧疆鏂囨湰棰滆壊
-            page.setForeground(Color.red);
-            // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
-            page.setDisplayStyle(styles[6]);
-            area.clearPages();
-            area.addPage(page);
-            pf.addArea( area );
-
-            // 鏇存柊鑺傜洰
-            // 鏇存柊鑺傜洰
-            if (pf.validate() != null) {
-                System.out.println("pf out of range");
-                News.info("Led"+" - 6"+" - pf out of range");
-            } else {
-                // 鏇存柊鑺傜洰
-                screen.writeProgram(pf);
-            }
-        }
-
-        // 缁у紑涓庢帶鍒跺櫒涔嬮棿鐨勯摼鎺�
-//        screen.disconnect();
-    }
-
-
-    public static void main1(String[] args) throws Exception {
-        Bx5GEnv.initial(3000);
-        // 鍒涘缓screen瀵硅薄锛岀敤浜庡鎺у埗鍣ㄨ繘琛岃闂紝瀹㈡埛绔ā寮�
-        Bx5GScreenClient screen = new Bx5GScreenClient("my");
-        // 鍒涘缓screen瀵硅薄锛岀敤浜庡鎺у埗鍣ㄨ繘琛岃闂紝涓插彛妯″紡
-        //        Bx5GScreenRS screen = new Bx5GScreenRS("MyScreen");
-
-        // 鍦ㄥ鎺у埗鍣ㄤ氦浜掍箣鍓嶏紝闇�瑕佸厛涓庢帶鍒跺櫒寤虹珛杩炴帴
-        boolean conn = screen.connect("192.168.10.61",5005);
-        System.out.println(conn);
-        // 涓庢帶鍒跺櫒浜や簰瀹屾垚鍚庯紝闇�鏂紑涓庢帶鍒跺櫒涔嬮棿鐨勮繛鎺�
-//        screen.disconnect();
-
-        // 浠ヤ笅涓轰竴浜涚畝鍗曟帶鍒跺懡浠ょ殑浣跨敤鏂规硶
-        // 寮�鍏虫満鍛戒护
-//        screen.turnOff();// 鍏虫満
-        screen.turnOn();// 寮�鏈�
-//        screen.syncTime();// 鏍℃椂
-//        screen.ping();// ping鍛戒护
-//        // 鏌ヨ鎺у埗鍣ㄧ姸鎬�
-//        screen.checkControllerStatus();
-//        // 鏌ヨ鎺у埗鍣ㄥ綋鍓嶅浐浠剁増鏈�
-//        screen.checkFirmware();
-//        // 鏌ヨ鎺у埗鍣ㄥ唴瀛�
-//        screen.checkMemVolumes();
-//        // 閿佸畾灞忓箷褰撳墠鐢婚潰
-//        screen.lock();
-//        // 瑙i櫎閿佸畾灞忓箷褰撳墠鐢婚潰
-//        screen.unlock();
-
-        Bx5GScreen.Result <ReturnControllerStatus> result1 =
-                screen.checkControllerStatus();
-        if (result1.isOK())
-        {
-            ReturnControllerStatus status = result1.reply;
-            System.out.println(status.getBrightness());
-            System.out.println(status.getRtcDay());
-            System.out.println(status.getScreenOnOff());
-            //
-            // status 杩樻湁寰堝鍏朵粬鎺ュ彛锛屽彲浠ユ牴鎹疄闄呴渶姹傚啀娆¤皟鐢ㄤ互鑾峰彇鐩稿簲鐘舵��
-        }
-
-//
-        // 浠ヤ笅鏄潤鎬佸尯閮ㄥ垎 Demo
-
-        // 鍒涘缓鑺傜洰鏂囦欢
-        ProgramBxFile pf = new ProgramBxFile( 0,screen.getProfile() );
-// 鏄惁鏄剧ず鑺傜洰杈规
-        pf.setFrameShow(true);
-// 鑺傜洰杈规鐨勭Щ鍔ㄩ�熷害
-        pf.setFrameSpeed(20);
-// 浣跨敤绗嚑涓唴缃竟妗�
-        pf.loadFrameImage(13);
-
-        DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
-// 鍒涘缓涓�涓枃鏈尯
-        // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eigth
-        // 娉ㄦ剰鍖哄煙鍧愭爣鍜屽搴﹂珮搴︼紝涓嶈瓒婄晫
-        TextCaptionBxArea area = new TextCaptionBxArea( 0,0,160,64,screen.getProfile() );
-
-        // 鍒涘缓涓�涓暟鎹〉
-        // 绗竴琛屾暟鎹�
-        TextBxPage page = new TextBxPage("鍏ュ簱");
-        // 绗簩琛屾暟鎹�
-        page.newLine( "鐗╂枡锛�" );
-        page.newLine("鎺ユ敹鍣� RX18 XH 6V 锛堟暟閲忥細2锛�");
-        page.newLine("涓帶 BM钃濈墮 鑻辨枃 6V 锛堟暟閲忥細1锛�");
-        page.newLine("绾挎潫 S2588-1-XX 鏃犲疄鐗╋紙鏁伴噺锛�5锛�");
-        page.newLine("鐩爣搴撲綅锛�0100204");
-        // 璁剧疆瀛椾綋
-        page.setFont( new Font("瀹嬩綋",Font.PLAIN,12) );
-        // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
-        page.setDisplayStyle( styles[2] );
-
-        // 鏁版嵁椤靛彲浠ユ槸鍥剧墖
-//        ImageFileBxPage iPage = new ImageFileBxPage( "E;a/001.bmp" );
-//
-//        // 鏁版嵁椤靛彲浠ユ槸txt鏂囦欢
-//        TextFileBxPage tPage  = new TextFileBxPage("E:a/001.txt");
-
-        // 灏嗗墠闈㈢殑page娣诲姞鍒癮rea涓� area涓彲浠ユ坊鍔犲涓猵age 鍏朵腑page鍙互鏄瓧绗︿覆锛屽彲浠ユ槸txt鏂囦欢锛屽彲浠ユ槸鍥剧墖锛屼笉鍙互鏄〃鏍硷紝濡傛灉闇�瑕丩ed灞忎笂鏄剧ず琛ㄦ牸锛岃鍏堝皢琛ㄦ牸缁樺埗鎴愬浘鐗�
-        area.addPage( page );
-//        area.addPage( iPage );
-//        area.addPage( tPage );
-        // 灏哸rea娣诲姞鍒拌妭鐩腑  鑺傜洰涓彲浠ユ坊鍔犲涓猘rea
-        pf.addArea( area );
-
-        // 鏇存柊鑺傜洰
-        screen.writeProgram( pf );
-
-
-
-
-
-
-
-
-
-
-        //
-        // 浠ヤ笅鏄姩鎬佸尯閮ㄥ垎 Demo
-        // 鍔ㄦ�佸尯鐨勭壒鐐�
-
-        // DynamicBxAreaRule(id, runMode, immediatePlay, timeout)
-        // runMode 杩愯妯″紡锛�
-        //   0锛氬惊鐜樉绀恒��
-        //   1锛氭樉绀哄畬鎴愬悗闈欐鏄剧ず鏈�鍚庝竴椤垫暟鎹��
-        //   2锛氬惊鐜樉绀猴紝瓒呰繃璁惧畾鏃堕棿鍚庢暟鎹粛鏈洿鏂版椂涓嶅啀鏄剧ず銆�
-        //   3锛氬惊鐜樉绀猴紝瓒呰繃璁惧畾鏃堕棿鍚庢暟鎹粛鏈洿鏂版椂鏄剧ず Logo 淇℃伅銆�
-        //   4锛氬惊鐜樉绀猴紝鏄剧ず瀹屾渶鍚庝竴椤靛悗灏变笉鍐嶆樉绀恒��
-        // immediatePlay 鏄惁绔嬪嵆鎾斁锛�
-        //   0锛氫笌寮傛鑺傜洰涓�璧锋挱鏀俱��
-        //   1锛氬紓姝ヨ妭鐩仠姝㈡挱鏀撅紝浠呮挱鏀惧姩鎬佸尯鍩熴��
-        //   2锛氬綋鎾斁瀹岃妭鐩紪鍙锋渶楂樼殑寮傛鑺傜洰鍚庢挱鏀捐鍔ㄦ�佸尯鍩熴��
-
-        //
-        // 瀹氫箟涓�涓姩鎬佸尯
-        // 鍙互閫氳繃ID鏉ユ洿鏂颁笉鍚岀殑鍔ㄦ�佸尯鍐呭, 姝ゅ ID 涓� 0
-//        DynamicBxAreaRule dynRule = new DynamicBxAreaRule(0, (byte) 0, (byte) 1, 0);
-        //dArea.addProgram("P000");
-        //dArea.addProgram("P001");
-
-//        int posX = 440;
-//        int posY = 4;
-//        TextCaptionBxArea dAreaContent = new TextCaptionBxArea(posX, posY, 64, 16, screen.getProfile());
-//        TextBxPage page = new TextBxPage("鍔ㄦ�佺涓�娆″皾璇�");
-//        page.setDisplayStyle(DisplayStyleFactory.getStyle(4));
-//        dAreaContent.addPage(page);
-//
-//        // 鍙戦�佸姩鎬佸尯涔嬪墠锛屽鏋滈渶瑕佸垹闄や箣鍓嶇殑鍔ㄦ�佸尯锛屽彲浠ヨ皟鐢ㄤ互涓嬫帴鍙�
-//        // 閫氬父濡傛灉鍔ㄦ�佸尯鐨勪綅缃垨澶у皬娌℃湁鍙戠敓鏀瑰彉锛屼笉鐢ㄥ垹闄�
-//        screen.deleteAllDynamic();
-//
-//        // 鏇存柊鍔ㄦ�佸尯
-//        screen.writeDynamic(dynRule, dAreaContent);
-//        Thread.sleep(15000);
-//
-//        //
-//        // 涓嬮潰妯℃嫙鍐嶆鏇存柊鍔ㄦ�佸尯
-//        page = new TextBxPage("鍐嶆灏濊瘯");
-//        TextBxPage page2 = new TextBxPage("鎴愬姛");
-//
-//        dAreaContent.clearPages();
-//        dAreaContent.addPage(page);
-//        dAreaContent.addPage(page2);
-//
-//        // 鏇存柊鍔ㄦ�佸尯
-//        screen.writeDynamic(dynRule, dAreaContent);
-
-        //
-        // 缁у紑涓庢帶鍒跺櫒涔嬮棿鐨勯摼鎺�
-        screen.disconnect();
-
-
     }
 
 }
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index e16e7e5..a91201c 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.entity.BasRgvOpt;
 import com.zy.asrs.service.BasRgvOptService;
 import com.zy.asrs.service.BasRgvService;
+import com.zy.common.utils.News;
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -19,6 +20,7 @@
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
 import com.zy.core.model.Task;
+import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.command.RgvCommand;
 import com.zy.core.model.protocol.RgvProtocol;
 import lombok.Data;
@@ -342,12 +344,92 @@
 
         OperateResult result = siemensNet.Write("DB100.0", array);
 
-        if (command.getAckFinish1() == 0) {
-            short commandFinish = 1;  //宸ヤ綅1浠诲姟鍐欏叆
-            Thread.sleep(200);
-            result = siemensNet.Write("DB100.10", commandFinish);
+        if (!result.IsSuccess){
+            News.error("鍐欏叆RGVplc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===> [id:{}],{}",slave.getId(),JSON.toJSON(command));
+            MessageQueue.offer(SlaveType.Rgv,slave.getId(),new Task(4,command));
+            Thread.sleep(100);
+            readStatus();
+            return false;
         }
 
+        //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔�
+        Thread.sleep(400);
+        try {
+            OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 12);
+            if (resultRead.IsSuccess){
+                RgvCommand one = new RgvCommand();
+//                one.setAckFinish1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0));
+                one.setTaskNo1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+                one.setTaskMode1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+                one.setSourceStaNo1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+                one.setDestinationStaNo1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+                if (
+                    !command.getTaskNo1().equals(one.getTaskNo1()) ||
+                        !command.getTaskMode1().equals(one.getTaskMode1()) ||
+                        !command.getSourceStaNo1().equals(one.getSourceStaNo1()) ||
+                        !command.getDestinationStaNo1().equals(one.getDestinationStaNo1())
+                ){
+                    try{
+                        News.error("RGV鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲け璐id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+                    }catch (Exception e){
+                        try{
+                            News.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead));
+                        }catch (Exception e1){
+                            News.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+                        }
+                    }
+                    News.error("Rgv鍛戒护鍥炶澶辫触鍚庯紝閲嶆柊娣诲姞浠诲姟鍒伴槦鍒� ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+                    MessageQueue.offer(SlaveType.Rgv, slave.getId(), new Task(4, command));
+                    Thread.sleep(100);
+                    readStatus();
+                    return false;
+                }else {
+                    News.info("RGV鍛戒护鍦板潃鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+                }
+            }
+        }catch (Exception e){
+            News.error("RGV鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�");
+        }
+
+        if (command.getAckFinish1() == 0) {
+            if (result.IsSuccess) {
+                Thread.sleep(300);
+                //浠诲姟涓嬪彂娆℃暟
+                int writeCount2 = 0;
+
+                do {
+                    writeCount2++;
+                    short commandFinish = (short) 1;
+                    result = siemensNet.Write("DB100.10", commandFinish);
+                    if(result.IsSuccess){
+                        //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔�
+                        Thread.sleep(200);
+                        OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.10", (short) 2);
+                        if (resultRead.IsSuccess) {
+                            commandFinish=siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
+                            if (commandFinish != 1){
+                                News.error("RGV浠诲姟纭浣�"+commandFinish+"鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                            }else{
+                                //浠诲姟鍛戒护鍐欏叆鎴愬姛
+                                News.info("RGV浠诲姟纭浣�"+commandFinish+"鍥炶鎴愬姛锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                                break;
+                            }
+                        }else {
+                            News.error("RGV浠诲姟纭浣�"+commandFinish+"鍥炶澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                        }
+                    } else {
+                        News.error("RGV浠诲姟纭浣�"+commandFinish+"鍐欏叆澶辫触锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
+                    }
+                }while (writeCount2<5);
+            }
+        }
+
+//        if (command.getAckFinish1() == 0) {
+//            short commandFinish = 1;  //宸ヤ綅1浠诲姟鍐欏叆
+//            Thread.sleep(200);
+//            result = siemensNet.Write("DB100.10", commandFinish);
+//        }
+
         try {
             // 鏃ュ織璁板綍
             BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 1865943..fd32e52 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -231,12 +231,12 @@
             }
         }
         BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
-        //RGV灏忚溅
-        Thread.sleep(200);
+        //RGV灏忚溅1
+        Thread.sleep(100);
         OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10);
         if (result3.IsSuccess) {
             BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));
-            if (!Cools.isEmpty(basRgvMap) && basRgvMap.getStartRoute() == 100){
+            if (!Cools.isEmpty(basRgvMap)){
                 Integer siteId = 1;
                 StaProtocol staProtocol = station.get(siteId);
                 if (null == staProtocol) {
@@ -248,12 +248,12 @@
                 staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8)));
             }
         }
-        //RGV灏忚溅
-        Thread.sleep(200);
+        //RGV灏忚溅2
+        Thread.sleep(100);
         OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10);
         if (result4.IsSuccess) {
             BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0));
-            if (!Cools.isEmpty(basRgvMap) && (basRgvMap.getStartRoute() == 161 || basRgvMap.getStartRoute() == 157)){
+            if (!Cools.isEmpty(basRgvMap)){
                 Integer siteId = 2;
                 StaProtocol staProtocol = station.get(siteId);
                 if (null == staProtocol) {
@@ -266,6 +266,24 @@
             }
         }
 
+        //RGV灏忚溅3
+        Thread.sleep(100);
+        OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB50.224",(short)10);
+        if (result5.IsSuccess) {
+            BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result5.Content, 0));
+            if (!Cools.isEmpty(basRgvMap)){
+                Integer siteId = 3;
+                StaProtocol staProtocol = station.get(siteId);
+                if (null == staProtocol) {
+                    staProtocol = new StaProtocol();
+                    staProtocol.setSiteId(siteId);
+                    station.put(siteId, staProtocol);
+                }
+                staProtocol.setAutoing(true);
+                staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result5.Content, 8)));
+            }
+        }
+
         //鏉$爜鎵弿鍣�
         ArrayList<Integer> barcodeList = BarcodeList;
         OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840", (short) (barcodeList.size() * 8));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 874489d..0cdf7d1 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -198,33 +198,33 @@
       devpPlcId: ${wcs-slave.devp[0].id}
       staNo: 103
   # RGV绌挎杞�2
-#  rgv[2]:
-#    id: 3
-#    ip: 10.10.10.66
-#    port: 502
-#    rack: 0
-#    slot: 0
-#    #RGV鍏ュ簱婧愮珯鐐�
-#    rgvInSStn[0]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 100
-#    rgvInSStn[1]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 101
-#    #RGV鍑哄簱婧愮珯鐐�
-#    rgvOutSStn[0]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 110
-#    rgvOutSStn[1]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 112
-#    #RGV鐩爣绔欑偣
-#    rgvDestStn[0]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 102
-#    rgvDestStn[1]:
-#      devpPlcId: ${wcs-slave.devp[0].id}
-#      staNo: 103
+  rgv[2]:
+    id: 3
+    ip: 10.10.10.66
+    port: 502
+    rack: 0
+    slot: 0
+    #RGV鍏ュ簱婧愮珯鐐�
+    rgvInSStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 100
+    rgvInSStn[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 101
+    #RGV鍑哄簱婧愮珯鐐�
+    rgvOutSStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 110
+    rgvOutSStn[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 112
+    #RGV鐩爣绔欑偣
+    rgvDestStn[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 102
+    rgvDestStn[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 103
   # 杈撻�佺嚎1
   devp[0]:
     id: 1
@@ -246,32 +246,43 @@
       led: ${wcs-slave.led[1].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
-      staNo: 106
-      barcode: ${wcs-slave.barcode[0].id}
-      led: ${wcs-slave.led[1].id}
-      backSta: 105
+      staNo: 159
+      barcode: ${wcs-slave.barcode[2].id}
+      led: ${wcs-slave.led[5].id}
+      backSta: 160
     # 鍏ュ簱鍙�1
     inSta[1]:
       staNo: 107
       barcode: ${wcs-slave.barcode[1].id}
       backSta: 108
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[2].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[1]:
       staNo: 107
       barcode: ${wcs-slave.barcode[1].id}
       backSta: 108
-      led: ${wcs-slave.led[1].id}
-    # 鎷f枡鍏ュ簱鍙�1
-    pickSta[1]:
-      staNo: 107
-      barcode: ${wcs-slave.barcode[1].id}
-      led: ${wcs-slave.led[1].id}
-      backSta: 108
+      led: ${wcs-slave.led[2].id}
+    inSta[2]:
+      staNo: 159
+      barcode: ${wcs-slave.barcode[2].id}
+      backSta: 160
+      led: ${wcs-slave.led[5].id}
+#    # 鎷f枡鍏ュ簱鍙�1
+#    pickSta[1]:
+#      staNo: 107
+#      barcode: ${wcs-slave.barcode[1].id}
+#      led: ${wcs-slave.led[1].id}
+#      backSta: 108
     # 鍑哄簱鍙�1
     outSta[0]:
       staNo: 100
       led: ${wcs-slave.led[0].id}
+    outSta[1]:
+      staNo: 152
+      led: ${wcs-slave.led[3].id}
+    outSta[2]:
+      staNo: 156
+      led: ${wcs-slave.led[4].id}
 
   # 鏉$爜鎵弿浠�1
   barcode[0]:
@@ -291,35 +302,42 @@
    # LED1
   led[0]:
     id: 1
-    ip: 10.10.10.249
+    ip: 10.10.10.101
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 100
   # LED2
   led[1]:
     id: 2
-    ip: 10.10.10.248
+    ip: 10.10.10.102
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 106
   # LED3
   led[2]:
     id: 3
-    ip: 10.10.10.247
+    ip: 10.10.10.103
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 107
   # LED4
   led[3]:
     id: 4
-    ip: 10.10.10.246
+    ip: 10.10.10.104
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 126
+    staArr: 152
   # LED5
   led[4]:
     id: 5
-    ip: 10.10.10.245
+    ip: 10.10.10.105
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 134
\ No newline at end of file
+    staArr: 156
+  # LED6
+  led[5]:
+    id: 6
+    ip: 10.10.10.106
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 160
\ No newline at end of file
diff --git a/src/main/resources/mapper/BasRgvMapMapper.xml b/src/main/resources/mapper/BasRgvMapMapper.xml
index c7374a1..bee3fae 100644
--- a/src/main/resources/mapper/BasRgvMapMapper.xml
+++ b/src/main/resources/mapper/BasRgvMapMapper.xml
@@ -17,5 +17,9 @@
         select * from asr_bas_rgv_map
         where rgv_no = #{rgvNo}
     </select>
+    <select id="selectByOtherRgvNo" resultMap="BaseResultMap">
+        select * from asr_bas_rgv_map
+        where rgv_no != #{rgvNo}
+    </select>
 
 </mapper>
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index ef61ea5..0277f5f 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -625,11 +625,19 @@
                 "left": 270,
                 "width": 6,
                 "height": 742
+            },{
+                "type": "stn",
+                "id": "site-3",
+                "text": "3",
+                "top": -20,
+                "left": 220,
+                "width": 60,
+                "height": 19
             }, {
                 "type": "stn",
                 "id": "site-2",
                 "text": "2",
-                "top": 398,
+                "top": -20,
                 "left": 220,
                 "width": 60,
                 "height": 19
@@ -637,7 +645,7 @@
                 "type": "stn",
                 "id": "site-1",
                 "text": "1",
-                "top": 698,
+                "top": -20,
                 "left": 220,
                 "width": 60,
                 "height": 19
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 4678401..91ea99a 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -568,7 +568,7 @@
                             siteEl.html(sites[i].siteId);
                         }
 
-                        if (sites[i].siteId === '1' || sites[i].siteId === '2') {
+                        if (sites[i].siteId === '1' || sites[i].siteId === '2' || sites[i].siteId === '3') {
 
                             carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta));
                         }
@@ -715,7 +715,7 @@
     function carAnimate(id, target) {
         // debugger
         var targetTop = 0;
-        if (id === 1 || id === '1' || id === '2' || id === 2) {
+        if (id === 1 || id === '1' || id === '2' || id === 2 || id === '3' || id === 3) {
             switch (target) {
                 case 1:
                     targetTop += 792;
diff --git a/src/main/webapp/views/rgv.html b/src/main/webapp/views/rgv.html
index b679a84..902a27e 100644
--- a/src/main/webapp/views/rgv.html
+++ b/src/main/webapp/views/rgv.html
@@ -166,10 +166,10 @@
 <!--                            <span>鎺�</span>-->
 <!--                            <label><input id="sourceRow" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label>-->
 <!--                        </div>-->
-                        <div class="select-container-item">
-                            <span>宸ヤ綅2婧愮珯</span>
-                            <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label>
-                        </div>
+<!--                        <div class="select-container-item">-->
+<!--                            <span>宸ヤ綅2婧愮珯</span>-->
+<!--                            <label><input id="sourceBay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label>-->
+<!--                        </div>-->
 <!--                        <div class="select-container-item">-->
 <!--                            <span>灞�</span>-->
 <!--                            <label><input id="sourceLev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label>-->
@@ -188,10 +188,10 @@
 <!--                            <span>鎺�</span>-->
 <!--                            <label><input id="row" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label>-->
 <!--                        </div>-->
-                        <div class="select-container-item">
-                            <span>宸ヤ綅2鐩爣绔�</span>
-                            <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label>
-                        </div>
+<!--                        <div class="select-container-item">-->
+<!--                            <span>宸ヤ綅2鐩爣绔�</span>-->
+<!--                            <label><input id="bay" type="number" name="points" min="0" style="background-color: #a9eeff" value="0" /></label>-->
+<!--                        </div>-->
 <!--                        <div class="select-container-item">-->
 <!--                            <span>灞�</span>-->
 <!--                            <label><input id="lev" type="number" name="points" min="1" style="background-color: #a9eeff" value="1" /></label>-->
@@ -206,8 +206,8 @@
                     <legend>鎵嬪姩鎿嶄綔</legend>
                     <div class="button-group">
                         <button class="item" onclick="put()">鍙栨斁璐�</button>
-                        <button class="item" onclick="take()">鍙栬揣</button>
-                        <button class="item" onclick="stockMove()">鏀捐揣</button>
+<!--                        <button class="item" onclick="take()">鍙栬揣</button>-->
+<!--                        <button class="item" onclick="stockMove()">鏀捐揣</button>-->
 <!--                        <button class="item" onclick="siteMove()">绔欏埌绔�</button>-->
                         <!--                <button class="item" onclick="bacOrigin()">鍥炲師鐐�</button>-->
                         <!--                <button class="item" onclick="reverseOrigin()">鍙嶅師鐐�</button>-->
@@ -215,7 +215,7 @@
                         <button class="item" onclick="taskComplete()">浠诲姟瀹屾垚</button>
                         <!--                <button class="item" onclick="pause()">鏆傚仠</button>-->
                         <!--                <button class="item" onclick="boot()">鍚姩</button>-->
-                        <button class="item" onclick="clearCommand()">娓呴櫎鍛戒护</button>
+<!--                        <button class="item" onclick="clearCommand()">娓呴櫎鍛戒护</button>-->
                         <button class="item" onclick="handleReset()">澶嶄綅</button>
                     </div>
                 </fieldset>

--
Gitblit v1.9.1