From c55724c0af4cb66443b747c6567f16d0b878bce5 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 23 十月 2024 14:59:10 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/controller/RgvController.java           |   10 +++++++---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java       |    8 ++++++--
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java       |    6 +++++-
 src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java |   20 ++++++++++----------
 4 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 55af7b0..84e96c6 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -33,6 +33,7 @@
 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.RestController;
@@ -66,6 +67,9 @@
     private BasDevpPositionService basDevpPositionService;
     @Autowired
     private BasCircularShuttleService basCircularShuttleService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
 
     @PostMapping("/table/rgv/state")
     @ManagerAuth(memo = "RGV淇℃伅琛�")
@@ -347,8 +351,8 @@
 
             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.RingThroughXY2(183.0, 100*i );
 
             ringThroughParam.setValueX(doubles[0]-2.94);
@@ -368,7 +372,7 @@
         for (BasDevpPosition basDevpPosition : basDevpPositions){
             RingThroughParam ringThroughParam = new RingThroughParam();
             ringThroughParam.setIndex(basDevpPosition.getDevNo());
-            double[] doubles = Utils.RingThroughXYSta(1737000.0, 1737000.0-basDevpPosition.getPlcPosition());
+            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);
             result.add(ringThroughParam);
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 d8f1040..3a2bf7e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -21,6 +21,7 @@
 import com.zy.core.thread.RgvThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -47,6 +48,9 @@
     private BasCircularShuttleService basCircularShuttleService;
     @Autowired
     private WrkMastService wrkMastService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
     /**
      * 绔欑偣浠诲姟妫�娴�  鏇存柊灏忚溅浣嶇疆淇℃伅
      */
@@ -86,7 +90,7 @@
                 rgvPosition.add(rgvProtocol.getRgvPos());
                 rgvPositionList.add(rgvPosition);
             }
-            Integer rgvNo = SortTheExecutionOfTheCarUtil.LatelyAndGreaterThan(rgvPositionList, sitePosition);
+            Integer rgvNo = SortTheExecutionOfTheCarUtil.LatelyAndGreaterThan(rgvPositionList, sitePosition,perimeter);
 
             List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().orderBy("rgv_id", true));
             if (basCircularShuttleList.get(0).getRgvNo().equals(rgvNo)){
@@ -186,7 +190,7 @@
                 return;
             }
             List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position",false));
-            Integer devNo = SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPositions, rgvProtocol.getRgvPos());
+            Integer devNo = SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPositions, rgvProtocol.getRgvPos(),perimeter);
             BasDevpPosition[] basDevpPositionsList = SortTheExecutionOfTheCarUtil.devpNoSort(basDevpPositions, devNo);
             BasDevpPosition[] basDevpPositionsListUN = SortTheExecutionOfTheCarUtil.devpNoSortUN(basDevpPositionsList);
             List<List<WrkMast>> wrkMastLists = getWrkMastLists(basDevpPositionsListUN);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 141a91f..5249ea2 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -23,6 +23,7 @@
 import com.zy.core.thread.RgvThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -44,6 +45,9 @@
     private WrkMastService wrkMastService;
     @Autowired
     private BasDevpPositionService basDevpPositionService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
 
     @Override
     @Transactional
@@ -93,7 +97,7 @@
                 wcsRgvListParam.setRgvNo(rgv.getId().toString());
                 wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString());
                 wcsRgvListParam.setStatus(rgvProtocol.statusType.desc);
-                wcsRgvListParam.setCurrSta(SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions,rgvProtocol.getRgvPos()).toString());
+                wcsRgvListParam.setCurrSta(SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions,rgvProtocol.getRgvPos(),perimeter).toString());
                 List<String> arrayList = new ArrayList<>();
                 if (rgvProtocol.getAlarm()!=0){
                     arrayList.add(rgvProtocol.getAlarm$());
diff --git a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
index 1a45689..93fbbfa 100644
--- a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
+++ b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
@@ -30,9 +30,9 @@
     }
 
     //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆
-    public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition){
+    public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
         Integer result = 0;
-        long Difference = 1737000L;
+        long Difference = perimeter;
         for (BasDevpPosition positions : devpPosition){
             Long position = positions.getPlcPosition();
             if (position<=nowPosition){
@@ -41,8 +41,8 @@
                     result = positions.getDevNo();
                 }
             } else {
-                if ((nowPosition-(position - 1737000L)) < Difference){
-                    Difference = nowPosition-(position - 1737000L);
+                if ((nowPosition-(position - perimeter)) < Difference){
+                    Difference = nowPosition-(position - perimeter);
                     result = positions.getDevNo();
                 }
             }
@@ -51,9 +51,9 @@
     }
 
     //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆
-    public static Integer LatelyAndLessThanWcs(List<BasDevpPosition> devpPosition, long nowPosition){
+    public static Integer LatelyAndLessThanWcs(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
         Integer result = 0;
-        Integer integer = LatelyAndLessThan(devpPosition, nowPosition);
+        Integer integer = LatelyAndLessThan(devpPosition, nowPosition,perimeter);
         for (BasDevpPosition basDevpPosition:devpPosition){
             if (basDevpPosition.getDevNo().equals(integer)){
                 if (basDevpPosition.getDevNo() == 101){
@@ -86,9 +86,9 @@
 //    }
 
     //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆
-    public static Integer LatelyAndGreaterThan(List<List<Long>> sitePosition, long nowPosition){
+    public static Integer LatelyAndGreaterThan(List<List<Long>> sitePosition, long nowPosition ,long perimeter){
         int result = 0;
-        long Difference = 1737000L;
+        long Difference = perimeter;
         for (List<Long> rgvPositions: sitePosition){
             Long position = rgvPositions.get(1);
             if (position>nowPosition){
@@ -97,8 +97,8 @@
                     result = rgvPositions.get(0).intValue();
                 }
             } else {
-                if ((1737000L - (nowPosition - position)) < Difference){
-                    Difference = 1737000L - (nowPosition - position);
+                if ((perimeter - (nowPosition - position)) < Difference){
+                    Difference = perimeter - (nowPosition - position);
                     result = rgvPositions.get(0).intValue();
                 }
             }

--
Gitblit v1.9.1