From 68aafce5aaef75bc6505b899d380aa58e00067fa Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 20 八月 2024 15:18:30 +0800 Subject: [PATCH] 桁架理货出库流程修改 --- src/main/java/com/zy/asrs/entity/result/ZphjcdwcVo.java | 2 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 58 ++++++++++--- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 2 src/main/java/com/zy/asrs/entity/param/ZphjcdwcParam.java | 9 ++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 132 +++++++++++++++++++++----------- 5 files changed, 141 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/param/ZphjcdwcParam.java b/src/main/java/com/zy/asrs/entity/param/ZphjcdwcParam.java index 2a0a538..df6d8aa 100644 --- a/src/main/java/com/zy/asrs/entity/param/ZphjcdwcParam.java +++ b/src/main/java/com/zy/asrs/entity/param/ZphjcdwcParam.java @@ -12,4 +12,13 @@ private Integer workNo; // 宸ヤ綔鍙� + // 鎹㈢洏鐐圭珯鐐� + private Integer sourceStaNo; + + // 缁勭洏绔欑偣鎵樼洏鐮� + private String barcode; + + // 缁勭洏绔欑偣 + private Integer site; + } diff --git a/src/main/java/com/zy/asrs/entity/result/ZphjcdwcVo.java b/src/main/java/com/zy/asrs/entity/result/ZphjcdwcVo.java index c4b9a65..894bfdb 100644 --- a/src/main/java/com/zy/asrs/entity/result/ZphjcdwcVo.java +++ b/src/main/java/com/zy/asrs/entity/result/ZphjcdwcVo.java @@ -16,6 +16,8 @@ private int staNo; // 鐩爣绔欑偣 + private String barcode; // 鎵樼洏鏉$爜 + private int descFlag; // 鎷嗗灈鍑烘潵鎵樼洏鍑哄簱璺緞 } diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 1ae1587..7dbc6d1 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -1177,7 +1177,7 @@ if (wrkMast == null) { throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�" + param.getBarcode()); } - if (wrkMast.getIoType() != 101 || wrkMast.getWrkSts() != 20) { + if (wrkMast.getWrkSts() != 20) { throw new CoolException(wrkMast.getWrkNo() + ",宸ヤ綔妗g被鍨嬶細" + wrkMast.getIoType() + "宸ヤ綔鐘舵�侊細" + wrkMast.getWrkSts() + ",涓嶅尮閰�"); } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index c3f4301..f43ab7b 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -2,7 +2,6 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; @@ -1591,8 +1590,8 @@ @Transactional public R zphjCdwc(ZphjcdwcParam param) { - if (Cools.isEmpty(param.getWorkNo())) { - throw new CoolException("宸ヤ綔鍙蜂笉鑳戒负绌猴紒"); + if (Cools.isEmpty(param.getWorkNo(),param.getBarcode(),param.getSourceStaNo(),param.getSite())) { + return R.parse("鍙傛暟涓嶈兘涓虹┖锛岃妫�鏌ュ叆鍙�"); } WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo()); if (wrkMast == null) { @@ -1602,60 +1601,59 @@ throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�42/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�"); } - // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� - if (!wrkMastLogService.save(wrkMast.getWrkNo())) { - throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); - } - // 鑾峰彇鐩爣绔� - Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", wrkMast.getIoType() - 50) - .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 - .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 - StaDesc staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); - } - // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) - Integer staNo = staDesc.getCrnStn(); - // 鏇存柊宸ヤ綔绫诲瀷103->53 - wrkMast.setIoType(53); - wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級 - // 鐩爣绔欑偣婧愮珯鐐硅浆鎹� - wrkMast.setSourceStaNo(wrkMast.getStaNo()); - wrkMast.setStaNo(staNo); - // 鐩爣搴撲綅=婧愬簱浣� - wrkMast.setLocNo(wrkMast.getSourceLocNo()); - // 婧愬簱浣嶆竻闄� - wrkMast.setSourceLocNo(""); - wrkMast.setModiTime(new Date()); - - int outStaNo = 0; // 鍑哄簱婧愮珯鐐� - if (staNo == 3044 || staNo == 3045) { - outStaNo = 3046; - } else if(staNo == 3040 || staNo == 3041) { - outStaNo = 3042; - } - if (outStaNo == 0) { - throw new CoolException("鍑哄簱婧愮珯鐐硅浆鎹㈡湁璇細" + staNo); - } - // 鑾峰彇鍑哄簱鐗╂枡 List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + + // 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。 + int work = create111Work(wrkMast, wrkDetls, param.getSite(), wrkMast.getStaNo(), param.getBarcode()); + int descFlag = getType(wrkDetls); // get0鍘熸墭鐩樺洖娴佷俊鎭紝get1鎷嗗灈鍑烘潵鐗╂枡鍑哄簱淇℃伅 List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>(); ZphjcdwcVo zphjcdwcVo1 = new ZphjcdwcVo(); zphjcdwcVo1.setWorkNo(wrkMast.getWrkNo()); - zphjcdwcVo1.setStaNo(wrkMast.getStaNo()); - zphjcdwcVo1.setSourceStaNo(wrkMast.getSourceStaNo()); + zphjcdwcVo1.setStaNo(wrkMast.getSourceStaNo()); + zphjcdwcVo1.setSourceStaNo(param.getSourceStaNo()); + zphjcdwcVo1.setBarcode(wrkMast.getBarcode()); zphjcdwcVos.add(zphjcdwcVo1); ZphjcdwcVo zphjcdwcVo2 = new ZphjcdwcVo(); - zphjcdwcVo2.setSourceStaNo(outStaNo); - zphjcdwcVo2.setStaNo(3106); // 3106/3077 + zphjcdwcVo2.setWorkNo(work); + zphjcdwcVo2.setSourceStaNo(param.getSite()); + zphjcdwcVo2.setStaNo(wrkMast.getStaNo()); + zphjcdwcVo2.setBarcode(param.getBarcode()); zphjcdwcVo2.setDescFlag(descFlag); zphjcdwcVos.add(zphjcdwcVo2); + + + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + } + // 鑾峰彇鐩爣绔� +// Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() +// .eq("type_no", wrkMast.getIoType() - 50) +// .eq("stn_no", wrkMast.getSourceStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 +// .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 +// StaDesc staDesc = staDescService.selectOne(wrapper); +// if (Cools.isEmpty(staDesc)) { +// throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); +// } + // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) +// Integer staNo = staDesc.getCrnStn(); + // 鏇存柊宸ヤ綔绫诲瀷103->53 + wrkMast.setIoType(53); + wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級 + // 鐩爣绔欑偣婧愮珯鐐硅浆鎹� + wrkMast.setStaNo(wrkMast.getSourceStaNo()); + wrkMast.setSourceStaNo(param.getSourceStaNo()); + + // 鐩爣搴撲綅=婧愬簱浣� + wrkMast.setLocNo(wrkMast.getSourceLocNo()); + // 婧愬簱浣嶆竻闄� + wrkMast.setSourceLocNo(""); + wrkMast.setModiTime(new Date()); // 鏇存柊宸ヤ綔涓绘。 wrkMastService.updateById(wrkMast); @@ -1672,12 +1670,54 @@ } /** + * 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。 + */ + private int create111Work(WrkMast wrk, List<WrkDetl> wrkDetls, Integer site, Integer staNo,String barcode) { + int workNo = commonService.getWorkNo(4); + Date now = new Date(); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋 + wrkMast.setIoType(111); // 鍏ュ嚭搴撶姸鎬侊細111.鐞嗚揣璐存爣鍑哄簱 + wrkMast.setIoPri(13D); // 浼樺厛绾� + wrkMast.setCrnNo(wrk.getCrnNo()); + wrkMast.setSourceStaNo(site); + wrkMast.setStaNo(staNo); + wrkMast.setSourceLocNo(wrk.getSourceLocNo()); + wrkMast.setBarcode(barcode); // 鎵樼洏鐮� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + wrkMast.setCtnType(1); // 瀹瑰櫒绫诲瀷 + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + + // 鎻掑叆宸ヤ綔妗� + wrkMastService.insert(wrkMast); + + // 鎻掑叆宸ヤ綔妗f槑缁� + for (WrkDetl wrkDetl:wrkDetls) { + wrkDetl.setWrkNo(workNo); + wrkDetl.setBarcode(barcode); + wrkDetl.setZpallet(barcode); + wrkDetlService.insert(wrkDetl); + } + + return workNo; + } + + /** * 鏍规嵁鍑哄簱鐗╂枡鏄庣粏鍒ゆ柇鏄惁鍘昏创鏍�(鍗曞嵎璐存爣锛屽鍗蜂笉璐存爣) * @param wrkDetls 鐗╂枡鏄庣粏 - * @return 0.澶氬嵎涓嶈创鏍囪矾寰勶紝1.鍗曞嵎璐存爣璺緞 + * @return 1.澶氬嵎鐩存帴鍑鸿矾寰勶紝4.鍗曞嵎璐存爣璺緞 */ private int getType(List<WrkDetl> wrkDetls) { - return wrkDetls.size() > 1 ? 0 : 1; // 涓�鏉¤褰曞氨鏄竴鍗� + return wrkDetls.size() > 1 ? 1 : 4; // 涓�鏉¤褰曞氨鏄竴鍗� } public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 3e49836..9a4f64f 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -173,21 +173,21 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); - } - try { - if(!Cools.isEmpty(orderDetl)){ - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), - orderDetl.getBatch(),wrkDetl.getAnfme())){ -// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); - } - } - } catch (Exception ignore){} +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} } // 淇敼搴撲綅鐘舵�� Q ====>> F @@ -419,6 +419,34 @@ } } break; + // 鐞嗚揣璐存爣鍑哄簱 + case 111: + List<WrkDetl> wrkDetls111 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + if (wrkDetls111.isEmpty()) { +// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); + } + for (WrkDetl wrkDetl : wrkDetls111) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + } + try { + if (!Cools.isEmpty(orderDetl)) { + if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), + orderDetl.getBatch(), wrkDetl.getAnfme())) { +// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +// wrkMast.getWrkNo(), wrkMast.getLocNo()); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); + } + } + } catch (Exception ignore) { + } + } + break; default: break; } -- Gitblit v1.9.1