From 1fe4313bb3326afa12c827e2d620fa735b8e37fb Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 24 十二月 2020 14:15:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/model/StartupDto.java | 34 +----------
src/main/java/com/zy/common/model/enums/WorkNoType.java | 48 ++++++++++++++++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 14 ++--
src/main/java/com/zy/common/service/CommonService.java | 82 +++++++++++----------------
4 files changed, 93 insertions(+), 85 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 4c0b9af..0026fc6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -16,6 +16,7 @@
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.OutLocDto;
import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -68,11 +69,11 @@
}
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
- // 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
// 妫�绱㈠簱浣�
List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList());
StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos);
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -189,7 +190,7 @@
throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
}
// 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -251,10 +252,9 @@
public String emptyPlateIn(Integer devpNo, Long userId) {
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
- // 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
// 妫�绱㈠簱浣�
StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null);
+ int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -311,7 +311,7 @@
}
for (String locNo : param.getLocNos()) {
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
@@ -403,7 +403,7 @@
throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
}
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
// 淇濆瓨宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
diff --git a/src/main/java/com/zy/common/model/StartupDto.java b/src/main/java/com/zy/common/model/StartupDto.java
index dacec79..b0ecc3e 100644
--- a/src/main/java/com/zy/common/model/StartupDto.java
+++ b/src/main/java/com/zy/common/model/StartupDto.java
@@ -1,8 +1,11 @@
package com.zy.common.model;
+import lombok.Data;
+
/**
* Created by vincent on 2020/6/11
*/
+@Data
public class StartupDto {
private Integer sourceStaNo;
@@ -13,35 +16,6 @@
private String locNo;
- public Integer getSourceStaNo() {
- return sourceStaNo;
- }
+ private Integer workNo;
- public void setSourceStaNo(Integer sourceStaNo) {
- this.sourceStaNo = sourceStaNo;
- }
-
- public Integer getStaNo() {
- return staNo;
- }
-
- public void setStaNo(Integer staNo) {
- this.staNo = staNo;
- }
-
- public Integer getCrnNo() {
- return crnNo;
- }
-
- public void setCrnNo(Integer crnNo) {
- this.crnNo = crnNo;
- }
-
- public String getLocNo() {
- return locNo;
- }
-
- public void setLocNo(String locNo) {
- this.locNo = locNo;
- }
}
diff --git a/src/main/java/com/zy/common/model/enums/WorkNoType.java b/src/main/java/com/zy/common/model/enums/WorkNoType.java
new file mode 100644
index 0000000..ff1768c
--- /dev/null
+++ b/src/main/java/com/zy/common/model/enums/WorkNoType.java
@@ -0,0 +1,48 @@
+package com.zy.common.model.enums;
+
+import com.core.exception.CoolException;
+
+/**
+ * 宸ヤ綔鍙锋帓搴忚鍒�
+ */
+public enum WorkNoType {
+
+ PAKIN(0),
+ PICK(1),
+ PAKOUT(2),
+ OTHER(3),
+ ;
+
+ public Integer type;
+
+ WorkNoType(Integer type) {
+ this.type = type;
+ }
+
+ public static Integer getWorkNoType(Integer ioType) {
+ switch (ioType) {
+ case 1:
+ return PAKIN.type;
+ case 10:
+ return PAKIN.type;
+ case 11:
+ return PICK.type;
+ case 53:
+ case 54:
+ case 57:
+ return PICK.type;
+ case 101:
+ return PAKOUT.type;
+ case 103:
+ case 104:
+ case 107:
+ return PICK.type;
+ case 110:
+ return PAKOUT.type;
+ default:
+ break;
+ }
+ throw new CoolException(ioType + "鐨勪换鍔$被鍨嬫棤娉曠敓鎴愬伐浣滃彿");
+ }
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0de4133..1986fe9 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WorkNoType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -39,7 +40,7 @@
/**
* 鐢熸垚宸ヤ綔鍙�
- * @param wrkMk 0:鍏ュ嚭搴� ; 1:鍏朵粬
+ * @param wrkMk 0:鍏ュ簱 1 - 3000 ; 1:鎷f枡/骞舵澘/鐩樼偣 3001 - 6000 ; 2: 鍑哄簱 6001 -9000 ; 3:鍏朵粬 9001 -9999
* @return workNo(宸ヤ綔鍙�)
*/
public int getWorkNo(Integer wrkMk) {
@@ -47,28 +48,39 @@
if (Cools.isEmpty(wrkLastno)) {
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
}
- int workNo = 0;
- // 鍏ュ嚭搴撶被鍨�
- if (wrkLastno.getWrkMk() == 0) {
- workNo = wrkLastno.getWrkNo();
- int sNo = wrkLastno.getSNo();
- int eNo = wrkLastno.getENo();
- workNo = workNo>=eNo ? sNo : workNo+1;
+ // 绫诲瀷
+ switch (wrkMk) {
+ case 0: // 鍏ュ簱 1 - 3000
+ break;
+ case 1: // 鎷f枡/骞舵澘/鐩樼偣 3001 - 6000
+ break;
+ case 2: // 鍑哄簱 6001 -9000
+ break;
+ case 3: // 鍏朵粬 9001 -9999
+ break;
+ default:
+ break;
+ }
- while (true) {
- WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (null != wrkMast) {
- workNo = workNo>=eNo ? sNo : workNo+1;
- } else {
- break;
- }
- }
- if (workNo > 0){
- wrkLastno.setWrkNo(workNo);
- wrkLastnoService.updateById(wrkLastno);
+ int workNo = wrkLastno.getWrkNo();
+ int sNo = wrkLastno.getSNo();
+ int eNo = wrkLastno.getENo();
+ workNo = workNo>=eNo ? sNo : workNo+1;
+ while (true) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (null != wrkMast) {
+ workNo = workNo>=eNo ? sNo : workNo+1;
+ } else {
+ break;
}
}
+ // 淇敼搴忓彿璁板綍
+ if (workNo > 0){
+ wrkLastno.setWrkNo(workNo);
+ wrkLastnoService.updateById(wrkLastno);
+ }
+ // 妫�楠�
if (workNo == 0) {
throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
} else {
@@ -89,6 +101,9 @@
*/
public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos) {
StartupDto startupDto = new StartupDto();
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = getWorkNo(WorkNoType.getWorkNoType(staDescId));
+ startupDto.setWorkNo(workNo);
RowLastno rowLastno = rowLastnoService.selectById(whsType);
if (Cools.isEmpty(rowLastno)) {
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
@@ -103,35 +118,6 @@
int crnNo = 0;
// 鐩爣搴撲綅
LocMast locMast = null;
-
- // 鍚屼竴澶╁悓瑙勬牸璐х墿闈犺繎鎽嗘硶瑙勫垯 todo:luxiaotao
-// if (!Cools.isEmpty(matNos)) {
-// List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0));
-// for (String locNo : locNos) {
-// // 鑾峰彇鎺�
-// int row = Integer.parseInt(locNo.substring(0, 2));
-// // 鍒ゆ柇鏄惁涓烘繁搴撲綅
-// double remainder = Arith.remainder(row, rowCount / crn_qty);
-// int targetRow;
-// if (remainder == 1) {
-// // 寰楀埌褰撳墠搴撲綅鐨勫鍥村簱浣�
-// targetRow = row + 1;
-// } else if (remainder == 0) {
-// // 寰楀埌褰撳墠搴撲綅鐨勫唴鍥村簱浣�
-// targetRow = row - 1;
-// } else {
-// continue;
-// }
-// String targetLocNo = zerofill(String.valueOf(targetRow), 2)+locNo.substring(2);
-// // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-// LocMast targetLocMast = locMastService.selectById(targetLocNo);
-// if (targetLocMast != null && targetLocMast.getLocSts().equals("O")) {
-// locMast = targetLocMast;
-// crnNo = locMast.getCrnNo();
-// break;
-// }
-// }
-// }
// 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
if (null == locMast) {
--
Gitblit v1.9.1