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