From 383d8a472a03b4fdcc89ae32195cc4b1426b7a82 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 01 十二月 2023 14:43:26 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 47 +++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 24 ++++++++++++
2 files changed, 70 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index aa31c12..1dca808 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -311,6 +311,23 @@
throw new CoolException("鍑哄簱澶辫触锛�"+th);
}
+ //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜**************
+ HashMap<String, Object> tmpMap = new HashMap<>();
+ if (staNo.getDevNo() == 325 || staNo.getDevNo() == 331 || staNo.getDevNo() == 333 || staNo.getDevNo() == 339) {
+ int[] data = {325,331,333,339};
+ for (String locNo : locNos) {
+ List<String> groupOuterLoc = Utils.getGroupDeepLoc(locNo);
+ if (groupOuterLoc.isEmpty()) {
+ continue;
+ }
+ int index = 0;
+ for (String loc : groupOuterLoc) {
+ tmpMap.put(loc, data[index++]);
+ }
+ }
+ }
+ //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜**************
+
Integer ioType = null;
List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList());
// 鐢熸垚宸ヤ綔妗�
@@ -344,6 +361,13 @@
if (stnNo == 325 || stnNo == 331 || stnNo == 333 || stnNo == 339) {
stnNo = staDesc.getCrnStn();
sourceStaNo = staDesc.getStnNo();
+
+ //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜**************
+ Object autoStnNo = tmpMap.get(dto.getLocNo());//鑾峰彇绯荤粺鑷姩鍒嗛厤绔欑偣
+ if (autoStnNo != null) {
+ stnNo = Integer.parseInt(autoStnNo.toString());
+ }
+ //**************325銆�331銆�333銆�339绔欑偣棰濆閫昏緫浠g爜**************
}
int lev = Utils.getLev(dto.getLocNo());
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index f4ca8db..2050e35 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -256,7 +256,52 @@
}
public static void main(String[] args) {
- System.out.println(JSON.toJSONString(getGroupLoc("1305908")));
+ System.out.println(JSON.toJSONString(getGroupDeepLoc("1505908")));
+ }
+
+ /**
+ * 鑾峰彇娣辨祬搴撲綅缁�
+ * @param locNo 搴撲綅鍙�
+ * @return
+ */
+ public static List<String> getGroupDeepLoc(String locNo){
+ int row = getRow(locNo);
+ int bay = getBay(locNo);
+
+ //(1,3,4,10,11)娌℃湁澶栦晶鏂瑰悜搴撲綅缁�,(13,14,16)59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {//1鎺�
+ return new ArrayList<>();
+ }
+ if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {//3-4鎺�
+ return new ArrayList<>();
+ }
+ if (CommonService.THIRD_GROUP_ROW_LIST.contains(row)) {//6-7鎺�
+ List<String> result = new ArrayList<>();
+ for (Integer row0 : CommonService.THIRD_GROUP_ROW_LIST) {
+ result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+ }
+ return result;
+ }
+ if (CommonService.FOURTH_GROUP_ROW_LIST.contains(row)) {//8鎺�
+ return new ArrayList<>();
+ }
+ if (CommonService.FIFTH_GROUP_ROW_LIST.contains(row)) {//10-11鎺�
+ return new ArrayList<>();
+ }
+ if (CommonService.SIXTH_GROUP_ROW_LIST.contains(row) && (bay >= 59 && bay <= 61)) {//13-16鎺�59-61鍒楀渚ф柟鍚戝簱浣嶇粍
+ List<String> result = new ArrayList<>();
+ for (Integer row0 : CommonService.SIXTH_GROUP_ROW_LIST) {
+ result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2));
+ }
+ return result;
+ }
+ if (CommonService.SEVENTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//13-14鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ return new ArrayList<>();
+ }
+ if (CommonService.EIGHTH_GROUP_ROW_LIST.contains(row) && bay < 59) {//16鎺�59鍒椾箣鍐呮病鏈夊渚ф柟鍚戝簱浣嶇粍
+ return new ArrayList<>();
+ }
+ throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
}
/**
--
Gitblit v1.9.1