From b6b46e1c4d390c80cf9bd7d4daa23202f2d11a22 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 26 五月 2023 13:47:57 +0800 Subject: [PATCH] 站点管理编辑高低库位 --- src/main/java/com/zy/asrs/controller/WrkMastController.java | 151 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 146 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java index 9a28809..3f05251 100644 --- a/src/main/java/com/zy/asrs/controller/WrkMastController.java +++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java @@ -10,6 +10,7 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.dto.WrkDetlWithCheck; import com.zy.asrs.service.*; @@ -93,12 +94,111 @@ @ManagerAuth(memo = "宸ヤ綔妗d慨鏀�") public R update(WrkMast wrkMast){ if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){ - return R.error(); + return R.error("宸ヤ綔鍙峰紓甯�"); + }else if (wrkMast.getWrkSts()==null){ + return R.error("淇敼鐘舵�佸紓甯�"); } - wrkMast.setModiUser(getUserId()); - wrkMast.setModiTime(new Date()); - wrkMastService.updateById(wrkMast); + WrkMast wrkMast1=null; + try{ + wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkMast.getWrkNo())); + if (Cools.isEmpty(wrkMast1) || null==wrkMast1.getWrkNo()){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鏌ヨ澶辫触"); + }else if (wrkMast1.getWrkSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鐘舵�佸紓甯�"); + } + }catch (Exception e){ + return R.error("澶辫触!!!璇峰皾璇曞埛鏂伴〉闈€��"+"寮傚父鍘熷洜锛�"+e); + } + if (wrkMast1.getWrkSts()-wrkMast.getWrkSts()==0){ + return R.error("鎵�閫夌姸鎬佷笌姝ゅ伐浣滄。鐘舵�佷竴鑷达紝鏃犻渶淇敼"); + } + if (juBge(wrkMast.getWrkSts(), wrkMast1)){ + return R.error("淇敼鐘舵�佸け璐ワ紝璇疯鑼冩搷浣�"); + } + wrkMast1.setModiUser(getUserId()); + wrkMast1.setModiTime(new Date()); + wrkMast1.setWrkSts(wrkMast.getWrkSts()); + wrkMastService.updateById(wrkMast1); return R.ok(); + } + + public Boolean juBge(Long wrkSts1,WrkMast wrkMast1){ + if (wrkSts1>20){ + throw new CoolException("澶т簬20鐨勭姸鎬佷笉鑳借繘琛屼慨鏀癸紒锛侊紒"); + } + switch (wrkMast1.getIoType()){ + case 1: + case 10: + case 53: + case 54: + case 57: + if (wrkSts1>=1 && wrkSts1<=10){ + if (wrkSts1==10){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getLocNo())); + if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁"); + } + if (locMast.getLocSts().equals("S")||locMast.getLocSts().equals("Q")){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁"); + }else if (locMast.getLocSts().equals("F")){ + }else { + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�"); + } + } + return false; + } + return true; + case 101: + case 103: + case 104: + case 107: + case 110: + if (wrkSts1>=11 && wrkSts1<=18){ + if (wrkSts1==18){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getSourceLocNo())); + if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁"); + } + if (locMast.getLocSts().equals("R")||locMast.getLocSts().equals("P")){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁"); + }else if (locMast.getLocSts().equals("O")){ + }else { + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�"); + } + } + return false; + } + return true; + case 11: + return false; + case 3: + case 6: + default: + return true; + } + } + private void doOut(WrkMast wrkMast,LocMast locMast){ + try{ + Date now = new Date(); + // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� + if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo()); + } + // 淇敼婧愬簱浣嶇姸鎬� R ===>> O + if (locMast.getLocSts().equals("R")) { + locMast.setLocSts("O"); + locMast.setBarcode(""); + locMast.setFrozen(0); + locMast.setModiTime(now); + locMast.setIoTime(now); + locMast.setFrozenMemo(""); + if (!locMastService.updateById(locMast)) { + throw new CoolException("淇敼婧愬簱浣嶇姸鎬佸け璐�:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo()); + } + } + }catch (Exception e){ + throw new CoolException(e+"鎿嶄綔澶辫触"); + } } @RequestMapping(value = "/wrkMast/delete/auth") @@ -179,6 +279,7 @@ /********************************杈归攱鏂板**************************/ + @GetMapping(value = "/wrkMast/checkDetl") public R pickDetl(String barcode) { WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); @@ -188,7 +289,7 @@ if (wrkMast.getIoType() != 107) { return R.error("宸ヤ綔妗i潪鎹℃枡浠诲姟"); } - if (wrkMast.getWrkSts() != 14){ + if (wrkMast.getWrkSts() != 17){ return R.error("鐩樼偣浠诲姟姝e湪鎵ц涓�,璇风瓑寰呰澶囪繍琛岀粨鏉熷悗杩涜鎿嶄綔"); } List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); @@ -284,5 +385,45 @@ return R.ok("搴撳瓨鏇存柊宸叉垚鍔�"); } + @GetMapping("/wrkMast/pickToFill") + public R pickToFill(String barcode){ + Date now = new Date(); + if (Cools.isEmpty(barcode)) { + return R.error("鎵樼洏鐮佷负绌�,璇锋鏌�"); + } + WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); + if (Cools.isEmpty(wrkMast)) { + return R.error("鏃犳硶閫氳繃鎵樼洏鐮佹壘鍒拌宸ヤ綔妗�,璇锋鏌ユ墭鐩樼爜鏄惁姝g‘"); + } + if (wrkMast.getIoType() != 103) { + return R.error("浠呮湁鎹℃枡鍑哄簱鍙互浣跨敤璇ュ姛鑳�"); + } + if (wrkMast.getWrkSts() != 17) { + return R.error("鎹℃枡鍑哄簱鏈畬鎴�,璇风瓑寰呰澶囪繍琛屽畬鎴�"); + } + wrkMast.setIoType(101); + wrkMast.setMemo("鎹℃枡杞叏鏉垮伐浣滄。"); + wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>() + .eq("wrk_no",wrkMast.getWrkNo())); + wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo()); + List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo()); + for (LocDetl locDetl : locDetls) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setIoTime(wrkMast.getIoTime()); + wrkDetl.setZpallet(wrkDetl.getBarcode()); + wrkDetl.setBarcode(wrkMast.getBarcode()); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + wrkDetl.setAppeUser(1L); + wrkDetl.setModiUser(1L); + wrkDetlService.insert(wrkDetl); + + } + locMastService.updateLocSts(wrkMast.getSourceLocNo(),"R"); + return R.ok(); + } + } -- Gitblit v1.9.1