From 10c764129862523904f58c21e06b7769a90f505b Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Thu, 20 Nov 2025 10:47:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingApi.java | 2 ++ .../ConfigMaterialCategoryServiceImpl.java | 8 +++--- .../cgd/mapper/NuInvoicingCgdInfoMapper.java | 2 ++ .../mapper/xml/NuInvoicingCgdInfoMapper.xml | 9 +++++++ .../impl/NuInvoicingCgdMainServiceImpl.java | 27 ++++++++++++++++--- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java index 3cce3f0..bce5912 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingApi.java @@ -59,6 +59,8 @@ public class InvoicingApi { return Result.error("添加的物料配置错误,请检查物料是否在对应仓库里!"); }else if("4".equals( result)){ return Result.error("购物车最大数量为"+maxCount+",请购数量超出限制"); + }else if(result.indexOf("5@")>-1){ + return Result.error("请购总数量超出库存上限,请修改请购数量,已超出数量为:" + result.split("@")[1]); } return Result.OK("添加成功!"); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java index 35cbd38..3b9ed3a 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java @@ -254,9 +254,11 @@ public class ConfigMaterialCategoryServiceImpl extends ServiceImpl oneSet = new LinkedHashSet<>(Arrays.asList(oneParts)); diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/NuInvoicingCgdInfoMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/NuInvoicingCgdInfoMapper.java index 26e36bd..1e8b825 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/NuInvoicingCgdInfoMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/NuInvoicingCgdInfoMapper.java @@ -18,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface NuInvoicingCgdInfoMapper extends BaseMapper { List queryCgdInfoList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectWlNumList(@Param("params") NuInvoicingCgdInfo nuInvoicingCgdInfo); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/xml/NuInvoicingCgdInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/xml/NuInvoicingCgdInfoMapper.xml index 1e182f8..285f6bb 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/xml/NuInvoicingCgdInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/mapper/xml/NuInvoicingCgdInfoMapper.xml @@ -9,4 +9,13 @@ LEFT JOIN nu_warehouse_material_info d on a.wl_id = d.wl_id ${ew.customSqlSegment} + + + \ No newline at end of file diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java index 9aba5c3..2f80dbb 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java @@ -145,7 +145,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl page = new Page(pageNo, pageSize); List list = qgdInfoMapper.queryShoppingCartList(page, queryWrapper); //封装返回结果 @@ -175,15 +175,19 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl listqg = qgdInfoMapper.selectList(new QueryWrapper().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId())); int totalQgsl = 0; + //判断库存数量是否超出上限 if(StringUtils.isNotBlank(info.getKcsl())){ totalQgsl = Integer.parseInt(info.getKcsl()); } + //计算物料的总数量(这个是按照 库存数量+请购车数量) for(QgdInfo qgdInfoParam : listqg){ totalQgsl += qgdInfoParam.getPurchaseQuantity(); } @@ -193,6 +197,20 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl listcg = cgdInfoMapper.selectWlNumList(cgdInfoParam); + int cgdNum = 0; + for(NuInvoicingCgdInfo cgdInfo : listcg){ + cgdNum += cgdInfo.getPurchaseQuantity(); + } + + if(Integer.parseInt(upperLimit)<(totalQgsl + dqsl + cgdNum)){ + result = "5@"+ (totalQgsl + dqsl + cgdNum); + break; + } } info.setWlName(ConfigMaterialInfo.getMaterialName()); info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo()); @@ -397,7 +415,10 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl queryWrapper = QueryGenerator.initQueryWrapper("a",nuInvoicingCgdInfo, req.getParameterMap()); +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a",nuInvoicingCgdInfo, req.getParameterMap()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("a.cgd_id",cgdInfoEntityDto.getCgdId()); +// queryWrapper.eq("d.nu_id",cgdInfoEntityDto.getNuId()); Page page = new Page<>(pageNo, pageSize); queryWrapper.apply(StringUtils.isNotBlank(cgdInfoEntityDto.getWlParamInfo()),"( b.material_name like concat('%', '"+cgdInfoEntityDto.getWlParamInfo()+"' , '%') or\n" + " b.pinyin like concat('%', '"+cgdInfoEntityDto.getWlParamInfo()+"' , '%') or\n" + @@ -595,7 +616,7 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl list = configMaterialInfoMapper.getGwcTreeDataWlnum(queryWrapper); map.put("success",true);