From d3cb0e841e6585aa84a45f18bb30965db8d1a6aa Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 08 一月 2025 15:48:40 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 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 d472c07..b78245d 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -201,6 +201,8 @@ ioType = dto.isAll() ? 101 : 103; } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) { ioType = 107; + } else if (ioWorkType.equals(IoWorkType.MERGE_OUT)) { + ioType = 104; } assert ioType != null; // 鑾峰彇搴撲綅 @@ -432,6 +434,10 @@ .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); Integer sourceStaNo = staDesc.getCrnStn(); + WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", locMast.getLocNo())); + if (!Cools.isEmpty(mast)) { + throw new CoolException(locNo+"宸叉湁鍑哄簱浠诲姟锛�"); + } if (Cools.isEmpty(sourceStaNo)) { throw new CoolException("妫�绱㈡簮绔欏け璐�"); } @@ -442,7 +448,7 @@ wrkMast.setIoTime(now); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 - wrkMast.setIoPri(10D); + wrkMast.setIoPri(13D); wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� wrkMast.setCrnNo(locMast.getCrnNo()); @@ -552,6 +558,27 @@ if (!locDetlDtos.isEmpty()) { // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); + } else { + throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); + } + } + + @Override + @Transactional + public void locMergeOut(StockOutParam param, Long userId) { + // 鐩爣绔欑偣鐘舵�佹娴� + BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); + // 鑾峰彇搴撲綅鏄庣粏 + List<LocDetlDto> locDetlDtos = new ArrayList<>(); + for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { + if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { + LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); + if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); + } + } + if (!locDetlDtos.isEmpty()) { + // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱 + stockOut(staNo, locDetlDtos, IoWorkType.MERGE_OUT, userId); } else { throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�"); } @@ -763,6 +790,13 @@ Date now = new Date(); List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo())); + String zpallet = ""; + for (LocDetl locDetl : locDetls) { + if (!Cools.isEmpty(locDetl.getZpallet())) { + zpallet = locDetl.getZpallet(); + } + } + List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList(); // 淇敼鏁伴噺 @@ -826,8 +860,8 @@ Mat mat = matService.selectByMatnr(adjust.getMatnr()); LocDetl locDetl = new LocDetl(); locDetl.sync(mat); + locDetl.setZpallet(zpallet); locDetl.setBatch(adjust.getBatch()); - locDetl.setBarcode(locDetls.get(0).getBarcode()); locDetl.setLocNo(locMast.getLocNo()); locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 -- Gitblit v1.9.1