From fc24c266d88751bc431b5d61c05c0c388d9f0350 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 01 六月 2023 16:14:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 210 ++++++++++++++++++++++++++++------------------------
1 files changed, 113 insertions(+), 97 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 35d495d..fa334c9 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -146,7 +146,7 @@
LocMast locMast = null;
// 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
- if (!Cools.isEmpty(matNos)) {
+ if (!Cools.isEmpty(matNos) && (whsType==2 || whsType==4)) {
List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0), sRow, eRow);
for (String locNo : locNos) {
if (Utils.isShallowLoc(slaveProperties, locNo)) {
@@ -168,7 +168,7 @@
}
// 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
- if (staDescId == 10) {
+ if (staDescId == 10 && (whsType==2 || whsType==4)) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
if (locMasts.size() > 0) {
for (LocMast loc : locMasts) {
@@ -188,70 +188,23 @@
}
}
}
+
+ // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
if (null == locMast){
- switch (curRow){
- case 1:
- case 3:
- case 5:
- curRow=curRow+2;
- crnNo=(curRow+1)/2;
- break;
- case 7:
- crnNo=1;
- curRow=2;
- break;
- case 13:
- crnNo=6;
- curRow=14;
- break;
- case 2:
- case 4:
- case 6:
- curRow=curRow+2;
- crnNo=curRow/2;
- break;
- case 8:
- crnNo=1;
- curRow=1;
- break;
- case 14:
- crnNo=6;
- curRow=13;
- break;
- case 9:
- crnNo=5;
- curRow=12;
- break;
- case 10:
- crnNo=5;
- curRow=11;
- break;
- case 11:
- crnNo=5;
- curRow=9;
- break;
- case 12:
- crnNo=5;
- curRow=10;
- break;
- case 15:
- crnNo=7;
- curRow=18;
- break;
- case 16:
- crnNo=7;
- curRow=17;
- break;
- case 17:
- crnNo=7;
- curRow=15;
- break;
- case 18:
- crnNo=7;
- curRow=16;
- break;
- default:
- throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
+ 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;
+ }
+ if (curRow!=0 && !basCrnpService.checkSiteError(crnNo, true)) {
+ crnNo = 0;
}
}
@@ -304,7 +257,7 @@
// 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
if (locMast == null) {
- if (Utils.isShallowLoc(slaveProperties, curRow)) {
+ if ((whsType==2 || whsType==4) && Utils.isShallowLoc(slaveProperties, curRow)) {
Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1());
// todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛�
@@ -320,17 +273,61 @@
locMast = null;
}
// 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
- if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) {
+ if ((whsType==2 || whsType==4) && null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) {
LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo()));
if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
locMast = null;
}
}
// 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
- if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) {
+ if ((whsType==2 || whsType==4) && null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) {
LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo()));
if (!shallowLoc.getLocSts().equals("O")) {
locMast = null;
+ }
+ }
+ }
+ }
+ //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){
+ int locO1 = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 1));
+ BasCrnp basCrnp1 = basCrnpService.selectById(1);
+ if (!Cools.isEmpty(locO1) && 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)){
+ locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2));
+ BasCrnp basCrnp2 = basCrnpService.selectById(2);
+ if (!Cools.isEmpty(locO1) && 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)){
+ locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2));
+ BasCrnp basCrnp3 = basCrnpService.selectById(3);
+ if (!Cools.isEmpty(locO1) && 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)){
+ locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2));
+ BasCrnp basCrnp4 = basCrnpService.selectById(4);
+ if (!Cools.isEmpty(locO1) && 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;
+ }
}
}
}
@@ -383,35 +380,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