From 4391af490bdc1ecbe0d0e949dc4fc3b95bead0cf Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 06 八月 2025 19:07:09 +0800 Subject: [PATCH] 8-6问题修复 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java index e22e623..c8d37ea 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java @@ -40,6 +40,8 @@ private OrderUtils orderUtils; @Autowired private WaitPakinService waitPakinService; + @Autowired + private LocDetlService locDetlService; @Override @Transactional @@ -82,7 +84,7 @@ } for (HashMap<String, Object> map : param.getList()) { - double anfme = Double.parseDouble(map.get("anfme").toString()); + Double anfme = Double.parseDouble(map.get("anfme").toString()); String batch = map.get("batch").toString(); String matnr = map.get("matnr").toString(); Double qty = 0D; @@ -93,6 +95,20 @@ if (map.containsKey("workQty")) { workQty = Double.parseDouble(map.get("workQty").toString()); } + + if (param.getOrderType() == 2) { + List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>() + .eq(StringUtils.isNotBlank(batch), LocDetl::getBatch, batch) + .eq(StringUtils.isNotBlank(matnr), LocDetl::getMatnr, matnr)); + if (detls.isEmpty()) { + throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�0" + "锛屾棤娉曠敓鎴愬嚭搴撳崟!!"); + } + Double sum = detls.stream().mapToDouble(LocDetl::getAnfme).sum(); + if (anfme.compareTo(sum) > 0) { + throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�" + sum + "锛屾棤娉曠敓鎴愬嚭搴撳崟!!"); + } + } + String memo = map.getOrDefault("memo", "").toString(); Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); if (mat == null) { @@ -307,12 +323,12 @@ @Override public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) { if (!Objects.isNull(matnr)) { - Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>() - .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false); - if (Objects.isNull(mat)) { +// Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>() +// .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false); + if (Objects.isNull(matnr)) { return this.baseMapper.getDetlForOrderId(id, null); } else { - return this.baseMapper.getDetlForOrderId(id, mat.getId()); + return this.baseMapper.getDetlForOrderId(id, matnr); } } else { return this.baseMapper.getDetlForOrderId(id, null); -- Gitblit v1.9.1