From a84e04a54fa499bcff8c9806df5c15e09ce3c504 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 31 十月 2025 11:34:22 +0800
Subject: [PATCH] #小车地图bug修复,小车动画

---
 src/main/java/com/zy/asrs/controller/SiteController.java      |    3 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java   |   89 ++++---
 src/main/webapp/views/console.html                            |  144 +++++++++---
 src/main/java/com/zy/asrs/mapper/BasRgvMapper.java            |    3 
 src/main/java/com/zy/asrs/service/BasRgvService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java |    6 
 src/main/java/com/zy/common/model/MatDto.java                 |   20 +
 src/main/java/com/zy/core/thread/RgvThread.java               |    1 
 src/main/resources/mapper/WrkDetlMapper.xml                   |    2 
 src/main/java/com/zy/asrs/controller/ConsoleController.java   |   35 ++
 src/main/resources/mapper/BasRgvMapper.xml                    |    5 
 src/main/java/com/zy/core/MainProcess.java                    |   31 --
 src/main/java/com/zy/core/model/protocol/RgvProtocol.java     |   23 +
 src/main/java/com/zy/core/thread/SiemensDevpThread.java       |  294 +++++++++++++-----------
 src/main/resources/application.yml                            |   27 -
 15 files changed, 413 insertions(+), 272 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index b6d8c12..f2d16d8 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -12,13 +12,11 @@
 import com.zy.asrs.domain.enums.SiteStatusType;
 import com.zy.asrs.domain.param.SystemSwitchParam;
 import com.zy.asrs.domain.vo.*;
-import com.zy.asrs.entity.BasCrnError;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.BasRgv;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.BasCrnErrorMapper;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasRgvMapService;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.CodeRes;
@@ -66,6 +64,8 @@
     private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private BasRgvService basRgvService;
+    @Autowired
+    private BasRgvMapService basRgvMapService;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -113,8 +113,31 @@
             StaProtocol staProtocol = entry.getValue();
             vo.setSiteId(String.valueOf(entry.getKey())); // 绔欑偣缂栧彿
             for (BasRgv basRgv: basRgvs){
-                if (basRgv.getRgvNo().equals(entry.getKey()) ){
-                    staProtocol.setWorkNo(basRgv.getWrkNo1());
+                BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo(basRgv.getRgvNo());
+                if(basRgv.getRgvNo() == 1 ){
+                    if(entry.getKey() == 1){
+                        staProtocol.setWorkNo(basRgv.getWrkNo1());
+                        staProtocol.setNearbySta(String.valueOf(basRgvMap.getNowRoute()));
+                        staProtocol.setAutoing(basRgv.getStatus() == 1);
+                        staProtocol.setLoading(staProtocol.getWorkNo()>0);
+                    }else if(entry.getKey() == 2){
+                        staProtocol.setWorkNo(basRgv.getWrkNo2());
+                        staProtocol.setNearbySta(String.valueOf(basRgvMap.getNowRoute()));
+                        staProtocol.setAutoing(basRgv.getStatus() == 1);
+                        staProtocol.setLoading(staProtocol.getWorkNo()>0);
+                    }
+                }else if(basRgv.getRgvNo() == 2){
+                    if(entry.getKey() == 3){
+                        staProtocol.setWorkNo(basRgv.getWrkNo1());
+                        staProtocol.setNearbySta(String.valueOf(basRgvMap.getNowRoute()));
+                        staProtocol.setAutoing(basRgv.getStatus() == 1);
+                        staProtocol.setLoading(staProtocol.getWorkNo()>0);
+                    }else if(entry.getKey() == 4){
+                        staProtocol.setWorkNo(basRgv.getWrkNo2());
+                        staProtocol.setNearbySta(String.valueOf(basRgvMap.getNowRoute()));
+                        staProtocol.setAutoing(basRgv.getStatus() == 1);
+                        staProtocol.setLoading(staProtocol.getWorkNo()>0);
+                    }
                 }
             }
             vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 06aa577..46d24ad 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -71,6 +71,9 @@
         // 鎸佷箙鏁版嵁
         List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no"));
         for (BasDevp devp : basDevps) {
+            if(devp.getDevNo() <5){
+                continue;
+            }
             SiteTableVo vo = new SiteTableVo();
             vo.setDevNo(devp.getDevNo());    // 绔欑偣缂栧彿
             vo.setWorkNo(devp.getWrkNo());
diff --git a/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java b/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
index b426ee2..2ca6013 100644
--- a/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasRgvMapper.java
@@ -2,11 +2,14 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.BasRgvMap;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface BasRgvMapper extends BaseMapper<BasRgv> {
+    BasRgv selectByRgvNo(@Param("rgvNo") Integer rgvNo);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/BasRgvService.java b/src/main/java/com/zy/asrs/service/BasRgvService.java
index 69e0167..c7ca113 100644
--- a/src/main/java/com/zy/asrs/service/BasRgvService.java
+++ b/src/main/java/com/zy/asrs/service/BasRgvService.java
@@ -2,8 +2,10 @@
 
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.BasRgvMap;
 import com.zy.common.utils.RedisUtil;
 
 public interface BasRgvService extends IService<BasRgv> {
+    BasRgv selectByRgvNo(Integer rgvNo);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
index 0fbdc7c..2202cc8 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasRgvServiceImpl.java
@@ -2,11 +2,15 @@
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.entity.BasRgv;
+import com.zy.asrs.entity.BasRgvMap;
 import com.zy.asrs.mapper.BasRgvMapper;
 import com.zy.asrs.service.BasRgvService;
 import org.springframework.stereotype.Service;
 
 @Service("basRgvService")
 public class BasRgvServiceImpl extends ServiceImpl<BasRgvMapper, BasRgv> implements BasRgvService {
-
+    @Override
+    public BasRgv selectByRgvNo(Integer rgvNo) {
+        return this.baseMapper.selectByRgvNo(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 5789190..3a4dedc 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1079,7 +1079,7 @@
             //mark - 3 - ....
             this.locToLoc(crn, crnProtocol,mark);
             //棰勮皟搴�
-//            this.crnRebackHp(crnProtocol, crnThread);
+            this.crnRebackHp(crnProtocol, crnThread);
 
         }
 //        News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -1095,11 +1095,11 @@
             }
             int x=1;
             switch (crnProtocol.getCrnNo()){
-                case 1: x =1; break;
-                case 2: x =3; break;
-                case 3: x =5; break;
-                case 4: x =7; break;
-                case 5: x =9; break;
+                case 1: x =2; break;
+                case 2: x =6; break;
+                case 3: x =11; break;
+                case 4: x =14; break;
+                case 5: x =18; break;
             }
 
             // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
@@ -1124,7 +1124,7 @@
             crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
             crnCommand.setTaskMode(CrnTaskModeType.X_MOVE); // 浠诲姟妯″紡:  鍥炲師鐐�
             crnCommand.setSourcePosX((short) x);     // 婧愬簱浣嶆帓
-            crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
+            crnCommand.setSourcePosY((short) 52);     // 婧愬簱浣嶅垪
             crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
             crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
             crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
@@ -1900,31 +1900,33 @@
                     News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
                     crnThread.setResetFlag(true);
                 }
-            } else if (crnProtocol.getTaskNo() == 9996) {//鐩樼偣鍏ュ簱琛旀帴
-                //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
-                if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
-                    News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
-
-                    // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
-                    // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
-                    if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
-                        wrkMast.setWrkSts(4L);
-                    } else {
-                        continue;
-                    }
-                    Date now = new Date();
-                    wrkMast.setCrnEndTime(now);
-                    wrkMast.setModiTime(now);
-                    // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-                    if (wrkMastMapper.updateById(wrkMast) > 0) {
-                        // 鍫嗗灈鏈哄浣�
-                        log.error(wrkMast.getWrkNo() + "浠诲姟淇敼鐘舵��4鎴愬姛锛屽浣嶅爢鍨涙満={}", crnThread.getCrnProtocol().getCrnNo());
-                        News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
-                        crnThread.setResetFlag(true);
-                    }
-                }
-            }else{
+            }
+//            else if (crnProtocol.getTaskNo() == 9996) {//鐩樼偣鍏ュ簱琛旀帴
+//                //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
+//                if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
+//                    News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
+//
+//                    // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+//                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
+//                    // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
+//                    if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
+//                        wrkMast.setWrkSts(4L);
+//                    } else {
+//                        continue;
+//                    }
+//                    Date now = new Date();
+//                    wrkMast.setCrnEndTime(now);
+//                    wrkMast.setModiTime(now);
+//                    // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+//                    if (wrkMastMapper.updateById(wrkMast) > 0) {
+//                        // 鍫嗗灈鏈哄浣�
+//                        log.error(wrkMast.getWrkNo() + "浠诲姟淇敼鐘舵��4鎴愬姛锛屽浣嶅爢鍨涙満={}", crnThread.getCrnProtocol().getCrnNo());
+//                        News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
+//                        crnThread.setResetFlag(true);
+//                    }
+//                }
+//            }
+            else{
                 //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
                 if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
                     News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
@@ -2218,7 +2220,12 @@
                 }
                 // 鑾峰彇宸ヤ綔妗f暟鎹�
                 WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
-                if (null == wrkMast) { continue; }
+                if (null == wrkMast) {
+                    if(staProtocol.getWorkNo() > 9999){ //寮傚父閫�鍑�
+                        MessageQueue.offer(SlaveType.Led, 2, new Task(3, "寮傚父閫�鍑�"));
+                    }
+                    continue;
+                }
                 wrkMasts.add(wrkMast);
                 // 缁勮鍛戒护
                 LedCommand ledCommand = new LedCommand();
@@ -2268,13 +2275,13 @@
                             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));
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getOrderNo(), wrkDetl.getSupp(), wrkDetl.getSku(),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));
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getOrderNo(), wrkDetl.getSupp(), wrkDetl.getSku(),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));
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getOrderNo(), wrkDetl.getSupp(), wrkDetl.getSku(),wrkDetl.getAnfme(),total));
                         }
                     });
                 }
@@ -3322,7 +3329,7 @@
                         continue;
                     }
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-                    basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+                    basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
                     Integer workNo = 0;
                     if(rgvProtocol.getTaskNo2() > 9999|| rgvProtocol.getTaskNo1() > 9999){
                         workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1() : rgvProtocol.getTaskNo2();
@@ -3388,7 +3395,7 @@
                         continue;
                     }
                     BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
-                    basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+                    basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
                     Integer workNo = 0;
                     if(basRgv.getPakToCrn().equals("1")){
                         workNo = rgvProtocol.getTaskNo1() !=0 ? rgvProtocol.getTaskNo1():rgvProtocol.getTaskNo2();  //姝e父鎯呭喌鍑哄簱鏀捐揣浼樺厛宸ヤ綅1鏀�
@@ -3639,7 +3646,7 @@
                 case 1: route = RouteUtils.getRouteOne();break;
                 case 2: route = RouteUtils.getRouteTwo();break;
             }
-            basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+            basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
             basRgvMapService.updateById(basRgvMap);
             WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
             if( null == wrkMastSta ) {
@@ -3765,7 +3772,7 @@
                 case 1: route = RouteUtils.getRouteOne();break;
                 case 2: route = RouteUtils.getRouteTwo();break;
             }
-            basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+            basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
             basRgvMapService.updateById(basRgvMap);
             WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
             if( null == wrkMastSta ) {
@@ -3900,7 +3907,7 @@
                 case 1: route = RouteUtils.getRouteOne();break;
                 case 2: route = RouteUtils.getRouteTwo();break;
             }
-            basRgvMap.setNowRoute(rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+            basRgvMap.setNowRoute(rgvProtocol.getRgvNo() == 1?rgvProtocol.getRgvPosI1():rgvProtocol.getRgvPosI2()); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
             basRgvMapService.updateById(basRgvMap);
             WrkMastSta wrkMastSta = wrkMastStaMapper.selectNoInterfere(route, route, Long.valueOf(staProtocol.getWorkNo()));//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
             if( null == wrkMastSta ) {
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 99a2f28..5318db3 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -18,6 +18,16 @@
 
     private String specs;
 
+    //鍗曟嵁缂栧彿
+    private String orderNo;
+
+    //瀹㈡埛PO
+    private String supp;
+
+    //鏉$爜UPC
+    private String sku;
+
+
     // 瀹㈡埛淇℃伅
     private String manu;
 
@@ -42,6 +52,16 @@
         this.total = total;
     }
 
+    public MatDto(String matnr, String maknx, String orderNo, String supp, String sku,Double count, Double total) {
+        this.matnr = matnr;
+        this.maknx = maknx;
+        this.orderNo = orderNo;
+        this.supp = supp;
+        this.sku = sku;
+        this.count = count;
+        this.total = total;
+    }
+
     public MatDto(String matNo, String maknx, Double count) {
         this.matnr = matNo;
         this.maknx = maknx;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 96fb0f9..ae31c63 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -86,7 +86,7 @@
                 // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
                 mainService.storeEmptyPlt(8);
                 // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-//                mainService.ledExecute(9);
+                mainService.ledExecute(9);
                 // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                 mainService.ledReset();
                 //鍫嗗灈鏈鸿鎺ヤ换鍔$敓鎴�
@@ -103,32 +103,6 @@
                 }
                 i++;
 
-                // 鍏朵粬  ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
-//                    i++;
-//                    if (i > 1) {
-//                        mainService.ioConvert();
-//                        i = 0;
-//                    }
-
-                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
-//
-                //瀹屾垚灏忚溅浠诲姟
-//                    mainService.rgvCompleteWrkMastSta();
-
-//                    //鎵ц灏忚溅绌烘澘鎼繍浠诲姟
-//                    mainService.rgvRunWrkMastEmptyStaPut();//鏀�
-//                    mainService.rgvRunWrkMastEmptyStaTake();//鍙�
-//                    if (rgcWrk){
-//                        //鎵ц灏忚溅璐х墿鎼繍浠诲姟
-//                        mainService.rgvRunWrkMastFullSta();
-//                        rgcWrk = false;
-//                    }else {
-//                        mainService.rgvRunWrkMastEmptyStaAvoidance();//閬胯
-//                        rgcWrk = true;
-//                    }
-
-
-                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
                 /////////////////////////////////////RGV璋冨害/////////////////////////////////////
                 k++;
 
@@ -146,9 +120,6 @@
 //                //瀹屾垚灏忚溅浠诲姟
                 mainService.rgvTaskComplete();
 
-                //宸ヤ綅绉诲姩
-//                mainService.rgvStaMove();
-                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
 
             } catch (Exception e) {
                 e.printStackTrace();
diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
index d6d78f9..be7cb68 100644
--- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -430,7 +430,7 @@
         return map.get(RgvPos);
     }
 
-    public Integer getRgvPosI2() {
+    public Integer getRgvPosI1() {
         // key: 绔欑偣鍙�  value: 鍩哄噯鐗╃悊浣嶇疆
         Map<Integer, Integer> posMap = new HashMap<>();
         posMap.put(1004, 6534);
@@ -442,6 +442,25 @@
         posMap.put(1024, 219684);
         posMap.put(1028, 246724);
         posMap.put(1031, 288194);
+        posMap.put(1035, 314954);
+
+
+
+        int tolerance = 200; // 鍏佽璇樊鑼冨洿
+
+        for (Map.Entry<Integer, Integer> entry : posMap.entrySet()) {
+            int site = entry.getKey();
+            int basePos = entry.getValue();
+            if (Math.abs(RgvPos - basePos) <= tolerance) {
+                return site;
+            }
+        }
+
+        return 0; // 娌″尮閰嶅埌绔欑偣
+    }
+    public Integer getRgvPosI2() {
+        // key: 绔欑偣鍙�  value: 鍩哄噯鐗╃悊浣嶇疆
+        Map<Integer, Integer> posMap = new HashMap<>();
         posMap.put(2003, 314954);
         posMap.put(2006, 288094);
         posMap.put(2009, 246574);
@@ -452,8 +471,6 @@
         posMap.put(2024, 75174);
         posMap.put(2027, 33748);
         posMap.put(2030, 6449);
-
-
         int tolerance = 200; // 鍏佽璇樊鑼冨洿
 
         for (Map.Entry<Integer, Integer> entry : posMap.entrySet()) {
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index b1f419d..58dbf95 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -279,7 +279,6 @@
                 if (null == rgvProtocol) {
                     rgvProtocol = new RgvProtocol();
                     rgvProtocol.setRgvNo(siemensNet.getByteTransform().TransInt16(result.Content, 0));
-
                 }
                 rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 2));
                 rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt32(result.Content, 4));
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index cff7ba2..22f833c 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -10,6 +10,8 @@
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.mapper.BasRgvMapMapper;
+import com.zy.asrs.mapper.BasRgvMapper;
 import com.zy.asrs.service.*;
 import com.zy.common.utils.News;
 import com.zy.core.DevpThread;
@@ -24,6 +26,7 @@
 import com.zy.core.model.protocol.StaProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import java.nio.charset.StandardCharsets;
 import java.text.MessageFormat;
@@ -37,7 +40,8 @@
 @Data
 @Slf4j
 public class SiemensDevpThread implements Runnable, DevpThread {
-
+    private BasRgvMapMapper basRgvMapMapper;
+    private BasRgvMapper basRgvMapper;
     private DevpSlave slave;
     private SiemensS7Net siemensS7Net;
     private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
@@ -47,6 +51,7 @@
 //
 //    }};
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
+        add(1);add(2);//灏忚溅绔欑偣
         add(1001);add(1002);add(1004);
         add(1005);add(1007);
         add(1008);add(1010);
@@ -67,6 +72,7 @@
     }};
 
     public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
+        add(3);add(4);
         add(2001);add(2003);
         add(2004);add(2006);
         add(2007);add(2009);
@@ -442,7 +448,7 @@
         OperateResultExOne<byte[]> result4 = null;//1054-1079
         OperateResultExOne<byte[]> result5 = null;//1080-1110
         OperateResultExOne<byte[]> resultErr = null;
-        if(staNoSize == 100){
+        if(staNoSize == 102){
             result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028
             result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037
             result3 = siemensS7Net.Read("DB104.0", (short) (1268));//1042-1053
@@ -470,7 +476,7 @@
                     station.put(siteId, staProtocol);
                 }
                 staProtocol.setSiteId(siteId);
-                if (staNoSize == 100) {
+                if (staNoSize == 102) {
                     if (siteId < 1029) {
                         result = result1;
                     } else if (siteId < 1042) {
@@ -491,152 +497,168 @@
                         result = result3;
                     }
                 }
-                // 鑾峰彇璇ョ珯鐐瑰搴旂殑鍋忕Щ閲�
-                Integer offset = siteOffsetMap.get(siteId);
-                if (offset == null) {
-                    continue; // 濡傛灉娌″畾涔夊亸绉婚噺锛岃烦杩�
-                }
-                Integer offset2 = getOffsetBySiteId(siteId);//鐗规畩鍋忕Щ閲忚绠�
-                Integer offset3 = getOffsetBySiteId2(siteId);
-                Integer offsetSign = siteOffsetMapSign.get(siteId);
-                if(siteId == 1040){
-                    boolean[] full = siemensS7Net.getByteTransform().TransBool(result.Content, offset, 2);
-                    staProtocol.setFull(full[0]);
-                }
-                staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2));     // 宸ヤ綔鍙�
-                staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 12));   // 鐩爣绔�
-                staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 16)));  //鏉$爜
+//                if(siteId < 5){
+//                    int rgvNo = 2;
+//                    if(siteId<3){
+//                        rgvNo = 1;
+//                    }
+////                    BasRgv basRgv = basRgvMapper.selectByRgvNo(rgvNo);
+//                    BasRgvMap basRgvMap = basRgvMapMapper.selectByRgvNo(rgvNo);
+//                    if(siteId%2 != 0){
+////                        staProtocol.setWorkNo(basRgv.getWrkNo1());
+//                    }else{
+////                        staProtocol.setWorkNo(basRgv.getWrkNo2());
+//                    }
+//
+//                }else{
+                    // 鑾峰彇璇ョ珯鐐瑰搴旂殑鍋忕Щ閲�
+                    Integer offset = siteOffsetMap.get(siteId);
+                    if (offset == null) {
+                        continue; // 濡傛灉娌″畾涔夊亸绉婚噺锛岃烦杩�
+                    }
+                    Integer offset2 = getOffsetBySiteId(siteId);//鐗规畩鍋忕Щ閲忚绠�
+                    Integer offset3 = getOffsetBySiteId2(siteId);
+                    Integer offsetSign = siteOffsetMapSign.get(siteId);
+                    if(siteId == 1040){
+                        boolean[] full = siemensS7Net.getByteTransform().TransBool(result.Content, offset, 2);
+                        staProtocol.setFull(full[0]);
+                    }
+                    staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2));     // 宸ヤ綔鍙�
+                    staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 12));   // 鐩爣绔�
+                    staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 16)));  //鏉$爜
 
-                if(specialSites2.contains(siteId)){
-                    staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 48));   // 鐩爣绔�
-                    staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 52)));  //鏉$爜
-                }
-                if(staNosErrList.contains(siteId)){
-                    Integer offsetErr = siteErrOffsetMap.get(siteId);
-                    boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetErr, 2);
-                    staProtocol.setFrontErr(statusErr[2]);
-                    staProtocol.setBackErr(statusErr[3]);
-                    staProtocol.setHighErr(statusErr[5]);
-                    staProtocol.setLeftErr(statusErr[11]);
-                    staProtocol.setRightErr(statusErr[12]);
+                    if(specialSites2.contains(siteId)){
+                        staProtocol.setStaNo((short)siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 48));   // 鐩爣绔�
+                        staProtocol.setBarcode(String.valueOf(siemensS7Net.getByteTransform().TransInt32(result.Content, offset + offset2 + 52)));  //鏉$爜
+                    }
+                    if(staNosErrList.contains(siteId)){
+                        Integer offsetErr = siteErrOffsetMap.get(siteId);
+                        boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetErr, 2);
+                        staProtocol.setFrontErr(statusErr[2]);
+                        staProtocol.setBackErr(statusErr[3]);
+                        staProtocol.setHighErr(statusErr[5]);
+                        staProtocol.setLeftErr(statusErr[11]);
+                        staProtocol.setRightErr(statusErr[12]);
 // 鍙栧嚭454~458浣嶇疆鐨�5涓瓧鑺�
-                    byte[] bytes = Arrays.copyOfRange(resultErr.Content, (offsetErr + 14), (offsetErr + 19));
+                        byte[] bytes = Arrays.copyOfRange(resultErr.Content, (offsetErr + 14), (offsetErr + 19));
 // 杞崲鎴愬瓧绗︿覆锛圫7閲孋HAR鏄崟瀛楄妭缂栫爜锛岀洿鎺SCII鍗冲彲锛�
-                    String plcStr = new String(bytes, StandardCharsets.US_ASCII).trim();
+                        String plcStr = new String(bytes, StandardCharsets.US_ASCII).trim();
 // 鍒ゆ柇鏄惁绛変簬 "error"
-                    staProtocol.setBarcodeErr("error".equalsIgnoreCase(plcStr));
-                }
+                        staProtocol.setBarcodeErr("error".equalsIgnoreCase(plcStr));
+                    }
 
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3, 1);
-                staProtocol.setAutoing(!status[0]);  // 鑷姩
-                boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
-                boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3);
-                boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
-                boolean loading = false;
-                if(!status1[0])
-                {
-                    loading = true;
-                }
-                staProtocol.setLoading(loading);  // 鏈夌墿
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3, 1);
+                    staProtocol.setAutoing(!status[0]);  // 鑷姩
+                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 4, 3);
+                    boolean[] statusErr = siemensS7Net.getByteTransform().TransBool(result.Content, offset + offset3 - 8, 3);
+                    boolean[] statusSign = siemensS7Net.getByteTransform().TransBool(resultErr.Content, offsetSign, 3);
+                    boolean loading = false;
+                    if(!status1[0])
+                    {
+                        loading = true;
+                    }
+                    staProtocol.setLoading(loading);  // 鏈夌墿
 
-                staProtocol.setInEnable(status1[2]); // 鍙叆
-                staProtocol.setOutEnable(status1[2]);// 鍙嚭
-                staProtocol.setErr(status1[6]);
+                    staProtocol.setInEnable(status1[2]); // 鍙叆
+                    staProtocol.setOutEnable(status1[2]);// 鍙嚭
+                    staProtocol.setErr(status1[6]);
 
-                //鎶ヨ
-                staProtocol.setPassTimeOut(statusErr[0]);
-                staProtocol.setObjectNoIdError(statusErr[1]);
-                staProtocol.setIdNoObjectError(statusErr[2]);
-                staProtocol.setLmfrError(statusErr[3]);
-                staProtocol.setLiftError(statusErr[4]);
-                staProtocol.setDlfrError(statusErr[5]);
-                staProtocol.setDmfrError(statusErr[6]);
-                staProtocol.setVfdError(statusErr[7]);
-                staProtocol.setSrvError(statusErr[8]);
-                staProtocol.setRes1(statusErr[9]);
-                staProtocol.setRes2(statusErr[10]);
-                staProtocol.setRes3(statusErr[11]);
-                staProtocol.setCommunicationTimeOut(statusErr[12]);
-                staProtocol.setParameterIncompleteError(statusErr[13]);
-                staProtocol.setDataNotClear(statusErr[14]);
-                staProtocol.setSetParameterError(statusErr[15]);
-                staProtocol.setRes4(statusErr[16]);
-                staProtocol.setRes5(statusErr[17]);
-                staProtocol.setDataError(statusErr[18]);
+                    //鎶ヨ
+                    staProtocol.setPassTimeOut(statusErr[0]);
+                    staProtocol.setObjectNoIdError(statusErr[1]);
+                    staProtocol.setIdNoObjectError(statusErr[2]);
+                    staProtocol.setLmfrError(statusErr[3]);
+                    staProtocol.setLiftError(statusErr[4]);
+                    staProtocol.setDlfrError(statusErr[5]);
+                    staProtocol.setDmfrError(statusErr[6]);
+                    staProtocol.setVfdError(statusErr[7]);
+                    staProtocol.setSrvError(statusErr[8]);
+                    staProtocol.setRes1(statusErr[9]);
+                    staProtocol.setRes2(statusErr[10]);
+                    staProtocol.setRes3(statusErr[11]);
+                    staProtocol.setCommunicationTimeOut(statusErr[12]);
+                    staProtocol.setParameterIncompleteError(statusErr[13]);
+                    staProtocol.setDataNotClear(statusErr[14]);
+                    staProtocol.setSetParameterError(statusErr[15]);
+                    staProtocol.setRes4(statusErr[16]);
+                    staProtocol.setRes5(statusErr[17]);
+                    staProtocol.setDataError(statusErr[18]);
 
-                //淇″彿
-                staProtocol.setSensorGArrive(statusSign[0]);
-                staProtocol.setSensorGDec(statusSign[1]);
-                staProtocol.setSensorGArrive2(statusSign[2]);
-                staProtocol.setSensorLimit(statusSign[3]);
-                staProtocol.setEmergency(statusSign[4]);
-                staProtocol.setSensorGLeave(statusSign[5]);
-                staProtocol.setSensorGLeave2(statusSign[6]);
-                staProtocol.setSensorCUp(statusSign[7]);
-                staProtocol.setSensorCDown(statusSign[8]);
-                staProtocol.setLiftMotorFr(statusSign[9]);
-                staProtocol.setLineMotorFr(statusSign[10]);
-                staProtocol.setTranMotorFr(statusSign[11]);
-                staProtocol.setRst1(statusSign[12]);
-                staProtocol.setRst2(statusSign[13]);
-                staProtocol.setRst3(statusSign[14]);
-                staProtocol.setRst4(statusSign[15]);
-                staProtocol.setSensorArriveD(statusSign[16]);
-                staProtocol.setSensorDecD(statusSign[17]);
-                staProtocol.setSensorArriveL(statusSign[18]);
-                staProtocol.setSensorDecL(statusSign[19]);
-                staProtocol.setSensorArriveR(statusSign[20]);
-                staProtocol.setSensorDecR(statusSign[21]);
+                    //淇″彿
+                    staProtocol.setSensorGArrive(statusSign[0]);
+                    staProtocol.setSensorGDec(statusSign[1]);
+                    staProtocol.setSensorGArrive2(statusSign[2]);
+                    staProtocol.setSensorLimit(statusSign[3]);
+                    staProtocol.setEmergency(statusSign[4]);
+                    staProtocol.setSensorGLeave(statusSign[5]);
+                    staProtocol.setSensorGLeave2(statusSign[6]);
+                    staProtocol.setSensorCUp(statusSign[7]);
+                    staProtocol.setSensorCDown(statusSign[8]);
+                    staProtocol.setLiftMotorFr(statusSign[9]);
+                    staProtocol.setLineMotorFr(statusSign[10]);
+                    staProtocol.setTranMotorFr(statusSign[11]);
+                    staProtocol.setRst1(statusSign[12]);
+                    staProtocol.setRst2(statusSign[13]);
+                    staProtocol.setRst3(statusSign[14]);
+                    staProtocol.setRst4(statusSign[15]);
+                    staProtocol.setSensorArriveD(statusSign[16]);
+                    staProtocol.setSensorDecD(statusSign[17]);
+                    staProtocol.setSensorArriveL(statusSign[18]);
+                    staProtocol.setSensorDecL(statusSign[19]);
+                    staProtocol.setSensorArriveR(statusSign[20]);
+                    staProtocol.setSensorDecR(statusSign[21]);
 
 
-                if( (staProtocol.getPassTimeOut() ||
-                    staProtocol.getObjectNoIdError() ||
-                        staProtocol.getIdNoObjectError() ||
-                        staProtocol.getLmfrError() ||
-                        staProtocol.getLiftError() ||
-                        staProtocol.getDlfrError() ||
-                        staProtocol.getDmfrError() ||
-                        staProtocol.getVfdError() ||
-                        staProtocol.getSrvError() ||
-                        staProtocol.getRes1() ||
-                        staProtocol.getRes2() ||
-                        staProtocol.getRes3() ||
-                        staProtocol.getCommunicationTimeOut() ||
-                        staProtocol.getParameterIncompleteError() ||
-                        staProtocol.getDataNotClear() ||
-                        staProtocol.getSetParameterError() ||
-                        staProtocol.getDataError()) && staProtocol.isWriteMk()
-                ){
-                    staProtocol.setErrorMk(true);//鑻ュ瓨鍦ㄥ紓甯歌Е鍙戝啓鍏�
-                }
+                    if( (staProtocol.getPassTimeOut() ||
+                            staProtocol.getObjectNoIdError() ||
+                            staProtocol.getIdNoObjectError() ||
+                            staProtocol.getLmfrError() ||
+                            staProtocol.getLiftError() ||
+                            staProtocol.getDlfrError() ||
+                            staProtocol.getDmfrError() ||
+                            staProtocol.getVfdError() ||
+                            staProtocol.getSrvError() ||
+                            staProtocol.getRes1() ||
+                            staProtocol.getRes2() ||
+                            staProtocol.getRes3() ||
+                            staProtocol.getCommunicationTimeOut() ||
+                            staProtocol.getParameterIncompleteError() ||
+                            staProtocol.getDataNotClear() ||
+                            staProtocol.getSetParameterError() ||
+                            staProtocol.getDataError()) && staProtocol.isWriteMk()
+                    ){
+                        staProtocol.setErrorMk(true);//鑻ュ瓨鍦ㄥ紓甯歌Е鍙戝啓鍏�
+                    }
 
-                if(     !staProtocol.getPassTimeOut() &&
-                        !staProtocol.getObjectNoIdError() &&
-                        !staProtocol.getIdNoObjectError() &&
-                        !staProtocol.getLmfrError() &&
-                        !staProtocol.getLiftError() &&
-                        !staProtocol.getDlfrError() &&
-                        !staProtocol.getDmfrError() &&
-                        !staProtocol.getVfdError() &&
-                        !staProtocol.getSrvError() &&
-                        !staProtocol.getRes1() &&
-                        !staProtocol.getRes2() &&
-                        !staProtocol.getRes3() &&
-                        !staProtocol.getCommunicationTimeOut() &&
-                        !staProtocol.getParameterIncompleteError() &&
-                        !staProtocol.getDataNotClear() &&
-                        !staProtocol.getSetParameterError() &&
-                        !staProtocol.getDataError()
-                ){
-                    staProtocol.setWriteMk(true);//鏃犲紓甯稿悗鎵嶈兘缁х画鍐欏叆
-                    staProtocol.setErrorMk(false);//鑻ュ瓨鍦ㄥ紓甯歌Е鍙戝啓鍏�
+                    if(     !staProtocol.getPassTimeOut() &&
+                            !staProtocol.getObjectNoIdError() &&
+                            !staProtocol.getIdNoObjectError() &&
+                            !staProtocol.getLmfrError() &&
+                            !staProtocol.getLiftError() &&
+                            !staProtocol.getDlfrError() &&
+                            !staProtocol.getDmfrError() &&
+                            !staProtocol.getVfdError() &&
+                            !staProtocol.getSrvError() &&
+                            !staProtocol.getRes1() &&
+                            !staProtocol.getRes2() &&
+                            !staProtocol.getRes3() &&
+                            !staProtocol.getCommunicationTimeOut() &&
+                            !staProtocol.getParameterIncompleteError() &&
+                            !staProtocol.getDataNotClear() &&
+                            !staProtocol.getSetParameterError() &&
+                            !staProtocol.getDataError()
+                    ){
+                        staProtocol.setWriteMk(true);//鏃犲紓甯稿悗鎵嶈兘缁х画鍐欏叆
+                        staProtocol.setErrorMk(false);//鑻ュ瓨鍦ㄥ紓甯歌Е鍙戝啓鍏�
 
-                }
+                    }
 
 
-                if (!staProtocol.isPakMk() && (!staProtocol.isLoading() || staProtocol.getWorkNo()==0)) {
-                    staProtocol.setPakMk(true);
-                }
+                    if (!staProtocol.isPakMk() && (!staProtocol.isLoading() || staProtocol.getWorkNo()==0)) {
+                        staProtocol.setPakMk(true);
+                    }
+//                }
+
             }
         }
         //鏉$爜鎵弿鍣�
@@ -705,6 +727,8 @@
         }
 
 
+
+
         if (result1.IsSuccess && result2.IsSuccess) {
 
             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6f40ab4..7f5307a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -590,35 +590,28 @@
   # LED4
   led[3]:
     id: 4
+    ip: 10.10.10.216
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 1047
+  # LED4
+  led[4]:
+    id: 5
     ip: 10.10.10.215
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
     staArr: 2037
   # LED5
-  led[4]:
-    id: 5
-    ip: 10.10.10.216
-    port: 5005
-    devpPlcId: ${wcs-slave.devp[1].id}
-    staArr: 4001
-  # LED6
   led[5]:
     id: 6
     ip: 10.10.10.217
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
-    staArr: 4006
+    staArr: 4001
   # LED6
   led[6]:
     id: 7
     ip: 10.10.10.218
     port: 5005
-    devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 160,159
-  # LED6
-  led[7]:
-    id: 8
-    ip: 10.10.10.219
-    port: 5005
-    devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 160,159
\ No newline at end of file
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 4006
\ No newline at end of file
diff --git a/src/main/resources/mapper/BasRgvMapper.xml b/src/main/resources/mapper/BasRgvMapper.xml
index a826fab..428ada2 100644
--- a/src/main/resources/mapper/BasRgvMapper.xml
+++ b/src/main/resources/mapper/BasRgvMapper.xml
@@ -20,5 +20,8 @@
         <result column="memo" property="memo" />
 
     </resultMap>
-
+    <select id="selectByRgvNo" resultMap="BaseResultMap">
+        select * from asr_bas_rgv
+        where rgv_no = #{rgvNo}
+    </select>
 </mapper>
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index da1c6d3..6bd7ea2 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -27,7 +27,7 @@
     </resultMap>
 
     <select id="findByWorkNo" resultMap="BaseResultMap">
-        select wrk_no, matnr, maktx, anfme ,specs from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
+        select * from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
     </select>
 
     <update id="updateIoTime">
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 521b521..c125dd0 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
 <head>
-    <meta charset="UTF-8">
+    <meta charset="UTF-8" >
     <title>鑷姩浠撳簱wcs绯荤粺</title>
     <link rel="stylesheet" href="../static/css/render.css">
     <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
@@ -10,8 +10,6 @@
     <script src="../static/js/console.map.js"></script>
     <script src="../static/js/console.js"></script>
     <script src="../static/js/common.js"></script>
-
-
 </head>
 <body>
     <div id="main">
@@ -19,6 +17,7 @@
             <div class="head-left">
                 <h1>鑷姩浠撳簱WCS鐩戞帶鍥�</h1>
                 <h6>AUTOMATIC WAREHOUSE WCS MONITORING DIAGRAM</h6>
+                <button class="zoom-btn" id="zoomBtn">缂╁皬缃戦〉姣斾緥</button>
             </div>
             <div class="head-right">
                 <img src="../static/images/zy-logo.png" alt="涓壃" height="44" width="80">
@@ -327,6 +326,7 @@
         </div>
     </div>
 
+
 </body>
 
 </html>
@@ -544,7 +544,7 @@
         });
     }
 
-    // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙�
+    // 杈撻�佽澶囧疄鏃舵暟鎹幏鍙朿sxit
     function getSitesInfo() {
         $.ajax({
             url: baseUrl + "/console/latest/data/site",
@@ -562,7 +562,7 @@
                             siteEl.html(sites[i].siteId);
                         }
 
-                        if (sites[i].siteId === '1' || sites[i].siteId === '2' || sites[i].siteId === '3') {
+                        if (sites[i].siteId === '1' || sites[i].siteId === '2' || sites[i].siteId === '3'|| sites[i].siteId === '4') {
 
                             carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta));
                         }
@@ -693,43 +693,67 @@
     function carAnimate(id, target) {
         // debugger
         var targetTop = 0;
-        if (id === 1 || id === '1' || id === '2' || id === 2 || id === '3' || id === 3) {
+        if (id === 1 || id === '1' || id === '2' || id === 2 || id === '3' || id === 3 ||id === '4' || id === 4) {
             switch (target) {
-                case 1:
-                    targetTop += 792;
+                case 1004:
+                    targetTop += 84;
                     break;
-                case 2:
-                    targetTop += 771;
+                case 1007:
+                    targetTop += 128;
                     break;
-                case 3:
-                    targetTop += 727;
-                    break;
-                case 4:
-                    targetTop += 706;
-                    break;
-                case 5:
-                    targetTop += 662;
-                    break;
-                case 6:
-                    targetTop += 620;
-                    break;
-                case 7:
-                    targetTop += 578;
-                    break;
-                case 8:
-                    targetTop += 530;
-                    break;
-                case 9:
+                case 1010:
                     targetTop += 190;
                     break;
-                case 10:
-                    targetTop += 147;
+                case 1014:
+                    targetTop += 240;
                     break;
-                case 11:
-                    targetTop += 107;
+                case 1018:
+                    targetTop += 300;
                     break;
-                case 12:
-                    targetTop += 63;
+                case 1021:
+                    targetTop += 350;
+                    break;
+                case 1024:
+                    targetTop += 415;
+                    break;
+                case 1028:
+                    targetTop += 465;
+                    break;
+                case 1031:
+                    targetTop += 530;
+                    break;
+                case 1035:
+                    targetTop += 580;
+                    break;
+                case 2003:
+                    targetTop += 84;
+                    break;
+                case 2006:
+                    targetTop += 128;
+                    break;
+                case 2009:
+                    targetTop += 19.;
+                    break;
+                case 2012:
+                    targetTop += 240;
+                    break;
+                case 2015:
+                    targetTop += 300;
+                    break;
+                case 2018:
+                    targetTop += 350;
+                    break;
+                case 2021:
+                    targetTop += 415;
+                    break;
+                case 2024:
+                    targetTop += 465;
+                    break;
+                case 2027:
+                    targetTop += 530;
+                    break;
+                case 2030:
+                    targetTop += 580;
                     break;
                 default:
                     return;
@@ -738,8 +762,56 @@
             return;
         }
 
-        $("#site-" + id).animate({top: targetTop + 'px'}, 1000);
+        $("#site-" + id).animate({top: targetTop + 'px'}, 0);
     }
 
+    // 妫�鏌� URL 涓槸鍚﹀寘鍚� fullscreen=true 鍙傛暟
+    function checkFullscreen() {
+        const urlParams = new URLSearchParams(window.location.search);
+        const fullscreen = urlParams.get('fullscreen');
+        if (fullscreen === 'true') {
+            enterFullscreen();
+        }
+    }
+
+    // 杩涘叆鍏ㄥ睆妯″紡
+    function enterFullscreen() {
+        if (!document.fullscreenElement) {
+            if (document.documentElement.requestFullscreen) {
+                document.documentElement.requestFullscreen();
+            } else if (document.documentElement.mozRequestFullScreen) { // Firefox
+                document.documentElement.mozRequestFullScreen();
+            } else if (document.documentElement.webkitRequestFullscreen) { // Chrome, Safari, Opera
+                document.documentElement.webkitRequestFullscreen();
+            } else if (document.documentElement.msRequestFullscreen) { // IE/Edge
+                document.documentElement.msRequestFullscreen();
+            }
+        }
+    }
+
+    // 鎸夐挳鐐瑰嚮浜嬩欢锛岃Е鍙戠缉鏀�
+    document.getElementById('zoomBtn').addEventListener('click', function() {
+        simulateCtrlWheelZoomOut();
+    });
+
+    // 妯℃嫙 Ctrl + 婊氳疆涓嬫粦鏉ョ缉灏忕綉椤�
+    function simulateCtrlWheelZoomOut() {
+        let scale = 1;  // 榛樿缂╂斁姣斾緥
+
+        // 鑾峰彇褰撳墠椤甸潰鐨勭缉鏀炬瘮渚�
+        let currentScale = window.getComputedStyle(document.body).transform;
+        if (currentScale !== 'none') {
+            scale = parseFloat(currentScale.match(/matrix\((.*)\)/)[1].split(',')[0]);
+        }
+
+        // 璁$畻鏂扮殑缂╂斁姣斾緥锛屾ā鎷熺缉灏�
+        let newScale = scale * 0.9; // 姣忔鐐瑰嚮缂╁皬10%
+
+        // 搴旂敤鏂扮殑缂╂斁姣斾緥
+        document.body.style.transform = 'scale(' + newScale + ')';
+        document.body.style.transformOrigin = 'top left';  // 璁剧疆缂╂斁鍘熺偣
+    }
+
+
 
 </script>
\ No newline at end of file

--
Gitblit v1.9.1