From bc196046ae1ca301fadab2d0655458a5441034ea Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 15 六月 2020 12:47:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 1 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 5722c7c..904812f 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -50,7 +50,7 @@ // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(0); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(1, param.getDevpNo()); + StartupDto dto = commonService.getLocNo(1, 1, param.getDevpNo()); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -83,6 +83,61 @@ matDtos.add(new MatCodeCountDto(elem.getMatNo(), elem.getCount())); }); wrkDetlService.createWorkDetail(workNo, matDtos, userId); + // 鏇存柊婧愮珯鐐逛俊鎭� + sourceStaNo.setWrkNo(workNo); + sourceStaNo.setModiUser(userId); + sourceStaNo.setModiTime(new Date()); + if (!basDevpService.updateById(sourceStaNo)){ + throw new CoolException("鏇存柊婧愮珯澶辫触"); + } + // 鏇存柊鐩爣搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(dto.getLocNo()); + if (locMast.getLocType().equals("O")){ + locMast.setLocType("S"); // S.鍏ュ簱棰勭害 + locMast.setModiUser(userId); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)){ + throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤"); + } + } + + @Override + public void emptyPlateIn(Integer devpNo, Long userId) { + // 婧愮珯鐐圭姸鎬佹娴� + BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo); + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 妫�绱㈠簱浣� + StartupDto dto = commonService.getLocNo(1, 10, devpNo); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID + wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細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.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(new Date()); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(new Date()); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } // 鏇存柊婧愮珯鐐逛俊鎭� sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiUser(userId); @@ -152,6 +207,101 @@ if (!res) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMast.getLocType().equals("D")){ + locMast.setLocType("R"); + locMast.setModiUser(userId); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + // todo 鏇存柊绔欑偣淇℃伅锛堝伐浣滃彿锛� + } + } + + @Override + @Transactional + public void completeWrkMast(String workNo, Long userId) { + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + } + // 鍏ュ簱 + 搴撲綅杞Щ + if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { + wrkMast.setWrkSts(4L); + // 鍑哄簱 + } else if (wrkMast.getWrkSts() > 10) { + wrkMast.setWrkSts(14L); + } + wrkMast.setModiTime(new Date()); + wrkMast.setModiUser(userId); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); + } + } + + @Override + @Transactional + public void cancelWrkMast(String workNo, Long userId) { + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + } + String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� + String locType = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� + // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 + if (wrkMast.getWrkSts() < 4) { + locNo = wrkMast.getLocNo(); + locType = "O"; + /** + * 搴撲綅杞Щ + * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱 + * 鐩爣搴撲綅 ===>> O.绌哄簱浣� + **/ + if (wrkMast.getIoType() == 11) { + // 搴撲綅杞Щ锛氭簮搴撲綅 + LocMast locMast = new LocMast(); + locMast.setLocNo(wrkMast.getSourceLocNo()); + locMast.setLocType("F"); + locMast.setModiTime(new Date()); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� + } else if (wrkMast.getWrkSts() > 10) { + locNo = wrkMast.getSourceLocNo(); + // 鍑哄簱 ===>> F.鍦ㄥ簱 + if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { + locType = "F"; + // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 110) { + locType = "D"; + // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 11) { + locType = "F"; + // 搴撲綅杞Щ锛氱洰鏍囧簱浣� + LocMast locMast = new LocMast(); + locMast.setLocNo(wrkMast.getLocNo()); + locMast.setLocType("O"); + locMast.setModiTime(new Date()); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + } + // 鍒犻櫎宸ヤ綔妗� + boolean wrkMastRes = wrkMastService.deleteById(wrkMast); + // 鍒犻櫎宸ヤ綔妗f槑缁� + boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); + // 淇敼搴撲綅鐘舵�� + LocMast locMast = new LocMast(); + locMast.setLocNo(locNo); + locMast.setLocType(locType); + locMast.setModiTime(new Date()); + locMast.setModiUser(userId); + boolean locMastRes = locMastService.updateById(locMast); + if (!wrkMastRes || !wrkDetlRes || !locMastRes) { + throw new CoolException("淇濆瓨鏁版嵁澶辫触"); } } -- Gitblit v1.9.1