From 1dca57c0f15c3cdfbebf14ad1e9e04d8c84e775c Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期六, 07 三月 2026 09:51:47 +0800
Subject: [PATCH] no message
---
src/main/java/com/zy/common/service/CommonService.java | 163 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 98 insertions(+), 65 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 45d8fbf..9970cfb 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -127,12 +127,13 @@
// /**
// * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡
// */
- if (rowLastnoType.getType() == 3) {
- return getDoubleLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo,
- 4, locTypeDto, 0);
- } else {
- return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0);
- }
+// if (rowLastnoType.getType() == 3) {
+// return getDoubleLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo,
+// 4, locTypeDto, 0);
+// } else {
+//
+// }
+ return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0);
} catch (Exception e) {
log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo);
}
@@ -152,7 +153,7 @@
* @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
*/
@Transactional
- public StartupDto getLocNoRun(Integer staDescId, Integer whsType, Integer sourceStaNo,
+ public StartupDto getLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo,
FindLocNoAttributeVo findLocNoAttributeVo, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
staDescId = 1;
// 鍒濆鍖栧弬鏁�
@@ -165,28 +166,60 @@
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�===>搴撲綅瑙勫垯鏈煡");
}
- // 鍧囪 鍒嗗竷鍫嗗灈鏈�
int minCount = Integer.MAX_VALUE;
- for (int i = rowLastno.getsCrnNo(); i <= rowLastno.geteCrnNo(); i++) {
- int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", i));
- if (count < minCount) {
- minCount = count;
- crnNo = i;
+ if (whsType == 2) {
+ if (locTypeDto.getLocType1() == 2) {
+ // 鍧囪 鍒嗗竷鍫嗗灈鏈�
+ for (int i = 4; i <= 5; i++) {
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", i));
+ if (count < minCount) {
+ minCount = count;
+ crnNo = i;
+ }
+ }
+ } else {
+ for (int i = 4; i <= 6; i++) {
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", i));
+ if (count < minCount) {
+ minCount = count;
+ crnNo = 6;
+ }
+ }
+
+ if (crnNo == 6) {
+ return getDoubleLocNoRun(3, 1, sourceStaNo, findLocNoAttributeVo, null, locTypeDto, times);
+ }
+ }
+ } else {
+ // 鍧囪 鍒嗗竷鍫嗗灈鏈�
+ for (int i = rowLastno.getsCrnNo(); i <= rowLastno.geteCrnNo(); i++) {
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", i));
+ if (count < minCount) {
+ minCount = count;
+ crnNo = i;
+ }
}
}
+
StartupDto startupDto = new StartupDto();
locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
.ge("row1", rowLastno.getsRow())
.le("row1", rowLastno.geteRow())
.eq("crn_no", crnNo)
-// .eq("move_status", 0)
+ .eq("loc_type1", locTypeDto.getLocType1())
.eq("loc_sts", "O")
.orderAsc(Arrays.asList("lev1", "row1", "bay1")));
// int crnCountO = wrkMastService.selectCount(new
// EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
-
// 鐢熸垚宸ヤ綔鍙�
- int workNo = getWorkNo(0);
+ int workNo;
+ if (whsType == 2) {
+ // 鐢熸垚宸ヤ綔鍙�
+ workNo = getWorkNo(3);
+ } else {
+ // 鐢熸垚宸ヤ綔鍙�
+ workNo = getWorkNo(0);
+ }
// 杩斿洖dto
startupDto.setWorkNo(workNo);
startupDto.setCrnNo(locMast.getCrnNo());
@@ -210,9 +243,9 @@
*/
public StartupDto getDoubleLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo, FindLocNoAttributeVo findLocNoAttributeVo, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
// 鍒濆鍖栧弬鏁�
- int crnNo = 0; //鍫嗗灈鏈哄彿
- int nearRow = 0; //鏈�娴呭簱浣嶆帓
- int curRow = 0; //鏈�娣卞簱浣嶆帓
+ int crnNo = 6; //鍫嗗灈鏈哄彿
+ int nearRow = 11; //鏈�娴呭簱浣嶆帓
+ int curRow = 14; //鏈�娣卞簱浣嶆帓
int rowCount = 0; //杞杞
LocMast locMast = null; // 鐩爣搴撲綅
@@ -242,28 +275,28 @@
}
}
- //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
- for (int i = times; i < crnNumber * 2; i++) {
- int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber);
- curRow = locNecessaryParameters[1];
- crnNo = locNecessaryParameters[2];
- if (basCrnpService.checkSiteError(crnNo, true)) {
- rowCount = locNecessaryParameters[0];
- nearRow = locNecessaryParameters[3];
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
- int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
- if (locMasts.size() - crnCountO <= 2) {
- log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
- nearRow = 0;
- times++;
- continue;
- }
- break;
- } else {
- times++;
- }
- }
+// //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
+// for (int i = times; i < crnNumber * 2; i++) {
+// int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber);
+// curRow = locNecessaryParameters[1];
+// crnNo = locNecessaryParameters[2];
+// if (basCrnpService.checkSiteError(crnNo, true)) {
+// rowCount = locNecessaryParameters[0];
+// nearRow = locNecessaryParameters[3];
+// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+// .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
+// int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
+// if (locMasts.size() - crnCountO <= 2) {
+// log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
+// nearRow = 0;
+// times++;
+// continue;
+// }
+// break;
+// } else {
+// times++;
+// }
+// }
if (nearRow == 0) {
throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
}
@@ -290,7 +323,7 @@
if (signRule1) {
if (nearRow != curRow) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("row1", nearRow).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("row1", nearRow).eq("loc_sts", "O").eq("crn_no", crnNo));
for (LocMast locMast1 : locMasts) {
//鑾峰彇宸烽亾
// List<String> groupOutsideLocCrn = Utils.getGroupOutLocCrn(curRow,nearRow,locMast1.getLocNo(), curRow>nearRow);
@@ -407,27 +440,27 @@
if (Cools.isEmpty(locMast) && crnNo != 0) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("row1", nearRow)
- .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
+ .eq("loc_sts", "O").eq("crn_no", crnNo)
.orderBy("lev1", true).orderBy("bay1", true));
- for (LocMast locMast1 : locMasts) {
- if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
- continue;
- }
- if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
- String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
- LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
- if (!Cools.isEmpty(locMast2)) {
- locMast = locMast2;
- break;
- }
- } else {
- if (!Cools.isEmpty(locMast1)) {
- locMast = locMast1;
- break;
- }
- }
- }
+// for (LocMast locMast1 : locMasts) {
+// if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+// continue;
+// }
+// if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
+// String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+// .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("crn_no", crnNo));
+// if (!Cools.isEmpty(locMast2)) {
+// locMast = locMast2;
+// break;
+// }
+// } else {
+// if (!Cools.isEmpty(locMast1)) {
+// locMast = locMast1;
+// break;
+// }
+// }
+// }
if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(rowLastno)) {
for (LocMast locMast1 : locMasts) {
@@ -437,19 +470,19 @@
if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("crn_no", crnNo));
if (!Cools.isEmpty(locMast2)) {
locMast = locMast2;
break;
} else {
locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", shallowLoc).eq("loc_sts", "F").eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("loc_no", shallowLoc).eq("loc_sts", "F").eq("crn_no", crnNo));
if (!Cools.isEmpty(locMast2)) {
locMast = locMast1;
break;
} else {
locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", shallowLoc).eq("loc_sts", "D").eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("loc_no", shallowLoc).eq("loc_sts", "D").eq("crn_no", crnNo));
if (!Cools.isEmpty(locMast2)) {
locMast = locMast1;
break;
--
Gitblit v1.9.1