src/main/java/com/zy/asrs/controller/RgvController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); 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); 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$()); 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(); } }