From 6ec9e19c91c93204a8f5b7190fb6f54a204e7ff7 Mon Sep 17 00:00:00 2001 From: zc <zc> Date: 星期一, 29 七月 2024 11:36:19 +0800 Subject: [PATCH] 订单组托代码 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 71 +++++++++++++++++++++++++++++------ 1 files changed, 58 insertions(+), 13 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 d02fdd3..4ea5c76 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -91,7 +91,8 @@ // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto, 0); + List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto); // 鐢熸垚宸ヤ綔鍙� int workNo = dto.getWorkNo(); // 鐢熸垚宸ヤ綔妗� @@ -168,8 +169,13 @@ } } if (!locDetlDtos.isEmpty()) { - // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 - stockOut(staNo, locDetlDtos, null, userId); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); + if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ + // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱 + stockOut(staNo, locDetlDtos, null, userId); + }else { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } } else { throw new CoolException("搴撳瓨涓嶅瓨鍦�"); } @@ -210,10 +216,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); @@ -329,7 +335,7 @@ wrkDetl.setZpallet(wrkMast.getBarcode()); wrkDetl.setIoTime(now); wrkDetl.setWrkNo(workNo); - wrkDetl.setBatch(locDto.getBatch()); + //wrkDetl.setBatch(locDto.getBatch()); wrkDetl.setOrderNo(locDto.getOrderNo()); wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺 wrkDetl.setAppeTime(now); @@ -340,7 +346,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } // 淇敼璁㈠崟鏄庣粏 - if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { + if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); } orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); @@ -366,7 +372,7 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -430,6 +436,9 @@ LocMast locMast = locMastService.selectById(locNo); if (Cools.isEmpty(locMast)) { throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + if (!locMast.getLocSts().equals("D")){ + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); } // 鑾峰彇婧愮珯 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -556,8 +565,13 @@ } } if (!locDetlDtos.isEmpty()) { - // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 - stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); + if (locMast.getLocSts().equals("F")){ + // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 + stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); + }else { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } } else { throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); } @@ -574,6 +588,9 @@ LocMast loc = locMastService.selectById(locNo); if (Cools.isEmpty(loc)){ throw new CoolException("鏈壘鍒板簱浣�"); + } + if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ + throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉"); } if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�"); @@ -855,7 +872,8 @@ waitPakin.setIoStatus("N"); waitPakin.setLocNo(""); waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() - .eq("order_no", waitPakin.getOrderNo()) +// .eq("order_no", waitPakin.getOrderNo()) + .eq("zpallet",waitPakin.getZpallet()) .eq("matnr", waitPakin.getMatnr()) .eq("batch", waitPakin.getBatch())); } @@ -1106,4 +1124,31 @@ return targetLoc.getLocNo(); } + @Override + @Transactional + public void turnMatLocDetl(EmptyPlateOutParam param, Long userId) { + Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("id", param.getMatId())); + if (Cools.isEmpty(mat)){ + throw new CoolException("鐩爣搴撲綅鍟嗗搧缂栫爜鏈夎锛�"); + } + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getLocDetls().get(0).getMatnr())); + if (Cools.isEmpty(locDetls) || locDetls.size()<1){ + throw new CoolException("寰呬慨鏀瑰晢鍝佹棤搴撳瓨锛屾棤闇�淇敼锛� 鍝佸彿锛�"+param.getLocDetls().get(0).getMatnr()); + } + try { + locDetlService.updateMatTurn(param.getLocDetls().get(0).getMatnr(),mat.getMatnr()); + }catch (Exception e){ + throw new CoolException("瀵规暟鎹簱淇敼鍑洪敊锛�"); + } + for (LocDetl locDetl:locDetls){ + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatnr(mat.getMatnr()); + adjDetl.setMatnrOld(param.getLocDetls().get(0).getMatnr()); + adjDetl.setAdjQty(locDetl.getAnfme()); + adjDetlService.save(adjDetl, userId); + } + } + } -- Gitblit v1.9.1