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