From f193fdd84d868624bc53cb0da4425d258153afaf Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 16 七月 2025 15:41:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 74 ++++++++++++++++++++++++++++++------- 1 files changed, 60 insertions(+), 14 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 fb4a88e..ae419d8 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -15,6 +15,7 @@ import com.zy.asrs.entity.result.FindLocNoAttributeVo; import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.service.*; +import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; @@ -189,9 +190,7 @@ public void startupFullTakeStore(StockOutParam param, Long userId) { // 鐩爣绔欑偣鐘舵�佹娴� BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite()); - if (Cools.isEmpty(param.getItemId())) { - throw new CoolException("鎵�鍏ヤ粨搴撲笉鑳戒负绌�"); - } + // 鑾峰彇搴撲綅鏄庣粏 List<LocDetlDto> locDetlDtos = new ArrayList<>(); for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { @@ -327,15 +326,6 @@ ioType = dto.isAll() ? 101 : 103; } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) { ioType = 107; - if (Cools.isEmpty(checkOrderNo)) { - checkOrderNo = DateUtils.createTimeStamp(); - InventoryCheckOrder checkOrder = new InventoryCheckOrder(); - checkOrder.setCreateBy(userId); - checkOrder.setStatus("1"); - checkOrder.setCreateTime(new Date()); - checkOrder.setOrderNo(checkOrderNo); - checkOrderService.insert(checkOrder); - } } assert ioType != null; // 鑾峰彇搴撲綅 @@ -348,9 +338,38 @@ // } // 鑾峰彇璺緞 - StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); + List<StaDesc> staDescs = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); + StaDesc staDesc = staDescs.get(0); + if (locMast.getCrnNo() == 1) { + int finalCrnStn = 1016; + if (locMast.getRow1() <= 3) { + finalCrnStn = 1013; + } + + for (StaDesc desc : staDescs) { + if (desc.getCrnStn() == finalCrnStn) { + staDesc = desc; + break; + } + } + } + // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + + if (ioType == 107) { + if (Cools.isEmpty(checkOrderNo)) { + checkOrderNo = DateUtils.createTimeStamp() + "_" + workNo; + InventoryCheckOrder checkOrder = new InventoryCheckOrder(); + checkOrder.setCreateBy(userId); + checkOrder.setStatus("1"); + checkOrder.setArea(String.valueOf(workNo)); + checkOrder.setCreateTime(new Date()); + checkOrder.setOrderNo(checkOrderNo); + checkOrderService.insert(checkOrder); + } + } + // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -396,7 +415,11 @@ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } if (ioType == 107) { - List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrderNo).eq("loc_no", dto.getLocNo())); + List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("order_no", checkOrderNo) + .eq("loc_no", dto.getLocNo()) + .eq("batch", wrkDetl.getBatch()) + ); if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { throw new CoolException("璇ュ簱浣嶇殑鐩樼偣浠诲姟宸茬粡娣诲姞鍒颁簡璇ュ簱浣嶄腑"); } @@ -407,6 +430,8 @@ checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch()); checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo()); checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme()); + checkOrderDetl.setArea(String.valueOf(workNo)); + checkOrderDetl.setCwarehouseid(wrkDetl.getStandby1()); checkOrderDetl.setIoTime(new Date()); checkOrderDetl.setStatus("0"); checkOrderDetlService.insert(checkOrderDetl); @@ -483,6 +508,19 @@ , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3()); } + + Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>() + .eq("loc_no", wrkMast.getSourceLocNo()) + .eq("matnr", orderDetlPakout.getMatnr()); + if (!Cools.isEmpty(locDto.getBatch())) { + wrapper.eq("batch", locDto.getBatch()); + } + if (!Cools.isEmpty(orderDetlPakout.getSpecs())) { + wrapper.eq("specs", orderDetlPakout.getSpecs()); + } + + LocDetl locDetl = locDetlService.selectOne(wrapper); + WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetlPakout); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -496,6 +534,14 @@ wrkDetl.setModiTime(now); wrkDetl.setModiUser(userId); wrkDetl.setThreeCode(orderDetlPakout.getId() + ""); + wrkDetl.setSupp(orderPakout.getCstmrName()); + wrkDetl.setStockNum(locDetl.getAnfme());//搴撳瓨 + wrkDetl.setStockNum2(locDetl.getWeight());//杈呭簱瀛� + wrkDetl.setKpCstmrName(orderPakout.getKpCstmrName()); + + //璁$畻杈呮暟閲� + Double weight = MatUtils.calcWeight(wrkDetl.getMatnr(), wrkDetl.getAnfme()); + wrkDetl.setWeight(weight); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } -- Gitblit v1.9.1