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/service/impl/OpenServiceImpl.java | 132 ++++++++++++++++++++++++++++--------------- 1 files changed, 86 insertions(+), 46 deletions(-) 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) { -- Gitblit v1.9.1