From 9ada554508bbaba431c9cf6745268ac9b87561d5 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 24 十一月 2025 15:55:10 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/controller/RgvController.java |  542 +++++++++++++++++++++++++++++------------------------
 1 files changed, 294 insertions(+), 248 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 3be5b88..80b35a5 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,8 +11,10 @@
 import com.zy.asrs.domain.vo.RgvStateTableVo;
 import com.zy.asrs.entity.BasRgv;
 import com.zy.asrs.entity.BasRgvErr;
+import com.zy.asrs.entity.BasRgvMap;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.mapper.BasRgvMapMapper;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WrkMastService;
@@ -22,6 +24,7 @@
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.RgvModeType;
 import com.zy.core.enums.RgvTaskModeType;
+import com.zy.core.enums.RgvTaskStatusType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
 import com.zy.core.model.Task;
@@ -35,8 +38,10 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * RGV鎺ュ彛
@@ -59,95 +64,115 @@
     private MainServiceImpl mainService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private BasRgvMapMapper basRgvMapMapper;
+//    @ManagerAuth(memo = "瑙i攣灏忚溅")
+//    @PostMapping("/lock")
+//    public R lock(CrnOperatorParam param){
+//        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo());
+//        rgvThread.setPakMk(true);
+//        return R.ok();
+//    }
+//
+//    @PostMapping("/table/rgv/state")
+//    @ManagerAuth(memo = "RGV淇℃伅琛�")
+//    public R rgvStateTable() {
+//        List<RgvStateTableVo> list = new ArrayList<>();
+//        List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+//
+//        for (BasRgv basRgv : rgvs) {
+//            RgvStateTableVo vo = new RgvStateTableVo();
+//            vo.setRgvNo(basRgv.getRgvNo());   //  RGV鍙�
+//            list.add(vo);
+//
+//            // 鑾峰彇RGV淇℃伅
+//            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
+//            if (rgvThread == null) continue;
+//
+//            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//            if (rgvProtocol == null) continue;
+//            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+//
+//            vo.setStatusType(rgvProtocol.modeType.desc);   // 妯″紡鐘舵��
+//            vo.setStatus(String.valueOf(rgvProtocol.getMode())); // 鐘舵��
+//            vo.setWorkNo1(rgvProtocol.getTaskNo1());      // 宸ヤ綅1浠诲姟鍙�
+//            vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
+//            vo.setLoading1(rgvProtocol.getLoaded1() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅1鏈夌墿
+//            vo.setRgvPos(basRgvMap != null?basRgvMap.getNowRoute():0);
+//            vo.setRgvPos1(rgvProtocol.getRgvPosI2());
+//            vo.setWalkPos(Objects.equals(rgvProtocol.getWalkPos(), 1) ? "鍦ㄥ畾浣�" : "涓嶅湪瀹氫綅");
+//            vo.setPakMk(rgvThread.isPakMk() ? "鏃犻攣" : "閿佸畾");
+////            vo.setPakIn(rgvThread.isPakIn() ? "鍙叆" : "涓嶅彲鍏�");
+////            vo.setPakOut(rgvThread.isPakOut() ? "鍙嚭" : "涓嶅彲鍑�");
+////            vo.setPakRgv(rgvThread.isPakRgv() ? "鏃犻攣" : "閿佸畾");
+//            vo.setPaking(rgvThread.isPaking()? "鏃犻攣" : "閿佸畾");
+////            vo.setPakAll(rgvThread.isPakAll() ? "鏃犻攣" : "閿佸畾");
+////            vo.setPakToCrn(rgvThread.isPakToCrn() ? "鏃犻攣" : "閿佸畾");
+//
+//
+//            vo.setWorkNo2(rgvProtocol.getTaskNo2());      // 宸ヤ綅2浠诲姟鍙�
+////            vo.setStatus2(rgvProtocol.getStatusType2().desc); // 宸ヤ綅2鐘舵��
+//            vo.setLoading2(rgvProtocol.getLoaded2() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅2鏈夌墿
+//
+//            // --- 閬嶅巻 errX 瀛楁鐢熸垚 warnCode 鍜� alarm ---
+//            List<String> alarms = new ArrayList<>();
+//            List<String> warnCodes = new ArrayList<>();
+//            Field[] fields = rgvProtocol.getClass().getDeclaredFields();
+//            for (Field field : fields) {
+//                if (field.getName().startsWith("err") && field.getType().equals(Boolean.class)) {
+//                    field.setAccessible(true);
+//                    try {
+//                        Boolean value = (Boolean) field.get(rgvProtocol);
+//                        if (Boolean.TRUE.equals(value)) {
+//                            String numPart = field.getName().substring(3);
+//                            int errId = Integer.parseInt(numPart);
+//                            warnCodes.add(String.valueOf(errId));
+//
+//                            BasRgvErr rgvErr = basRgvErrMapper.selectById(errId);
+//                            alarms.add(rgvErr == null ? "鏈煡寮傚父(" + errId + ")" : rgvErr.getErrName());
+//                        }
+//                    } catch (IllegalAccessException e) {
+//                        e.printStackTrace();
+//                    }
+//                }
+//            }
+//
+//            vo.setWarnCode(String.join(",", warnCodes));
+//            vo.setAlarm(alarms.isEmpty() ? "" : String.join("锛�", alarms));
+//        }
+//
+//        return R.ok().add(list);
+//    }
 
-    @ManagerAuth(memo = "瑙i攣灏忚溅")
-    @PostMapping("/lock")
-    public R lock(CrnOperatorParam param){
-        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo());
-        rgvThread.setPakMk(true);
-        return R.ok();
-    }
 
-    @PostMapping("/table/rgv/state")
-    @ManagerAuth(memo = "RGV淇℃伅琛�")
-    public R rgvStateTable(){
-        List<RgvStateTableVo> list = new ArrayList<>();
-        List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
-        for (BasRgv basRgv : rgvs) {
-            // 琛ㄦ牸琛�
-            RgvStateTableVo vo = new RgvStateTableVo();
-            vo.setRgvNo(basRgv.getRgvNo());   //  RGV鍙�
-            list.add(vo);
-            // 鑾峰彇RGV淇℃伅
-            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
-            if (rgvThread == null) {
-                continue;
-            }
-            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-            if (rgvProtocol == null) {
-                continue;
-            }
-            vo.setStatusType(rgvProtocol.modeType.desc);   //  妯″紡鐘舵��
-            vo.setStatus(rgvProtocol.getStatusType().desc);     //  鐘舵��
-            vo.setWorkNo1(rgvProtocol.getTaskNo1());  //  宸ヤ綅1浠诲姟鍙�
-            vo.setStatus1(rgvProtocol.getStatusType1().desc);  // 宸ヤ綅1鐘舵��
-            vo.setLoading1(rgvProtocol.getLoaded1()==1?"鏈夌墿":"鏃犵墿");  // 宸ヤ綅1鏈夌墿
-            vo.setRgvPos(rgvProtocol.getRgvPos());
-            vo.setRgvPos1(rgvProtocol.getRgvPosI());
-            vo.setWalkPos(rgvProtocol.getWalkPos()==1?"鍦ㄥ畾浣�":"涓嶅湪瀹氫綅");
-            vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
-//            vo.setWorkNo2(rgvProtocol.getTaskNo2());  //  宸ヤ綅2浠诲姟鍙�
-//            vo.setStatus2(rgvProtocol.getStatusType2().desc);  // 宸ヤ綅2鐘舵��
-//            vo.setLoading2(rgvProtocol.getLoaded2()==1?"鏈夌墿":"鏃犵墿");  // 宸ヤ綅2鏈夌墿
-
-            vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
-            if (rgvProtocol.getAlarm() > 0) {
-                BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
-                vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
-            }
-        }
-        return R.ok().add(list);
-    }
-
-    @PostMapping("/table/rgv/msg")
-    @ManagerAuth(memo = "RGV鏁版嵁琛�")
-    public R rgvMsgTable(){
-        List<RgvMsgTableVo> list = new ArrayList<>();
-        List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
-        for (BasRgv basRgv : rgvs) {
-            // 琛ㄦ牸琛�
-            RgvMsgTableVo vo = new RgvMsgTableVo();
-            vo.setRgvNo(basRgv.getRgvNo());   //  RGV鍙�
-            list.add(vo);
-            // 鑾峰彇RGV淇℃伅
-            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
-            if (rgvThread == null) {
-                continue;
-            }
-            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-            if (rgvProtocol == null) {
-                continue;
-            }
-
-            vo.setWorkNo(rgvProtocol.getTaskNo1());  //  浠诲姟鍙�
-            if (rgvProtocol.getTaskNo1()>0) {
-                WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1());
-                if (wrkMast != null) {
-                    vo.setStatus(RgvStatusType.process(wrkMast.getIoType()).getDesc());   //  妯″紡鐘舵��
-                    vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  婧愮珯
-                    vo.setStaNo(wrkMast.getStaNo$());   //  鐩爣绔�
-                    vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  婧愬簱浣�
-                    vo.setLocNo(wrkMast.getLocNo());    //  鐩爣搴撲綅
-                }
-            } else {
-                vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc);   //  妯″紡鐘舵��
-            }
-            vo.setXspeed(rgvProtocol.getXSpeed());  //  璧拌閫熷害锛坢/min)
-            vo.setXdistance(rgvProtocol.getXDistance());  //  璧拌璺濈(Km)
-            vo.setXduration(rgvProtocol.getXDuration());    //  璧拌鏃堕暱(H)
-        }
-        return R.ok().add(list);
-    }
+//    @PostMapping("/table/rgv/msg")
+//    @ManagerAuth(memo = "RGV鏁版嵁琛�")
+//    public R rgvMsgTable(){
+//        List<RgvMsgTableVo> list = new ArrayList<>();
+//        List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+//        for (BasRgv basRgv : rgvs) {
+//            // 琛ㄦ牸琛�
+//            RgvMsgTableVo vo = new RgvMsgTableVo();
+//            vo.setRgvNo(basRgv.getRgvNo());   //  RGV鍙�
+//            list.add(vo);
+//            // 鑾峰彇RGV淇℃伅
+//            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
+//            if (rgvThread == null) {
+//                continue;
+//            }
+//            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//            if (rgvProtocol == null) {
+//                continue;
+//            }
+//
+//            vo.setWorkNo1(rgvProtocol.getTaskNo1());  //  宸ヤ綅1宸ヤ綔鍙�
+//            vo.setWorkNo2(rgvProtocol.getTaskNo2()); //宸ヤ綅2 宸ヤ綔鍙�
+//            vo.setStaNo(String.valueOf(rgvProtocol.getRgvPosDestination())); //灏忚溅鐩爣绔�
+//            vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc);   //  妯″紡鐘舵��
+//
+//        }
+//        return R.ok().add(list);
+//    }
 
     @PostMapping("/output/site")
     @ManagerAuth(memo = "RGV鎶ユ枃鏃ュ織杈撳嚭")
@@ -162,175 +187,196 @@
         return R.ok().add(str.toString());
     }
 
-    /****************************************************************/
-    /************************** 鎵嬪姩鎿嶄綔 ******************************/
-    /****************************************************************/
-
-    @ManagerAuth(memo = "鍙栨斁璐�")
-    @PostMapping("/operator/put")
-    public R rgvFetchPut(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-//        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-//        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
+//    /****************************************************************/
+//    /************************** 鎵嬪姩鎿嶄綔 ******************************/
+//    /****************************************************************/
+//
+//    @ManagerAuth(memo = "鍙栨斁璐�")
+//    @PostMapping("/operator/put")
+//    public R rgvFetchPut(RgvOperatorParam param){
+//        RgvCommand command = new RgvCommand();
+//        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+//        command.setAckFinish1(false);  // 浠诲姟瀹屾垚纭浣�
+//        command.setTaskNo(0); // 宸ヤ綔鍙�
+//        command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
+//        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+////        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
+//        command.setAckFinish2(false);  // 浠诲姟瀹屾垚纭浣�
+//        command.setTaskNo2(0); // 宸ヤ綔鍙�
 //        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
 //        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-//        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
+////        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
+//        command.setCommand(true);
+//
+//        return rgvControl(command)? R.ok(): R.error();
+//    }
 
-        return rgvControl(command)? R.ok(): R.error();
-    }
+//    @ManagerAuth(memo = "鍙栬揣")
+//    @PostMapping("/operator/take")
+//    public R rgvFetch(RgvOperatorParam param){
+//        RgvCommand command = new RgvCommand();
+//        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+//        command.setWrkTaskPri(param.getWorkSta());  //鎵ц宸ヤ綅
+//        command.setTaskNo(Math.toIntExact(param.getWorkNo())); // 宸ヤ綔鍙�
+//        command.setTaskStatus(RgvTaskStatusType.FETCH); // 浠诲姟妯″紡: 鍙栬揣
+//        command.setTargetPosition(Integer.valueOf(param.getStaNo()));  // 鐩爣绔�
+////        command.setTaskMode2(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栨斁璐�
+////        command.setAckFinish1(false);  // 浠诲姟瀹屾垚纭浣�
+////        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+////        command.setAckFinish2(false);  // 浠诲姟瀹屾垚纭浣�
+////        command.setTaskNo2( 0); // 宸ヤ綔鍙�
+////        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
+////        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
+//        command.setCommand(true);
+//
+//        return rgvControl(command)? R.ok(): R.error();
+//    }
 
-    @ManagerAuth(memo = "鍙栬揣")
-    @PostMapping("/operator/take")
-    public R rgvFetch(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栬揣
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
-
-        return rgvControl(command)? R.ok(): R.error();
-    }
-
-    @ManagerAuth(memo = "鏀捐揣")
-    @PostMapping("/operator/stockMove")
-    public R rgvPut(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.PUT); // 浠诲姟妯″紡: 鏀捐揣
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
-
-        return rgvControl(command)? R.ok(): R.error();
-    }
+//    @ManagerAuth(memo = "鏀捐揣")
+//    @PostMapping("/operator/stockMove")
+//    public R rgvPut(RgvOperatorParam param){
+//        RgvCommand command = new RgvCommand();
+//        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+//        command.setWrkTaskPri(param.getWorkSta());  //鎵ц宸ヤ綅
+//        command.setTaskNo(Math.toIntExact(param.getWorkNo())); // 宸ヤ綔鍙�
+//        command.setTaskStatus(RgvTaskStatusType.PUT); // 浠诲姟妯″紡: 鍙栬揣
+//        command.setTargetPosition(Integer.valueOf(param.getStaNo()));  // 鐩爣绔�
+////        command.setAckFinish1(false);  // 浠诲姟瀹屾垚纭浣�
+////        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+////        command.setAckFinish2(false);  // 浠诲姟瀹屾垚纭浣�
+////        command.setTaskNo2( 0); // 宸ヤ綔鍙�
+////        command.setTaskMode2(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栨斁璐�
+////        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
+////        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
+//        command.setCommand(true);
+//
+//        return rgvControl(command)? R.ok(): R.error();
+//    }
 
 
 
-    @ManagerAuth(memo = "浠诲姟瀹屾垚")
-    @PostMapping("/operator/taskComplete")
-    public R rgvTaskComplete(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 1);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo1((short) 0); // 婧愮珯
-        command.setDestinationStaNo1((short) 0);  // 鐩爣绔�
-        command.setAckFinish2((short) 1);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo2((short) 0); // 婧愮珯
-        command.setDestinationStaNo2((short) 0);  // 鐩爣绔�
-        command.setCommand((short) 0);
+//    @ManagerAuth(memo = "浠诲姟瀹屾垚")
+//    @PostMapping("/operator/taskComplete")
+//    public R rgvTaskComplete(RgvOperatorParam param){
+//        RgvCommand command = new RgvCommand();
+//        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+//        command.setAckFinish1(true);  // 浠诲姟瀹屾垚纭浣�
+////        command.setTaskNo1(0); // 宸ヤ綔鍙�
+//        command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
+//        command.setSourceStaNo1((short) 0); // 婧愮珯
+//        command.setDestinationStaNo1((short) 0);  // 鐩爣绔�
+//        command.setAckFinish2(true);  // 浠诲姟瀹屾垚纭浣�
+//        command.setTaskNo2( 0); // 宸ヤ綔鍙�
+//        command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
+//        command.setSourceStaNo2((short) 0); // 婧愮珯
+//        command.setDestinationStaNo2((short) 0);  // 鐩爣绔�
+//        command.setCommand(true);
+//
+//        return rgvControl(command)? R.ok(): R.error();
+//    }
 
-        return rgvControl(command)? R.ok(): R.error();
-    }
+//    @ManagerAuth(memo = "娓呴櫎鍛戒护")
+//    @PostMapping("/operator/clearCommand")
+//    public R rgvClearCommand(RgvOperatorParam param){
+//        if (param.getRgvNo() == null) {
+//            throw new CoolException("璇烽�夋嫨RGV鍙�");
+//        }
+//        RgvCommand command = new RgvCommand();
+//        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+//        command.setWrkTaskPri(0);  //鎵ц宸ヤ綅
+//        command.setTaskNo(Math.toIntExact(0)); // 宸ヤ綔鍙�
+//        command.setTaskStatus((short)0); // 浠诲姟妯″紡: 鍙栬揣
+//        command.setTargetPosition(0);  // 鐩爣绔�
+//
+//        return rgvClear(command)? R.ok(): R.error();
+//    }
 
-    @ManagerAuth(memo = "娓呴櫎鍛戒护")
-    @PostMapping("/operator/clearCommand")
-    public R rgvClearCommand(RgvOperatorParam param){
-        if (param.getRgvNo() == null) {
-            throw new CoolException("璇烽�夋嫨RGV鍙�");
-        }
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo1((short) 0); // 婧愮珯
-        command.setDestinationStaNo1((short) 0);  // 鐩爣绔�
-        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo2((short) 0); // 婧愮珯
-        command.setDestinationStaNo2((short) 0);  // 鐩爣绔�
-        command.setCommand((short) 0);
-
-        return rgvControl(command)? R.ok(): R.error();
-    }
-
-    @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
-    @PostMapping("/operator/handleReset")
-    public R handleReset(RgvOperatorParam param) throws Exception {
-        if (param.getRgvNo() == null) {
-            throw new CoolException("璇烽�夋嫨RGV");
-        }
-        // 鑾峰彇RGV缂撳瓨
-        for (RgvSlave rgv : slaveProperties.getRgv()) {
-            // 鑾峰彇RGV淇℃伅
-            if (param.getRgvNo().equals(rgv.getId())) {
-                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
-                if (rgvThread == null) {
-                    throw new CoolException("RGV涓嶅湪绾�");
-                }
-                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-                if (rgvProtocol == null) {
-                    throw new CoolException("RGV涓嶅湪绾�");
-                }
-                RgvCommand Command = new RgvCommand();
-                Command.setRgvNo(rgv.getId()); // RGV缂栧彿
-                Command.setTaskMode1(RgvTaskModeType.NONE);
-                Command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-                Command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-                Command.setCommand((short) 0);  // 浠诲姟瀹屾垚纭浣�
-                // 寤舵椂鍙戦��
-                Thread.sleep(1000L);
-                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, Command))) {
-                    return R.ok();
-                } else {
-                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
-                }
-
-            }
-        }
-        return R.error();
-    }
-
-    private boolean rgvControl(RgvCommand command){
-        if (command.getRgvNo() == null) {
-            throw new CoolException("璇烽�夋嫨RGV");
-        }
-        for (RgvSlave rgv : slaveProperties.getRgv()) {
-            // 鑾峰彇RGV淇℃伅
-            if (command.getRgvNo().equals(rgv.getId())) {
-                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
-                if (rgvThread == null) {
-                    throw new CoolException("RGV涓嶅湪绾�");
-                }
-                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-                if (rgvProtocol == null) {
-                    throw new CoolException("RGV涓嶅湪绾�");
-                }
-                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, command))) {
-                    return true;
-                } else {
-                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
-                }
-            }
-        }
-        return false;
-    }
+//    @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
+//    @PostMapping("/operator/handleReset")
+//    public R handleReset(RgvOperatorParam param) throws Exception {
+//        if (param.getRgvNo() == null) {
+//            throw new CoolException("璇烽�夋嫨RGV");
+//        }
+//        // 鑾峰彇RGV缂撳瓨
+//        for (RgvSlave rgv : slaveProperties.getRgv()) {
+//            // 鑾峰彇RGV淇℃伅
+//            if (param.getRgvNo().equals(rgv.getId())) {
+//                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+//                if (rgvThread == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//                if (rgvProtocol == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                RgvCommand Command = new RgvCommand();
+//                Command.setRgvNo(rgv.getId()); // RGV缂栧彿
+//                Command.setTaskMode1(RgvTaskModeType.NONE);
+//                Command.setAckFinish1(true);  // 浠诲姟瀹屾垚纭浣�
+//                Command.setAckFinish2(true);  // 浠诲姟瀹屾垚纭浣�
+//                Command.setCommand(true);  // 浠诲姟瀹屾垚纭浣�
+//                // 寤舵椂鍙戦��
+//                Thread.sleep(1000L);
+//                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, Command))) {
+//                    return R.ok();
+//                } else {
+//                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+//                }
+//
+//            }
+//        }
+//        return R.error();
+//    }
+//
+//    private boolean rgvControl(RgvCommand command){
+//        if (command.getRgvNo() == null) {
+//            throw new CoolException("璇烽�夋嫨RGV");
+//        }
+//        for (RgvSlave rgv : slaveProperties.getRgv()) {
+//            // 鑾峰彇RGV淇℃伅
+//            if (command.getRgvNo().equals(rgv.getId())) {
+//                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+//                if (rgvThread == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//                if (rgvProtocol == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) {
+//                    return true;
+//                } else {
+//                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+//                }
+//            }
+//        }
+//        return false;
+//    }
+//
+//    private boolean rgvClear(RgvCommand command){
+//        if (command.getRgvNo() == null) {
+//            throw new CoolException("璇烽�夋嫨RGV");
+//        }
+//        for (RgvSlave rgv : slaveProperties.getRgv()) {
+//            // 鑾峰彇RGV淇℃伅
+//            if (command.getRgvNo().equals(rgv.getId())) {
+//                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+//                if (rgvThread == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//                if (rgvProtocol == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(3, command))) {
+//                    return true;
+//                } else {
+//                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+//                }
+//            }
+//        }
+//        return false;
+//
+//    }
 
 }
\ No newline at end of file

--
Gitblit v1.9.1