From 52a57d1a6cd61009304656db35e50d4b9dbbda03 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期二, 01 七月 2025 11:16:40 +0800
Subject: [PATCH] #改造

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

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 759e453..13e0f36 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -2,9 +2,12 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.asrs.domain.param.RingThroughParam;
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.service.BasDevpPositionService;
+import com.zy.core.cache.RgvErrCache;
 import com.zy.core.cache.RgvStatusCache;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.cache.TaskProtocolCache;
@@ -46,6 +49,7 @@
             map2.put("rgvPos", rgvProtocol.getRgvPos());
             map2.put("rgvPosDestination", rgvProtocol.getRgvPosDestination());
             map2.put("loaded", rgvProtocol.getLoaded().equals((short)-1)? "鏈煡":rgvProtocol.getLoaded()==1? "鏈夌墿":"鏃犵墿");
+            map2.put("errorRgv", RgvErrCache.getErrorDev(rgvProtocol.getRgvNo()));
             res.add(map2);
         }
         return R.ok().add(res);
@@ -98,6 +102,23 @@
         return R.ok("浠诲姟娓呯┖鎴愬姛");
     }
 
+    @PostMapping("/run/del2")//Take  Put  Walk
+    @ManagerAuth(memo = "娓呴櫎浣滀笟鍚姩涓�")
+    public R rgvRunDel2(@RequestParam(defaultValue = "0")  Integer rgvNo
+    ) {
+        if (rgvNo==null || rgvNo==0){
+            return R.error("璇烽�夋嫨灏忚溅");
+        }
+        RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
+        try {
+            rgvThread.setWrkSign();
+        } catch (Exception e) {
+            return R.error("娓呴櫎浣滀笟鍚姩涓け璐�"+e.getMessage());
+        }
+
+        return R.ok("浠诲姟娓呯┖鎴愬姛");
+    }
+
     @PostMapping("/run/walk")//Take  Put  Walk
     @ManagerAuth(memo = "灏忚溅琛岃蛋")
     public R rgvRunWalk(@RequestParam(defaultValue = "0")  Integer rgvNo,
@@ -113,6 +134,9 @@
         }
         if (rgvPosDestination == null || rgvPosDestination == 0){
             BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
+            if (Cools.isEmpty(basDevpPosition)){
+                return R.error("鐩爣绔欑偣涓嶅瓨鍦�");
+            }
             rgvPosDestination = basDevpPosition.getPlcPosition();
         }
         RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
@@ -168,9 +192,14 @@
             }
 
             BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
+            if (Cools.isEmpty(basDevpPosition)){
+                return R.error("鐩爣绔欑偣涓嶅瓨鍦�");
+            }
             //鎵ц
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
+            issuedPut.setTargetPositionStaNo(basDevpPosition.getDevNo());
+            issuedPut.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPosition.getPlcPosition());
             issuedPut.setIsRunning(1);
@@ -208,9 +237,14 @@
             }
 
             BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
+            if (Cools.isEmpty(basDevpPosition)){
+                return R.error("鍙栬揣绔欑偣涓嶅瓨鍦�");
+            }
             //鎵ц
             issuedTake.setTaskNo(Long.valueOf(taskNo));
             issuedTake.setTaskStatus(2);
+            issuedTake.setTargetPositionStaNo(basDevpPosition.getDevNo());
+            issuedTake.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId());
             issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
             issuedTake.setTargetPosition(basDevpPosition.getPlcPosition());
             issuedTake.setIsRunning(1);
@@ -253,18 +287,28 @@
             }
 
             BasDevpPosition basDevpPositionTake = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoTake));
+            if (Cools.isEmpty(basDevpPositionTake)){
+                return R.error("鍙栬揣绔欑偣涓嶅瓨鍦�");
+            }
             //鎵ц
             issuedTake.setTaskNo(Long.valueOf(taskNo));
             issuedTake.setTaskStatus(2);
+            issuedTake.setTargetPositionStaNo(basDevpPositionTake.getDevNo());
+            issuedTake.setTargetPositionStaNoPlcId(basDevpPositionTake.getPlcId());
             issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
             issuedTake.setTargetPosition(basDevpPositionTake.getPlcPosition());
             issuedTake.setIsRunning(1);
             issuedTake.setDirection(basDevpPositionTake.getRgvSign()==1);
 
             BasDevpPosition basDevpPositionPut = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStaNoPut));
+            if (Cools.isEmpty(basDevpPositionPut)){
+                return R.error("鐩爣绔欑偣涓嶅瓨鍦�");
+            }
             //鎵ц
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
+            issuedPut.setTargetPositionStaNo(basDevpPositionPut.getDevNo());
+            issuedPut.setTargetPositionStaNoPlcId(basDevpPositionPut.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPositionPut.getPlcPosition());
             issuedPut.setIsRunning(1);
@@ -279,4 +323,123 @@
 
         return R.ok("浠诲姟鐢熸垚鎴愬姛");
     }
+
+    @PostMapping("/run/delRgvTask")//Take  Put  Walk
+    @ManagerAuth(memo = "灏忚溅鍙栬揣")
+    public R rgvDelRgvTask(@RequestParam(defaultValue = "0") Integer rgvNo
+    ) {
+        if (rgvNo==null || rgvNo==0){
+            return R.error("璇烽�夋嫨灏忚溅");
+        }
+
+        try {
+            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
+            rgvThread.setDelRgvTask();
+        } catch (Exception e) {
+            return R.error("浠诲姟鐢熸垚澶辫触"+e.getMessage());
+        }
+
+        return R.ok("浠诲姟鐢熸垚鎴愬姛");
+    }
+
+
+
+    @PostMapping("/ring/through/rgv/position/data")
+//    @ManagerAuth(memo = "灏忚溅浣嶇疆淇℃伅")
+    public R ringThroughRgv(){
+        List<RingThroughParam> result = new ArrayList<>();
+
+        ConcurrentHashMap<Integer, RgvProtocol> allRgvStatus = RgvStatusCache.getAllRgvStatus();
+        for (RgvProtocol rgvProtocol : allRgvStatus.values()){
+            RingThroughParam ringThroughParam = new RingThroughParam();
+
+            ringThroughParam.setIndex(rgvProtocol.getRgvNo());
+//            ringThroughParam.setIndex(i);
+//            double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
+//            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
+//            double[] doubles = Utils.getRgvPosNew(perimeter, rgvProtocol.RgvPos.doubleValue());
+//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
+
+            ringThroughParam.setValueX(rgvProtocol.getRgvNo()*100*1D);
+            ringThroughParam.setValueY(rgvProtocol.getRgvNo()*100*2D);
+            ringThroughParam.setModeColor(rgvProtocol.modeType.color);
+            ringThroughParam.setStatusColor(rgvProtocol.statusType.color);
+            result.add(ringThroughParam);
+        }
+        return R.ok().add(result);
+    }
+
+    @PostMapping("/ring/through/dev/position/data")
+//    @ManagerAuth(memo = "绔欑偣淇℃伅")
+    //  绔欑偣浣嶇疆淇℃伅
+    public R ringThroughDev(){
+        List<RingThroughParam> result = new ArrayList<>();
+        ArrayList<Integer> arrayList = new ArrayList<Integer>() {{
+            add(1001);
+            add(1002);
+            add(1003);
+            add(1004);
+            add(1005);
+            add(1006);
+            add(1007);
+            add(1008);
+            add(1009);
+            add(1010);
+            add(1011);
+            add(1012);
+            add(1013);
+            add(1014);
+            add(1015);
+            add(1016);
+            add(1017);
+            add(1018);
+            add(1019);
+            add(1020);
+            add(1021);
+            add(1022);
+            add(1023);
+        }};
+        for (Integer staNo : arrayList){
+            RingThroughParam ringThroughParam = new RingThroughParam();
+            ringThroughParam.setIndex(staNo);
+//            double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
+//            ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
+//            ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
+//            double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),perimeter, basDevpPosition.getPlcPosition());
+            ringThroughParam.setValueX(staNo*100*1D);
+            ringThroughParam.setValueY(staNo*100*2D);
+            result.add(ringThroughParam);
+        }
+        return R.ok().add(result);
+    }
+
+    @PostMapping("/ring/through/track/position/data")
+//    @ManagerAuth(memo = "杞ㄩ亾PLC鐘舵�佷俊鎭�")
+    public R wnergyGatheringRingParamTrack(){
+        return R.ok();
+    }
+
+    @PostMapping("/ring/through/task/wrk/mast/position/data")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R ringThroughTaskWrkMast(){
+        return R.ok();
+    }
+
+    @PostMapping("/ring/through/task/wrk/mast/position/data/v1")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R ringThroughTaskWrkMastV1(){
+        return R.ok();
+    }
+
+    @PostMapping("/task/rgv/circular/shuttle/mast/position/data")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R rgvCircularShuttle(){
+        return R.ok();
+    }
+
+    @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R rgvCircularShuttleV1(){
+        return R.ok();
+    }
 }

--
Gitblit v1.9.1