From a546b70a863e44c2e8735b3cfc9da45a781b735f Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 03 十一月 2023 10:10:33 +0800 Subject: [PATCH] #托盘码下架 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 164 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 147 insertions(+), 17 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 8955567..df878dd 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -8,10 +8,7 @@ import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.EmptyPlateOutParam; -import com.zy.asrs.entity.param.FullStoreParam; -import com.zy.asrs.entity.param.LocDetlAdjustParam; -import com.zy.asrs.entity.param.StockOutParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; @@ -64,7 +61,7 @@ @Autowired private WrkDetlLogService wrkDetlLogService; @Autowired - private SnowflakeIdWorker snowflakeIdWorker; + private ManLocDetlService manLocDetlService; @Autowired private OrderService orderService; @Autowired @@ -77,6 +74,8 @@ private SlaveProperties slaveProperties; @Autowired private WaitPakinService waitPakinService; + @Autowired + private LocOwnerService locOwnerService; @Override @Transactional @@ -210,10 +209,10 @@ LocMast locMast = locMastService.selectById(dto.getLocNo()); Integer outSta = staNo.getDevNo(); - //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202 - if(locMast.getCrnNo()==2){ - outSta = ioType == 101 ? 204 : 202; - } +// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202 +// if(locMast.getCrnNo()==2){ +// outSta = ioType == 101 ? 204 : 202; +// } // 鑾峰彇璺緞 StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); @@ -246,6 +245,7 @@ // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} + String uuid = String.valueOf(System.currentTimeMillis()); WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(detlDto.getLocDetl()); wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙� @@ -257,6 +257,9 @@ wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); + wrkDetl.setUuid(uuid); + wrkDetl.setOwner(detlDto.getLocDetl().getOwner()); + wrkDetl.setPayment(detlDto.getLocDetl().getPayment()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } @@ -289,9 +292,8 @@ // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 鑾峰彇璺緞 -// int ioType = taskDto.isAll() ? 101 : 103; - //浠呴�傜敤浜庨�熻吘椤圭洰锛屾病鏈夋崱鏂� - int ioType = 101; + int ioType = taskDto.isAll() ? 101 : 103; + StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); @@ -323,9 +325,10 @@ for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); - } +// if (orderDetl == null) { +// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); +// } + String uuid = String.valueOf(System.currentTimeMillis()); WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -338,6 +341,9 @@ wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); + wrkDetl.setUuid(uuid); + wrkDetl.setOwner(orderDetl.getOwner()); + wrkDetl.setPayment(orderDetl.getPayment()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } @@ -618,6 +624,8 @@ wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); + wrkDetl.setOwner(locDetl.getOwner()); + wrkDetl.setPayment(locDetl.getPayment()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } @@ -972,7 +980,9 @@ // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", wrkMast.getIoType() - 50) - .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + //閫熻吘鐗规湁鎹℃枡锛� 11绔欐槸鍑哄簱绔欙紝 鐒跺悗鎵嬪姩璧板埌15绔欒繘琛屽啀鍏ュ簱 + + .eq("stn_no", 15) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { @@ -984,7 +994,7 @@ // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57 wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 - wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯 + wrkMast.setSourceStaNo(staDesc.getStnNo()); // 婧愮珯 wrkMast.setStaNo(staNo); // 鐩爣绔� wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� @@ -1108,4 +1118,124 @@ return targetLoc.getLocNo(); } + @Override + @Transactional + public void turnOverOut(EmptyPlateOutParam param, Long userId) { + try { + if (Cools.isEmpty(param.getOwnerId())) { + throw new CoolException("瀹㈡埛鍚嶇О涓嶈兘涓虹┖"); + }else if (param.getLocDetls().size()<=0){ + throw new CoolException("璇锋彁鍙栨槑缁�"); + } + ArrayList<String> locNos = new ArrayList<>(); + String[][] locNos2 =new String[param.getLocDetls().size()][2]; + int i=0; + for (EmptyPlateOutParam.LocDetl locDetl : param.getLocDetls()){ + if (!locNos.contains(locDetl.getLoc_no())){ + locNos.add(locDetl.getLoc_no()); + locNos2[i][0]=locDetl.getLoc_no(); + locNos2[i][1]=locDetl.getManu(); + i++; + } + } + LocOwner locOwner = locOwnerService.selectById(param.getOwnerId()); + param.setOwner(locOwner.getOwner()); + String lgort = ""; + String owner=""; + List<DetlDto> detlDtos = new ArrayList<>(); + for (String[] locNo1 : locNos2) { + String locNo = locNo1[0]; + if (locNo1[1].equals("骞冲簱")){ + List<ManLocDetl> manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo)); + for (ManLocDetl manLocDetl:manLocDetls){ + if (Cools.isEmpty(owner)) { + owner = manLocDetl.getOwner$(); + } + detlDtos.add(new DetlDto(manLocDetl.getMatnr(), manLocDetl.getBatch(), manLocDetl.getAnfme())); + manLocDetl.setOwner(param.getOwnerId()); + try{ + manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",manLocDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }else if (locNo1[1].equals("绔嬪簱")){ + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)); + for (LocDetl locDetl:locDetls){ + if (Cools.isEmpty(lgort)) { + lgort = locDetl.getOrigin(); + } + if (Cools.isEmpty(owner)) { + owner = locDetl.getOwner$(); + } + detlDtos.add(new DetlDto(locDetl.getMatnr(), locDetl.getBatch(), locDetl.getAnfme())); + locDetl.setOwner(param.getOwnerId()); + try{ + locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }else { + throw new Exception("鏇存柊搴撲綅鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡"); + } + } + }catch (Exception e){ + throw new CoolException("绉讳氦浣滀笟鍑洪敊浜嗭細"+e); + } + } + + @Override + @Transactional + public void turnOverOutPayment(EmptyPlateOutParam param, Long userId) { + if (Cools.isEmpty(param.getPayment())){ + throw new CoolException("璇烽�夋嫨鐩爣璐х墿褰㈡��"); + } + log.info("鏇存柊璐х墿褰㈡�侊細鐩爣璐х墿褰㈡�侊細"+param.getPayment$(param.getPayment())+";鏇存敼璐х墿淇℃伅锛�"+param.getLocDetls()); + try { + if (param.getLocDetls().size()<=0){ + throw new CoolException("璇锋彁鍙栨槑缁�"); + } + ArrayList<String> locNos = new ArrayList<>(); + String[][] locNos2 =new String[param.getLocDetls().size()][2]; + int i=0; + for (EmptyPlateOutParam.LocDetl locDetl : param.getLocDetls()){ + if (!locNos.contains(locDetl.getLoc_no())){ + locNos.add(locDetl.getLoc_no()); + locNos2[i][0]=locDetl.getLoc_no(); + locNos2[i][1]=locDetl.getManu(); + i++; + } + } + for (String[] locNo1 : locNos2) { + String locNo = locNo1[0]; + if (locNo1[1].equals("骞冲簱")){ + List<ManLocDetl> manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo)); + for (ManLocDetl manLocDetl:manLocDetls){ + manLocDetl.setPayment(param.getPayment()); + try{ + manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",manLocDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏璐х墿褰㈡�佸瓧娈典俊鎭嚭閿欎簡"); + } + } + }else if (locNo1[1].equals("绔嬪簱")){ + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)); + for (LocDetl locDetl:locDetls){ + locDetl.setPayment(param.getPayment()); + try{ + locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locDetl.getMatnr())); + }catch (Exception e){ + throw new Exception("鏇存柊搴撳瓨鏄庣粏璐х墿褰㈡�佸瓧娈典俊鎭嚭閿欎簡"); + } + } + }else { + throw new Exception("鏇存柊搴撲綅璐х墿褰㈡�佸瓧娈典俊鎭嚭閿欎簡"); + } + } + }catch (Exception e){ + throw new CoolException("璐х墿褰㈡�佽浆鎹㈠嚭閿欎簡锛�"+e); + } + } + } -- Gitblit v1.9.1