From 4fb06a58ed5df46f29af1e9fa65cfd40335263ad Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 18 一月 2025 17:06:18 +0800 Subject: [PATCH] # 6. 大屏添加作业类型 (全盘,还是分拣 IOType) 10.平库出库时,当前平库ID是写死在Sql里,需修改 11.平库出库没有判断是否预约出库,且生成拣货单时没有锁定库存,需确认是否考虑回库问题 26. 已拣过货的任务明细,可以再次拣货,拣货明细需添加一个拣货状态 47. 确认发货前,需判断是否已绑定至集货区 48. CTU出库后,库位103不再删除原有库位信息 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 17 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java index 16e47ac..dc72f46 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.IService; import com.zy.asrs.framework.common.R; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.asrs.entity.*; @@ -17,7 +18,6 @@ import com.zy.asrs.wms.system.entity.Host; import com.zy.asrs.wms.system.service.HostService; import io.netty.util.internal.StringUtil; -import org.aspectj.weaver.ast.Or; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -81,6 +81,12 @@ private WaveSeedLogService waveSeedLogService; @Autowired private OrderDetlLogService orderDetlLogService; + + @Autowired + private PlatformDetlService platformDetlService; + @Autowired + private PlatformDetlLogService platformDetlLogService; + @Override @@ -257,10 +263,11 @@ .eq(PickSheet::getDeleted, 0) .eq(PickSheet::getStatus, 1) ); - BeanUtils.copyProperties(pickSheet, pickDetlDto); - if (Objects.isNull(pickDetlDto)) { - throw new CoolException("瀵硅薄澶嶅埗澶辫触锛侊紒"); + if (Objects.isNull(pickSheet)) { + throw new CoolException("鎷h揣鍗曚笉瀛樺湪锛侊紒"); } + BeanUtils.copyProperties(pickSheet, pickDetlDto); + List<PickSheetDetl> sheetDetls = pickSheetDetlService.list(new LambdaQueryWrapper<PickSheetDetl>() .eq(PickSheetDetl::getPickId, pickSheet.getId()) .eq(PickSheetDetl::getStatus, 1) @@ -300,8 +307,8 @@ throw new CoolException("鏁版嵁閿欒锛侊紒"); } //鏇存柊閿佸畾搴撳瓨 - BigDecimal workQty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme()); - detl.setWorkQty(workQty.doubleValue()); +// BigDecimal workQty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme()); + detl.setWorkQty(0.0); //璁$畻缁撴灉灏忎簬绛変簬闆讹紝绉诲嚭搴撳瓨鏄庣粏 BigDecimal qty = BigDecimal.valueOf(detl.getAnfme()).subtract(pickDetl.getAnfme()); detl.setAnfme(qty.doubleValue()); @@ -324,7 +331,7 @@ .set(Loc::getBarcode, null) .set(Loc::getUpdateTime, new Date()) .set(Loc::getLocStsId, LocStsType.O.val())); - if (update) { + if (!update) { throw new CoolException("搴撳瓨鏇存柊澶辫触锛侊紒 "); } } @@ -442,6 +449,18 @@ if (params.isEmpty()) { throw new CoolException("鍙戣揣鍗曟嵁鏄庣粏涓虹┖锛屼笉鍙墽琛屽彂璐ф搷浣滐紒锛�"); } + + //鑾峰彇褰撳墠涓婁紶鎵�鏈夎鍗曞彿 + Set<String> orderNoSet = params.stream().map(ShippingOrderDetlDto::getOrderNo).collect(Collectors.toSet()); + if (orderNoSet.isEmpty()) { + throw new CoolException("涓诲崟淇℃伅涓嶅瓨鍦紝璇锋牳瀵瑰嚭搴撹鍗曪紒锛�"); + } + + List<Order> orderList = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getOrderNo, orderNoSet)); + if (orderList.isEmpty()) { + throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�"); + } + params.forEach(order -> { OrderDetl byId = orderDetlService.getById(order.getId()); if (Objects.isNull(byId)) { @@ -489,16 +508,6 @@ } }); - //鑾峰彇褰撳墠涓婁紶鎵�鏈夎鍗曞彿 - Set<String> orderNoSet = params.stream().map(ShippingOrderDetlDto::getOrderNo).collect(Collectors.toSet()); - if (orderNoSet.isEmpty()) { - throw new CoolException("涓诲崟淇℃伅涓嶅瓨鍦紝璇锋牳瀵瑰嚭搴撹鍗曪紒锛�"); - } - - List<Order> orderList = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getOrderNo, orderNoSet)); - if (orderList.isEmpty()) { - throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�"); - } orderList.forEach(one -> { OrderLog orderLog = new OrderLog(); BeanUtils.copyProperties(one, orderLog); @@ -553,6 +562,23 @@ } } + Set<Long> ordersSet = orderList.stream().map(Order::getId).collect(Collectors.toSet()); + List<PlatformDetl> platDetls = platformDetlService.list(new LambdaQueryWrapper<PlatformDetl>().in(PlatformDetl::getOrderId, ordersSet)); + if (platDetls.isEmpty()) { + throw new CoolException("璁㈠崟淇℃伅鏈繘闆嗚揣鍖猴紒锛�"); + } + ArrayList<PlatformDetlLog> platformDetls = new ArrayList<>(); + platDetls.forEach(plat -> { + PlatformDetlLog detl = new PlatformDetlLog(); + BeanUtils.copyProperties(plat, detl); + detl.setId(null); + platformDetls.add(detl); + }); + //闆嗚揣鍖鸿浆鍘嗗彶妗� + if (!platformDetlLogService.saveBatch(platformDetls)) { + throw new CoolException("闆嗚揣鍖鸿鍗曡浆鍘嗗彶妗eけ璐ワ紒锛�"); + } + return R.ok("鍙戣揣瀹屾垚锛侊紒"); } -- Gitblit v1.9.1