From b8b193fddead0318eca4ee81167e873df622854c Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期三, 22 五月 2024 16:10:41 +0800 Subject: [PATCH] # --- zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java index 23d3fdb..06afdd8 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java @@ -5,6 +5,7 @@ import com.zy.asrs.common.domain.entity.StaDesc; import com.zy.asrs.common.domain.enums.IoWorkType; import com.zy.asrs.common.domain.enums.WorkNoType; +import com.zy.asrs.common.domain.param.EmptyPlateOutParam; import com.zy.asrs.common.domain.param.FullStoreParam; import com.zy.asrs.common.domain.param.LocDetlAdjustParam; import com.zy.asrs.common.domain.param.StockOutParam; @@ -227,6 +228,70 @@ } @Override + public void emptyPlateOut(EmptyPlateOutParam param, Long userId, Long hostId) { + if (Cools.isEmpty(param.getOutSite())) { + throw new CoolException("绔欑偣涓嶅瓨鍦�"); + } + for (String locNo : param.getLocNos()) { + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>() + .eq(LocMast::getLocNo, locNo) + .eq(LocMast::getHostId, hostId)); + if (Cools.isEmpty(locMast)) { + throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + if (!locMast.getLocSts().equals("D")){ + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } + // 鑾峰彇婧愮珯 + StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>() + .eq(StaDesc::getTypeNo, 110) + .eq(StaDesc::getStnNo, param.getOutSite()) + .eq(StaDesc::getDeviceNo, locMast.getCrnNo())); + Integer sourceStaNo = staDesc.getDeviceStn(); + if (Cools.isEmpty(sourceStaNo)) { + throw new CoolException("妫�绱㈡簮绔欏け璐�"); + } + Date now = new Date(); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(101L); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱ID + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 + wrkMast.setIoPri(10D); + wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 + wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setAppeUser(String.valueOf(userId)); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(String.valueOf(userId)); + wrkMast.setModiTime(now); + wrkMast.setHostId(hostId); + boolean res = wrkMastService.save(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMast.getLocSts().equals("D")){ + locMast.setLocSts("R"); + locMast.setModiUser(userId); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + } + } + + @Override @Transactional public void stockOut(Integer staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, Long hostId) { Date now = new Date(); -- Gitblit v1.9.1