From c9b270dae703ee077a4e41013d7662c5e61afd29 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 26 五月 2025 23:02:15 +0800
Subject: [PATCH] #ZH

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

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 033d277..2bc391d 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -6,13 +6,11 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.RgvStatusType;
-import com.zy.asrs.domain.param.EnergyGatheringRingParam;
-import com.zy.asrs.domain.param.RgvOperatorParam;
-import com.zy.asrs.domain.param.RgvWrkMastParam;
-import com.zy.asrs.domain.param.RingThroughParam;
+import com.zy.asrs.domain.param.*;
 import com.zy.asrs.domain.vo.*;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.service.BasCircularShuttleService;
 import com.zy.asrs.service.BasDevpPositionService;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.WrkMastService;
@@ -35,15 +33,14 @@
 import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.rmi.CORBA.Util;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * RGV鎺ュ彛
@@ -66,6 +63,11 @@
     private MainServiceImpl mainService;
     @Autowired
     private BasDevpPositionService basDevpPositionService;
+    @Autowired
+    private BasCircularShuttleService basCircularShuttleService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
 
     @PostMapping("/table/rgv/state")
     @ManagerAuth(memo = "RGV淇℃伅琛�")
@@ -347,8 +349,9 @@
 
             ringThroughParam.setIndex(rgv.getId());
 //            ringThroughParam.setIndex(i);
-//            double[] doubles = Utils.RingThroughXY2(1737000.0, NumUtils.GetRandomIntInRange(183));
-            double[] doubles = Utils.RingThroughXYRgv(1737000.0, 1737000.0-rgvProtocol.RgvPos.doubleValue());
+//            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(doubles[0]-2.94);
@@ -362,15 +365,22 @@
 
     @PostMapping("/ring/through/dev/position/data")
 //    @ManagerAuth(memo = "绔欑偣淇℃伅")
+    //  绔欑偣浣嶇疆淇℃伅
     public R ringThroughDev(){
         List<RingThroughParam> result = new ArrayList<>();
         List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
         for (BasDevpPosition basDevpPosition : basDevpPositions){
+            if (basDevpPosition.getDevNo() == 134){
+                continue;
+            }
             RingThroughParam ringThroughParam = new RingThroughParam();
             ringThroughParam.setIndex(basDevpPosition.getDevNo());
-            double[] doubles = Utils.RingThroughXYSta(1737000.0, 1737000.0-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.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(doubles[0]);
+            ringThroughParam.setValueY(doubles[1]);
             result.add(ringThroughParam);
         }
         return R.ok().add(result);
@@ -416,7 +426,7 @@
     }
 
     @PostMapping("/ring/through/task/wrk/mast/position/data")
-//    @ManagerAuth(memo = "绔欑偣淇℃伅")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
     public R ringThroughTaskWrkMast(){
         List<RgvWrkMastParam> result = new ArrayList<>();
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>());
@@ -442,4 +452,55 @@
         return R.ok().add(result);
     }
 
+    @PostMapping("/task/rgv/circular/shuttle/mast/position/data")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R rgvCircularShuttle(){
+        List<RgvCircularShuttleParam> result = new ArrayList<>();
+        List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<>());
+        for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){
+            RgvCircularShuttleParam rgvCircularShuttleParam = new RgvCircularShuttleParam(basCircularShuttle);
+            if (!Cools.isEmpty(rgvCircularShuttleParam.getRgvNo())){
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvCircularShuttleParam.getRgvNo());
+                if (rgvThread != null) {
+                    RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                    if (rgvProtocol != null) {
+                        rgvCircularShuttleParam.setPosition(rgvProtocol.getRgvPos());
+                        if (rgvCircularShuttleParam.getStatus()==0){
+                            rgvCircularShuttleParam.setStatus$(rgvProtocol.statusType.desc);
+                        }
+                    }
+                }
+            }
+            result.add(rgvCircularShuttleParam);
+        }
+        return R.ok().add(result);
+    }
+
+
+    @PostMapping("/disable/rgv/status")
+//    @ManagerAuth(memo = "淇敼RGV鐘舵��")
+    public R rgvDisableStatus(@RequestParam Integer rgvNo,
+                              @RequestParam Integer status){
+        log.info("/disable/rgv/status===銆嬩慨鏀筊GV鐘舵�侊紒锛侊紒rgvNo:{},status:{},data:{}",rgvNo,status,new Date());
+        BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no", rgvNo));
+        if (basCircularShuttle == null){
+            return R.error().add("鏈壘鍒版RGV锛屽紓甯革紒锛侊紒");
+        }
+        basCircularShuttle.setStatus(status);
+        basCircularShuttleService.updateById(basCircularShuttle);
+        return R.ok();
+    }
+
+    @PostMapping("/disable/task/delete")
+//    @ManagerAuth(memo = "鍒犻櫎浠诲姟")
+    public R taskDisabledelete(@RequestParam Long wrkNo){
+        log.info("/disable/task/delete===銆嬪垹闄や换鍔★紒锛侊紒wrkNo:{},data:{}",wrkNo,new Date());
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
+        if (Cools.isEmpty(wrkMast)){
+            return R.error().add("鏈壘鍒版浠诲姟锛屽紓甯革紒锛侊紒");
+        }
+        wrkMastService.deleteById(wrkMast);
+        return R.ok();
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1