From e5db8cd238009bc567e881d3dabe6d660ed5ad6e Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 26 Nov 2025 15:59:26 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=AD=9B=E9=80=89=E6=A0=91=202?= =?UTF-8?q?=E3=80=81=E6=A0=91=E7=9A=84=E6=AF=8F=E7=BA=A7=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E7=89=A9=E6=96=99=E6=95=B0=E9=87=8F=203=E3=80=81=E6=A3=80?= =?UTF-8?q?=E7=B4=A2=EF=BC=88=E8=BF=94=E5=9B=9E=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=B8=A6=E8=B4=AD=E7=89=A9=E8=BD=A6id=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=B7=E9=A2=86=E6=95=B0=E9=87=8F=E3=80=81=E7=BD=AE?= =?UTF-8?q?=E9=A1=B6=E6=A0=87=E8=AF=86=EF=BC=8C=E6=98=AF=E5=90=A6=E5=B7=B2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B4=AD=E7=89=A9=E8=BD=A6=EF=BC=89=EF=BC=9A?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E3=80=81=E8=A7=84=E6=A0=BC=E5=9E=8B=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E6=8B=BC=E9=9F=B3=E3=80=81=E7=89=A9=E6=96=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81+=E7=AD=9B=E9=80=89=E9=87=8C=E9=9D=A2=E5=B7=B2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingQldApi.java | 36 ++++++++++ .../com/nu/entity/MaterialInfoEntity.java | 2 + .../modules/invoicing/api/IQinglingApi.java | 7 ++ .../qld/service/impl/QingLingServiceImpl.java | 71 ++++++++++++++++++- .../entity/BlWarehouseMaterialInfo.java | 5 ++ .../mapper/BlWarehouseMaterialInfoMapper.java | 6 +- .../xml/BlWarehouseMaterialInfoMapper.xml | 44 +++++++++++- 7 files changed, 166 insertions(+), 5 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java index 32c32e47..1268c9a4 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingQldApi.java @@ -1,14 +1,18 @@ package com.nu.modules.pad.invoicing.api; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.nu.entity.MaterialCategoryEntity; +import com.nu.entity.MaterialInfoEntity; import com.nu.modules.invoicing.api.IQinglingApi; import io.swagger.annotations.ApiOperation; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -22,6 +26,11 @@ public class InvoicingQldApi { @Autowired private IQinglingApi qinglingApi; + /** + * 物料树查询(库房中已有物料) + * @param configMaterialCategory + * @return + */ @ApiOperation(value = "获取物料分类树", notes = "获取物料分类树") @GetMapping(value = "/getMaterialTreeData") public Result>> getMaterialTreeData(MaterialCategoryEntity configMaterialCategory) { @@ -30,4 +39,31 @@ public class InvoicingQldApi { return Result.OK(pageList); } + /** + * 获取物料三级分类对应类别下物料种类数量 + * @param configMaterialCategory + * @return + */ + @ApiOperation(value="获取物料三级分类对应类别下物料种类数量", notes="获取物料三级分类对应类别下物料种类数量") + @GetMapping(value = "/getTreeDataWlnum") + public Result> getTreeDataWlnum(MaterialCategoryEntity configMaterialCategory) { + Map pageList = qinglingApi.getTreeDataWlnum(configMaterialCategory); + return Result.OK(pageList); + } + + /** + * 查询物料信息 + * @param materialInfoEntityDto + * @return + */ + @ApiOperation(value = "查询物料信息-分页列表查询", notes = "查询物料信息-分页列表查询") + @GetMapping(value = "/queryInvoicingList") + public Result> queryInvoicingList(MaterialInfoEntity materialInfoEntityDto, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = qinglingApi.queryInvoicingList(pageNo, pageSize, materialInfoEntityDto,req); + return Result.OK(pageList); + } + } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java index 980ad171..b76954ec 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/MaterialInfoEntity.java @@ -127,4 +127,6 @@ public class MaterialInfoEntity implements Serializable { private String medicationName; private String isAdd; private String delId; + + private String elderId; } diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java index 20b41c2e..5cc6efee 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IQinglingApi.java @@ -1,7 +1,10 @@ package com.nu.modules.invoicing.api; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.nu.entity.MaterialCategoryEntity; +import com.nu.entity.MaterialInfoEntity; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -9,4 +12,8 @@ public interface IQinglingApi { List> getMaterialTreeData(MaterialCategoryEntity configMaterialCategory); + Map getTreeDataWlnum(MaterialCategoryEntity configMaterialCategory); + + IPage queryInvoicingList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req); + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java index 34d8b1af..09a0d499 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java @@ -1,13 +1,27 @@ package com.nu.modules.qld.service.impl; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.entity.MaterialCategoryEntity; +import com.nu.entity.MaterialInfoEntity; import com.nu.modules.ConfigMaterial.entity.ConfigMaterialCategory; +import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo; +import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper; import com.nu.modules.ConfigMaterial.service.IConfigMaterialCategoryService; import com.nu.modules.invoicing.api.IQinglingApi; +import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo; +import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper; +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -22,13 +36,66 @@ public class QingLingServiceImpl implements IQinglingApi { @Autowired private IConfigMaterialCategoryService configMaterialCategoryService; + @Autowired + private ConfigMaterialInfoMapper configMaterialInfoMapper; + @Autowired + private BlWarehouseMaterialInfoMapper mterialInfoMapper; @Override public List> getMaterialTreeData(MaterialCategoryEntity materialCategoryEntity) { ConfigMaterialCategory configMaterialCategory = new ConfigMaterialCategory(); - BeanUtils.copyProperties(materialCategoryEntity,configMaterialCategory); - List> pageList = configMaterialCategoryService.getAllMaterialTreeData(configMaterialCategory); + BeanUtils.copyProperties(materialCategoryEntity, configMaterialCategory); + List> pageList = configMaterialCategoryService.getAllMaterialTreeData(configMaterialCategory); return pageList; } + @Override + public Map getTreeDataWlnum(MaterialCategoryEntity configMaterialCategory) { + Map map = new HashMap<>(); + QueryWrapper queryWrapper = new QueryWrapper(); + if (StringUtils.isEmpty(configMaterialCategory.getNuId())) { + map.put("success", false); + map.put("message", "参数错误"); + map.put("totalSize", null); + return map; + } + queryWrapper.eq("a.del_flag", "0"); + queryWrapper.eq("a.iz_enabled", "Y"); + queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getCategoryId()), "b.category_id", configMaterialCategory.getCategoryId()); + queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getTypeId()), "b.type_id", configMaterialCategory.getTypeId()); + queryWrapper.eq(StringUtils.isNotEmpty(configMaterialCategory.getMedicationId()), "b.medication_id", configMaterialCategory.getMedicationId()); + queryWrapper.in(StringUtils.isNotBlank(configMaterialCategory.getSuppliers()), "b.suppliers", configMaterialCategory.getSuppliers()); + List list = configMaterialInfoMapper.getTreeDataWlnum(queryWrapper); + map.put("success", true); + map.put("message", "物料数量"); + map.put("totalSize", list.size()); + return map; + } + + @Override + public IPage queryInvoicingList(Integer pageNo, Integer pageSize, MaterialInfoEntity materialInfoEntityDto, HttpServletRequest req) { + if(StringUtils.isEmpty(materialInfoEntityDto.getNuId()) || StringUtils.isEmpty(materialInfoEntityDto.getElderId())){ + return new Page<>(); + } + BlWarehouseMaterialInfo warehouseMaterialInfo = new BlWarehouseMaterialInfo(); + BeanUtils.copyProperties(materialInfoEntityDto, warehouseMaterialInfo); + Map customeRuleMap = new HashMap<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(warehouseMaterialInfo, req.getParameterMap(), customeRuleMap); + queryWrapper.apply(StringUtils.isNotBlank(warehouseMaterialInfo.getWlParamInfo()), "( material_name like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or material_no like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or pinyin like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' or specification_model like '%" + warehouseMaterialInfo.getWlParamInfo() + "%' ) "); + queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getCategoryId()), "category_id", warehouseMaterialInfo.getCategoryId()); + queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getTypeId()), "type_id", warehouseMaterialInfo.getTypeId()); + queryWrapper.eq(StringUtils.isNotBlank(warehouseMaterialInfo.getMedicationId()), "medication_id", warehouseMaterialInfo.getMedicationId()); + queryWrapper.in(StringUtils.isNotBlank(warehouseMaterialInfo.getSuppliers()), "suppliers", warehouseMaterialInfo.getSuppliers()); + if (StringUtils.isNotBlank(materialInfoEntityDto.getIsWaring()) && "1".equals(materialInfoEntityDto.getIsWaring())) { + queryWrapper.apply("kcsl <= lower_limit"); + } + queryWrapper.eq("del_flag", "0"); + queryWrapper.eq("iz_enabled", "Y"); + Page page = new Page<>(pageNo, pageSize); + List list = mterialInfoMapper.selectListByZd(page, queryWrapper, materialInfoEntityDto); + IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); + entityPage.setRecords(BeanUtil.copyToList(list, MaterialInfoEntity.class)); + return entityPage; + } + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/entity/BlWarehouseMaterialInfo.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/entity/BlWarehouseMaterialInfo.java index d36e2808..eb735ca0 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/entity/BlWarehouseMaterialInfo.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/entity/BlWarehouseMaterialInfo.java @@ -194,4 +194,9 @@ public class BlWarehouseMaterialInfo implements Serializable { private java.lang.String typeName; @TableField(exist = false) private java.lang.String medicationName; + @TableField(exist = false) + private java.lang.String zhiDingId; + @TableField(exist = false) + private Date zhiDingTime; + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java index 9de85f4d..b149ee39 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/BlWarehouseMaterialInfoMapper.java @@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 库房物料配置信息 * @Author: jeecg-boot - * @Date: 2025-08-28 + * @Date: 2025-08-28 * @Version: V1.0 */ public interface BlWarehouseMaterialInfoMapper extends BaseMapper { @@ -24,11 +24,13 @@ public interface BlWarehouseMaterialInfoMapper extends BaseMapper getRemainingList(@Param("params") BlWarehouseMaterialInfo blWarehouseMaterialInfo); - void batchInsert(@Param("list")List list); + void batchInsert(@Param("list") List list); void deleteBatch(@Param("ids") String ids); void deleteAllWuliao(@Param("nuId") String nuId); List wlInfo(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List selectListByZd(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("dto") MaterialInfoEntity dto); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml index fe74fe2d..e03b47e9 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/warehouseMaterialInfo/mapper/xml/BlWarehouseMaterialInfoMapper.xml @@ -116,4 +116,46 @@ DELETE FROM nu_warehouse_material_info WHERE nu_id = #{nuId} and kcsl -0 <= 0 - \ No newline at end of file + +