From 7a3a72bf94a86641ead835b1b8be7644cffa9a53 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 06 一月 2023 08:12:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 171 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 114 insertions(+), 57 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 11f066a..378700e 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -50,7 +50,7 @@
/**
* 鐢熸垚宸ヤ綔鍙�
- * @param wrkMk 0:鍏ュ簱 1 - 3000 ; 1:鎷f枡/骞舵澘/鐩樼偣 3001 - 6000 ; 2: 鍑哄簱 6001 -9000 ; 3:鍏朵粬 9001 -9999
+ * @param wrkMk
* @return workNo(宸ヤ綔鍙�)
*/
public int getWorkNo(Integer wrkMk) {
@@ -98,17 +98,36 @@
@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();
- if (sourceStaNo < 200){
- whsType = 1;
- } else if (sourceStaNo > 199 && sourceStaNo < 300){
- whsType = 2;
- } else if (sourceStaNo > 299 && sourceStaNo < 400){
- whsType = 3;
- } else if (sourceStaNo > 399){
- whsType = 4;
- }
+
RowLastno rowLastno = rowLastnoService.selectById(whsType);
if (Cools.isEmpty(rowLastno)) {
@@ -171,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("娌℃湁鍙敤鐨勫爢鍨涙満");
@@ -298,35 +336,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