From 5d2d9dbe286f6e079232e68d30bbd0530ccecaef Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <xltys1995> Date: 星期五, 28 八月 2020 17:59:57 +0800 Subject: [PATCH] #v2.0 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 86 ++++++++++++++++++++++++++----------------- 1 files changed, 52 insertions(+), 34 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 48f7219..2069b21 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.BaseRes; import com.core.common.Cools; +import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; @@ -21,6 +22,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * Created by vincent on 2020/6/11 @@ -53,6 +56,8 @@ private AdjDetlService adjDetlService; @Autowired private WrkMastLogService wrkMastLogService; + @Autowired + private WrkDetlLogService wrkDetlLogService; @Override @Transactional @@ -62,11 +67,12 @@ throw new CoolException(BaseRes.PARAM); } // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo()); + BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo()); + 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); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -109,8 +115,8 @@ } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocType().equals("O")){ - locMast.setLocType("S"); // S.鍏ュ簱棰勭害 + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)){ @@ -227,8 +233,8 @@ } // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocType().equals("F")) { - locMast.setLocType(ioType==101?"R":"P"); + if (locMast.getLocSts().equals("F")) { + locMast.setLocSts(ioType==101?"R":"P"); locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)) { @@ -244,23 +250,23 @@ @Transactional public String emptyPlateIn(Integer devpNo, Long userId) { // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo); + BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 - wrkMast.setIoPri(13D); // 浼樺厛绾э細10 + wrkMast.setIoPri(10D); // 浼樺厛绾э細10 wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); - wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setFullPlt("N"); // 婊℃澘 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� wrkMast.setEmptyMk("Y"); // 绌烘澘 @@ -284,8 +290,8 @@ } // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); - if (locMast.getLocType().equals("O")){ - locMast.setLocType("S"); // S.鍏ュ簱棰勭害 + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)){ @@ -346,8 +352,8 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 - if (locMast.getLocType().equals("D")){ - locMast.setLocType("R"); + if (locMast.getLocSts().equals("D")){ + locMast.setLocSts("R"); locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)) { @@ -411,7 +417,7 @@ wrkMast.setFullPlt("N"); // 婊℃澘锛歒 wrkMast.setPicking("N"); // 鎷f枡 wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk(sourceLoc.getLocType().equals("D")?"Y":"N"); // 绌烘澘 + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� wrkMast.setLinkMis("N"); wrkMast.setAppeUser(userId); @@ -439,26 +445,26 @@ } } // 淇敼婧愬簱浣嶇姸鎬� - if (sourceLoc.getLocType().equals("D") || sourceLoc.getLocType().equals("F")) { - sourceLoc.setLocType("R"); // R.鍑哄簱棰勭害 + if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) { + sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 sourceLoc.setModiUser(userId); sourceLoc.setModiTime(new Date()); if (!locMastService.updateById(sourceLoc)){ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); } } else { - throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocType$()); + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$()); } // 淇敼鐩爣搴撲綅鐘舵�� - if (loc.getLocType().equals("O")) { - loc.setLocType("S"); // S.鍏ュ簱棰勭害 + if (loc.getLocSts().equals("O")) { + loc.setLocSts("S"); // S.鍏ュ簱棰勭害 loc.setModiTime(new Date()); loc.setModiUser(userId); if (!locMastService.updateById(loc)) { throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocType$()); + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$()); } } @@ -479,7 +485,10 @@ } else if (wrkMast.getWrkSts() > 10) { wrkMast.setWrkSts(14L); } - wrkMast.setModiTime(new Date()); + Date now = new Date(); + wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); wrkMast.setModiUser(userId); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); @@ -555,6 +564,15 @@ } } } + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo())); + if (locDetls.isEmpty()) { + locMast.setLocSts("D"); + locMast.setModiUser(userId); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } } @Override @@ -565,11 +583,11 @@ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); } String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� - String locType = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� + String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 if (wrkMast.getWrkSts() < 4) { locNo = wrkMast.getLocNo(); - locType = "O"; + locSts = "O"; /** * 搴撲綅杞Щ * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱 @@ -581,7 +599,7 @@ if (Cools.isEmpty(locMast)) { throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo()); } - locMast.setLocType("F"); + locMast.setLocSts("F"); locMast.setModiTime(new Date()); locMast.setModiUser(userId); locMastService.updateById(locMast); @@ -591,19 +609,19 @@ locNo = wrkMast.getSourceLocNo(); // 鍑哄簱 ===>> F.鍦ㄥ簱 if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { - locType = "F"; + locSts = "F"; // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 110) { - locType = "D"; + locSts = "D"; // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 11) { - locType = "F"; + locSts = "F"; // 搴撲綅杞Щ锛氱洰鏍囧簱浣� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (Cools.isEmpty(locMast)) { throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo()); } - locMast.setLocType("O"); + locMast.setLocSts("O"); locMast.setModiTime(new Date()); locMast.setModiUser(userId); locMastService.updateById(locMast); @@ -620,7 +638,7 @@ if (Cools.isEmpty(locMast)) { throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo); } - locMast.setLocType(locType); + locMast.setLocSts(locSts); locMast.setModiTime(new Date()); locMast.setModiUser(userId); boolean locMastRes = locMastService.updateById(locMast); @@ -645,9 +663,9 @@ throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�"); } // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 -// if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { -// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); -// } + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); + } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� if (!wrkMastLogService.save(wrkMast.getWrkNo())) { throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); @@ -677,7 +695,7 @@ } // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); - locMast.setLocType("Q"); + locMast.setLocSts("Q"); locMast.setModiTime(new Date()); locMast.setModiUser(userId); if (!locMastService.updateById(locMast)) { -- Gitblit v1.9.1