From b500cbc2e1c0d921554b906c75725e576dd94237 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 15 二月 2023 16:49:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 199 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 152 insertions(+), 47 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 813d3db..f92cbe4 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -98,6 +98,33 @@
@Transactional
public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) {
// whsType = getWhsType(sourceStaNo, times);
+ switch (sourceStaNo){
+ case 101:
+ case 109:
+ case 117:
+ whsType=1; //1-8璐ф灦
+ slaveProperties.setDoubleDeep(false);
+ slaveProperties.setGroupCount(2);
+ break;
+ case 201:
+ slaveProperties.setDoubleDeep(true);
+ slaveProperties.setGroupCount(4);
+ whsType=2; //9-12璐ф灦
+ break;
+ case 207:
+ whsType=3; //13-14璐ф灦
+ slaveProperties.setDoubleDeep(false);
+ slaveProperties.setGroupCount(2);
+ break;
+ case 213:
+ slaveProperties.setDoubleDeep(true);
+ slaveProperties.setGroupCount(4);
+ whsType=4; //15-18璐ф灦
+ break;
+ default:
+ throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
+ }
+
StartupDto startupDto = new StartupDto();
@@ -163,27 +190,46 @@
}
// 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
- if (null == locMast) {
- Shelves shelves = new Shelves(rowCount, crn_qty);
- int divides = (int) Arith.divides(1, curRow - 1, 4);
- curRow = (int) Arith.remainder(curRow, 4);
- if (curRow == 0) {
- curRow = 4;
+ if (null == locMast){
+ curRow = getCurRow(curRow);
+ if (curRow == 0){
+ crnNo = 0;
+ }else if( curRow <= 8 && curRow > 0){
+ crnNo=(curRow+1)/2;
+ }else if (curRow <= 12 && curRow >= 9){
+ crnNo=5;
+ }else if (curRow <= 14 && curRow >= 13){
+ crnNo=6;
+ }else if (curRow <= 18 && curRow >= 15){
+ crnNo=7;
}
- for (int i = 0; i < shelves.group; i ++) {
- curRow = shelves.start(curRow);
- if (curRow < 0) {
- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
- }
- Integer crnNo1 = shelves.get(curRow);
- crnNo1 = crnNo1 + divides*1;
- if (basCrnpService.checkSiteError(crnNo1, true)) {
- crnNo = crnNo1;
- curRow = curRow + divides*4;
- break;
- }
+ if (curRow!=0 && !basCrnpService.checkSiteError(crnNo, true)) {
+ crnNo = 0;
}
}
+
+// // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
+// if (null == locMast) {
+// Shelves shelves = new Shelves(rowCount, crn_qty);
+// int divides = (int) Arith.divides(1, curRow - 1, 4);
+// curRow = (int) Arith.remainder(curRow, 4);
+// if (curRow == 0) {
+// curRow = 4;
+// }
+// for (int i = 0; i < shelves.group; i ++) {
+// curRow = shelves.start(curRow);
+// if (curRow < 0) {
+// throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
+// }
+// Integer crnNo1 = shelves.get(curRow);
+// crnNo1 = crnNo1 + divides*1;
+// if (basCrnpService.checkSiteError(crnNo1, true)) {
+// crnNo = crnNo1;
+// curRow = curRow + divides*4;
+// break;
+// }
+// }
+// }
if (crnNo == 0) {
throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
@@ -242,6 +288,46 @@
}
}
}
+ //20230203娣诲姞 lfd鏂欑搴撴牴鎹緭閫佺嚎绛涢�夊叆搴�
+ if (!Cools.isEmpty(locMast) && locMast.getCrnNo()<5){
+ int wrkMastsC0 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", locMast.getCrnNo()).eq("io_type",1));
+ if (wrkMastsC0>3 && times < rowCount){
+ BasCrnp basCrnp1 = basCrnpService.selectById(1);
+ if (basCrnp1.getInEnable().equals("Y") && basCrnp1.getCrnSts().equals(3)){
+ int wrkMastsC1 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 1).eq("io_type",1));
+ if (wrkMastsC0>wrkMastsC1){
+ locMast=null;
+ }
+ }
+ if (!Cools.isEmpty(locMast)){
+ BasCrnp basCrnp2 = basCrnpService.selectById(2);
+ if (basCrnp2.getInEnable().equals("Y") && basCrnp2.getCrnSts().equals(3)){
+ int wrkMastsC2 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 2).eq("io_type",1));
+ if (wrkMastsC0>wrkMastsC2){
+ locMast=null;
+ }
+ }
+ }
+ if (!Cools.isEmpty(locMast)){
+ BasCrnp basCrnp3 = basCrnpService.selectById(3);
+ if (basCrnp3.getInEnable().equals("Y") && basCrnp3.getCrnSts().equals(3)){
+ int wrkMastsC3 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 3).eq("io_type",1));
+ if (wrkMastsC0>wrkMastsC3){
+ locMast=null;
+ }
+ }
+ }
+ if (!Cools.isEmpty(locMast)){
+ BasCrnp basCrnp4 = basCrnpService.selectById(4);
+ if (basCrnp4.getInEnable().equals("Y") && basCrnp4.getCrnSts().equals(3)){
+ int wrkMastsC4 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 4).eq("io_type",1));
+ if (wrkMastsC0>wrkMastsC4){
+ locMast=null;
+ }
+ }
+ }
+ }
+ }
// 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
if (Cools.isEmpty(locMast)) {
@@ -290,35 +376,54 @@
/**
* 鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰�
*/
- private Integer getWhsType(Integer sourceStaNo, int times) {
- if (times >= 16) {
- return 4;
+ private Integer getCurRow(Integer curRow) {
+ boolean sign=false;
+ int count=0;
+ while (!sign){
+ count=count+1;
+ if (count==5){
+ return 0;
+ }
+ switch (curRow){
+ case 1:
+ case 3:
+ case 5:
+ case 2:
+ case 4:
+ case 6:
+ curRow=curRow+2;
+ break;
+ case 7:
+ curRow=2;
+ break;
+ case 8:
+ curRow=1;
+ break;
+ case 13:
+ return 14;
+ case 14:
+ return 13;
+ case 9:
+ return 12;
+ case 10:
+ return 11;
+ case 11:
+ return 9;
+ case 12:
+ return 10;
+ case 15:
+ return 18;
+ case 16:
+ return 17;
+ case 17:
+ return 15;
+ case 18:
+ return 16;
+ default:
+ throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細"+curRow);
+ }
+ sign = basCrnpService.checkSiteError((curRow+1)/2, true);
}
- switch (sourceStaNo) {
- case 173:
- case 176:
- case 180:
- case 185:
- return 1;
- case 189:
- case 194:
- case 198:
- case 202:
- return 2;
- case 206:
-// case 211:
-// case 215:
-// case 219:
-// case 223:
- case 227:
- return 3;
- case 305:
- case 303:
- case 301:
- return 4;
- default:
- throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
- }
+ return curRow;
}
-
}
--
Gitblit v1.9.1