From de4ef006598b2c3b3f565faccbe1bb355090550c Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 9 May 2024 11:17:15 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E6=89=8B=E6=8C=81=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E4=BB=93=E4=BD=8D=E6=95=B0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProductInstorServiceImpl.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index eeb73e662..5e62ec19b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -33,6 +33,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * @author zhouz @@ -251,12 +252,26 @@ public class ProductInstorServiceImpl implements ProductInstorService { String download_attr_num = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("download_attr_num").getValue(); // 校验仓位数是否满足 - JSONObject jsonAttr = attrList.stream() - .filter(row -> row.getDoubleValue("num") <= Double.parseDouble(download_attr_num)) - .findFirst().orElse(null); + if(box_high <= Double.parseDouble(in_download_box_high)) { + JSONObject jsonOne = attrList.stream() + .filter(row -> row.getString("layer_num").equals("1")) + .findFirst().orElse(null); - if (ObjectUtil.isNotEmpty(jsonAttr)) { - throw new BadRequestException(jsonAttr.getString("layer_num") + "层主存区仓位数不足" + download_attr_num +"个,不允许入库!"); + if (jsonOne.getDoubleValue("num") <= Double.parseDouble(download_attr_num)) { + throw new BadRequestException(jsonOne.getString("layer_num") + "层主存区仓位数不足" + download_attr_num +"个,不允许入库!"); + } + } else { + List layerList = attrList.stream() + .filter(row -> "2,3".contains(row.getString("layer_num"))) + .collect(Collectors.toList()); + + JSONObject jsonAttr = layerList.stream() + .filter(row -> row.getDoubleValue("num") <= Double.parseDouble(download_attr_num)) + .findFirst().orElse(null); + + if (ObjectUtil.isNotEmpty(jsonAttr)) { + throw new BadRequestException(jsonAttr.getString("layer_num") + "层主存区仓位数不足" + download_attr_num +"个,不允许入库!"); + } } JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);