From 548818d6865427107a132d8659aa89c32833b463 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Sat, 28 Feb 2026 15:52:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E6=9C=BA=E5=88=B6=E5=8F=8A=E7=89=A9=E6=96=99?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NuBizAllMaterialInfoController.java | 218 ++++++++++++++++ .../entity/NuBizAllMaterialInfo.java | 67 +++-- .../mapper/NuBizAllMaterialInfoMapper.java | 17 ++ .../mapper/xml/NuBizAllMaterialInfoMapper.xml | 5 +- .../service/INuBizAllMaterialInfoService.java | 14 + .../impl/NuBizAllMaterialInfoServiceImpl.java | 19 ++ .../NuBizSuppliersMaterialInfoController.java | 244 ++++++++++++++++++ .../entity/NuBizSuppliersMaterialInfo.java | 58 +++-- .../NuBizSuppliersMaterialInfoMapper.java | 18 ++ .../xml/NuBizSuppliersMaterialInfoMapper.xml | 23 ++ .../INuBizSuppliersMaterialInfoService.java | 17 ++ ...NuBizSuppliersMaterialInfoServiceImpl.java | 25 ++ .../xml/NuEmployeesAdvisoryInfoMapper.xml | 3 +- .../employees/api/EmployeesInfoApi.java | 10 +- .../com/nu/dto/NuBizAllMaterialInfoDto.java | 78 ++++++ .../ConfigMaterialCategoryController.java | 202 --------------- .../ConfigMaterialInfoController.java | 187 -------------- .../ConfigMaterialMedicationController.java | 187 -------------- .../ConfigMaterialTypeController.java | 185 ------------- .../entity/ConfigMaterialMedication.java | 83 ------ .../mapper/ConfigMaterialCategoryMapper.java | 22 -- .../ConfigMaterialMedicationMapper.java | 17 -- .../mapper/ConfigMaterialTypeMapper.java | 17 -- .../xml/ConfigMaterialCategoryMapper.xml | 23 -- .../xml/ConfigMaterialMedicationMapper.xml | 5 - .../IConfigMaterialCategoryService.java | 23 -- .../service/IConfigMaterialInfoService.java | 14 - .../IConfigMaterialMedicationService.java | 14 - .../service/IConfigMaterialTypeService.java | 14 - .../ConfigMaterialCategoryServiceImpl.java | 175 ------------- .../impl/ConfigMaterialInfoServiceImpl.java | 19 -- .../ConfigMaterialMedicationServiceImpl.java | 19 -- .../impl/ConfigMaterialTypeServiceImpl.java | 19 -- .../java/org/jeecg/job/AllMaterialJob.java | 31 +++ .../entity/ConfigMaterialInfo.java | 62 ++--- .../mapper/ConfigMaterialInfoMapper.java | 7 +- .../mapper/xml/ConfigMaterialInfoMapper.xml | 2 +- .../service/IConfigMaterialInfoService.java | 21 ++ .../impl/ConfigMaterialInfoServiceImpl.java | 108 ++++++++ 39 files changed, 937 insertions(+), 1335 deletions(-) create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/controller/NuBizAllMaterialInfoController.java rename nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialCategory.java => nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/entity/NuBizAllMaterialInfo.java (53%) create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/NuBizAllMaterialInfoMapper.java rename nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml => nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/xml/NuBizAllMaterialInfoMapper.xml (60%) create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/INuBizAllMaterialInfoService.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/impl/NuBizAllMaterialInfoServiceImpl.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/controller/NuBizSuppliersMaterialInfoController.java rename nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialType.java => nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/entity/NuBizSuppliersMaterialInfo.java (55%) create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/NuBizSuppliersMaterialInfoMapper.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/xml/NuBizSuppliersMaterialInfoMapper.xml create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/INuBizSuppliersMaterialInfoService.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/NuBizSuppliersMaterialInfoServiceImpl.java create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/NuBizAllMaterialInfoDto.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/controller/ConfigMaterialCategoryController.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/controller/ConfigMaterialInfoController.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/controller/ConfigMaterialMedicationController.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/controller/ConfigMaterialTypeController.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialMedication.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialCategoryMapper.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialMedicationMapper.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialTypeMapper.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialCategoryMapper.xml delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialMedicationMapper.xml delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialCategoryService.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialInfoService.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialMedicationService.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialTypeService.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialMedicationServiceImpl.java delete mode 100644 nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialTypeServiceImpl.java create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/job/AllMaterialJob.java rename {nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu => nursing-unit-system/nu-system-biz/src/main/java/org/jeecg}/modules/ConfigMaterial/entity/ConfigMaterialInfo.java (79%) rename {nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu => nursing-unit-system/nu-system-biz/src/main/java/org/jeecg}/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java (56%) rename nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialTypeMapper.xml => nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml (64%) create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/IConfigMaterialInfoService.java create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/controller/NuBizAllMaterialInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/controller/NuBizAllMaterialInfoController.java new file mode 100644 index 0000000..9adcf16 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/controller/NuBizAllMaterialInfoController.java @@ -0,0 +1,218 @@ +package com.nu.modules.allMaterialInfo.controller; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; +import com.nu.modules.allMaterialInfo.entity.NuBizAllMaterialInfo; +import com.nu.modules.allMaterialInfo.service.INuBizAllMaterialInfoService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 物料信息汇总 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +@Api(tags="物料信息汇总") +@RestController +@RequestMapping("/allMaterialInfo/nuBizAllMaterialInfo") +@Slf4j +public class NuBizAllMaterialInfoController extends JeecgController { + @Autowired + private INuBizAllMaterialInfoService nuBizAllMaterialInfoService; + + /** + * 分页列表查询 + * + * @param nuBizAllMaterialInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "物料信息汇总-分页列表查询") + @ApiOperation(value="物料信息汇总-分页列表查询", notes="物料信息汇总-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(NuBizAllMaterialInfo nuBizAllMaterialInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBizAllMaterialInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuBizAllMaterialInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param nuBizAllMaterialInfo + * @return + */ + @AutoLog(value = "物料信息汇总-添加") + @ApiOperation(value="物料信息汇总-添加", notes="物料信息汇总-添加") + @RequiresPermissions("allMaterialInfo:nu_biz_all_material_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody NuBizAllMaterialInfo nuBizAllMaterialInfo) { + nuBizAllMaterialInfoService.save(nuBizAllMaterialInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param nuBizAllMaterialInfo + * @return + */ + @AutoLog(value = "物料信息汇总-编辑") + @ApiOperation(value="物料信息汇总-编辑", notes="物料信息汇总-编辑") + @RequiresPermissions("allMaterialInfo:nu_biz_all_material_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody NuBizAllMaterialInfo nuBizAllMaterialInfo) { + nuBizAllMaterialInfoService.updateById(nuBizAllMaterialInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "物料信息汇总-通过id删除") + @ApiOperation(value="物料信息汇总-通过id删除", notes="物料信息汇总-通过id删除") + @RequiresPermissions("allMaterialInfo:nu_biz_all_material_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + nuBizAllMaterialInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "物料信息汇总-批量删除") + @ApiOperation(value="物料信息汇总-批量删除", notes="物料信息汇总-批量删除") + @RequiresPermissions("allMaterialInfo:nu_biz_all_material_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.nuBizAllMaterialInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "物料信息汇总-通过id查询") + @ApiOperation(value="物料信息汇总-通过id查询", notes="物料信息汇总-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + NuBizAllMaterialInfo nuBizAllMaterialInfo = nuBizAllMaterialInfoService.getById(id); + if(nuBizAllMaterialInfo==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuBizAllMaterialInfo); + } + + /** + * 导出excel + * + * @param request + * @param nuBizAllMaterialInfo + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, NuBizAllMaterialInfo nuBizAllMaterialInfo) { +// nuBizAllMaterialInfo.setSuppliersName("供应商"); + return exportXls(request, nuBizAllMaterialInfo, NuBizAllMaterialInfo.class, "供应商可提供的物料信息"); + } + + /** + * 导出excel + * + * @param request + */ + protected ModelAndView exportXls(HttpServletRequest request, NuBizAllMaterialInfo object, Class clazz, String title) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + queryWrapper.in("id",selectionList); + } + // Step.2 获取导出数据 + List exportList = service.list(queryWrapper); + exportList.forEach(item -> { + item.setSuppliersName(object.getSuppliersName()); + }); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, clazz); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("allMaterialInfo:nu_biz_all_material_info:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, NuBizAllMaterialInfo.class); + } + +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialCategory.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/entity/NuBizAllMaterialInfo.java similarity index 53% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialCategory.java rename to nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/entity/NuBizAllMaterialInfo.java index 064f1ca..0d8add7 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialCategory.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/entity/NuBizAllMaterialInfo.java @@ -1,4 +1,4 @@ -package com.nu.modules.ConfigMaterial.entity; +package com.nu.modules.allMaterialInfo.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; @@ -19,37 +19,23 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * @Description: 物料类别 + * @Description: 物料信息汇总 * @Author: jeecg-boot - * @Date: 2025-03-17 + * @Date: 2026-02-28 * @Version: V1.0 */ @Data -@TableName("nu_config_material_category") +@TableName("nu_biz_all_material_info") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="config_material_category对象", description="物料类别") -public class ConfigMaterialCategory implements Serializable { +@ApiModel(value="nu_biz_all_material_info对象", description="物料信息汇总") +public class NuBizAllMaterialInfo implements Serializable { private static final long serialVersionUID = 1L; /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; - /**物料类别名称*/ - @Excel(name = "物料类别名称", width = 15) - @ApiModelProperty(value = "物料类别名称") - private java.lang.String categoryName; - /**是否启用 Y启用 N未启用*/ - @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") - @Dict(dicCode = "iz_enabled") - @ApiModelProperty(value = "是否启用 Y启用 N未启用") - private java.lang.String izEnabled; - /**是否删除 0未删除 1删除*/ - @Excel(name = "是否删除 0未删除 1删除", width = 15) - @ApiModelProperty(value = "是否删除 0未删除 1删除") - @TableLogic - private java.lang.String delFlag; /**创建人*/ @ApiModelProperty(value = "创建人") private java.lang.String createBy; @@ -66,23 +52,28 @@ public class ConfigMaterialCategory implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; - /**所属部门*/ - @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; - + /**供应商名称*/ + @Excel(name = "供应商", width = 15) @TableField(exist = false) - private String typeName; - @TableField(exist = false) - private String medicationName; - @TableField(exist = false) - private String categoryId; - @TableField(exist = false) - private String typeId; - @TableField(exist = false) - private String medicationId; - - @TableField(exist = false) - private Integer categoryRowSpan; - @TableField(exist = false) - private Integer typeRowSpan; + private java.lang.String suppliersName; + /**货品名称*/ + @Excel(name = "货品名称", width = 15) + @ApiModelProperty(value = "货品名称") + private java.lang.String materialName; + /**规格型号*/ + @Excel(name = "规格型号", width = 15) + @ApiModelProperty(value = "规格型号") + private java.lang.String specificationModel; + /**品牌型号*/ + @Excel(name = "品牌型号", width = 15) + @ApiModelProperty(value = "品牌型号") + private java.lang.String brandType; + /**销售单价*/ + @Excel(name = "销售单价", width = 15) + @ApiModelProperty(value = "销售单价") + private java.math.BigDecimal salesUnitPrice; + /**销售单位*/ + @Excel(name = "销售单位", width = 15) + @ApiModelProperty(value = "销售单位") + private java.lang.String salesUnit; } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/NuBizAllMaterialInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/NuBizAllMaterialInfoMapper.java new file mode 100644 index 0000000..44cebb4 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/NuBizAllMaterialInfoMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.allMaterialInfo.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.allMaterialInfo.entity.NuBizAllMaterialInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 物料信息汇总 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +public interface NuBizAllMaterialInfoMapper extends BaseMapper { + +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/xml/NuBizAllMaterialInfoMapper.xml similarity index 60% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml rename to nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/xml/NuBizAllMaterialInfoMapper.xml index 7b73c47..9e28170 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/mapper/xml/NuBizAllMaterialInfoMapper.xml @@ -1,5 +1,4 @@ - - - \ No newline at end of file + + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/INuBizAllMaterialInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/INuBizAllMaterialInfoService.java new file mode 100644 index 0000000..8d7bdaa --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/INuBizAllMaterialInfoService.java @@ -0,0 +1,14 @@ +package com.nu.modules.allMaterialInfo.service; + +import com.nu.modules.allMaterialInfo.entity.NuBizAllMaterialInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 物料信息汇总 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +public interface INuBizAllMaterialInfoService extends IService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/impl/NuBizAllMaterialInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/impl/NuBizAllMaterialInfoServiceImpl.java new file mode 100644 index 0000000..93a7040 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/allMaterialInfo/service/impl/NuBizAllMaterialInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.nu.modules.allMaterialInfo.service.impl; + +import com.nu.modules.allMaterialInfo.entity.NuBizAllMaterialInfo; +import com.nu.modules.allMaterialInfo.mapper.NuBizAllMaterialInfoMapper; +import com.nu.modules.allMaterialInfo.service.INuBizAllMaterialInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 物料信息汇总 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +@Service +public class NuBizAllMaterialInfoServiceImpl extends ServiceImpl implements INuBizAllMaterialInfoService { + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/controller/NuBizSuppliersMaterialInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/controller/NuBizSuppliersMaterialInfoController.java new file mode 100644 index 0000000..9c113c3 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/controller/NuBizSuppliersMaterialInfoController.java @@ -0,0 +1,244 @@ +package com.nu.modules.bizSuppliers.controller; + +import java.util.*; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.nu.modules.bizSuppliers.service.INuBizSuppliersMaterialInfoService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +@Api(tags="供应商可提供的物料信息") +@RestController +@RequestMapping("/bizSuppliers/nuBizSuppliersMaterialInfo") +@Slf4j +public class NuBizSuppliersMaterialInfoController extends JeecgController { + @Autowired + private INuBizSuppliersMaterialInfoService nuBizSuppliersMaterialInfoService; + + /** + * 分页列表查询 + * + * @param nuBizSuppliersMaterialInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "供应商可提供的物料信息-分页列表查询") + @ApiOperation(value="供应商可提供的物料信息-分页列表查询", notes="供应商可提供的物料信息-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + // 自定义查询规则 + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("suppliersId", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBizSuppliersMaterialInfo, req.getParameterMap(),customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuBizSuppliersMaterialInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param nuBizSuppliersMaterialInfo + * @return + */ + @AutoLog(value = "供应商可提供的物料信息-添加") + @ApiOperation(value="供应商可提供的物料信息-添加", notes="供应商可提供的物料信息-添加") + @RequiresPermissions("bizSuppliers:nu_biz_suppliers_material_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo) { + nuBizSuppliersMaterialInfoService.save(nuBizSuppliersMaterialInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param nuBizSuppliersMaterialInfo + * @return + */ + @AutoLog(value = "供应商可提供的物料信息-编辑") + @ApiOperation(value="供应商可提供的物料信息-编辑", notes="供应商可提供的物料信息-编辑") + @RequiresPermissions("bizSuppliers:nu_biz_suppliers_material_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo) { + nuBizSuppliersMaterialInfoService.updateById(nuBizSuppliersMaterialInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "供应商可提供的物料信息-通过id删除") + @ApiOperation(value="供应商可提供的物料信息-通过id删除", notes="供应商可提供的物料信息-通过id删除") + @RequiresPermissions("bizSuppliers:nu_biz_suppliers_material_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + nuBizSuppliersMaterialInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "供应商可提供的物料信息-批量删除") + @ApiOperation(value="供应商可提供的物料信息-批量删除", notes="供应商可提供的物料信息-批量删除") + @RequiresPermissions("bizSuppliers:nu_biz_suppliers_material_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.nuBizSuppliersMaterialInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "供应商可提供的物料信息-通过id查询") + @ApiOperation(value="供应商可提供的物料信息-通过id查询", notes="供应商可提供的物料信息-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo = nuBizSuppliersMaterialInfoService.getById(id); + if(nuBizSuppliersMaterialInfo==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuBizSuppliersMaterialInfo); + } + + /** + * 导出excel + * + * @param request + * @param nuBizSuppliersMaterialInfo + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo) { + return super.exportXls(request, nuBizSuppliersMaterialInfo, NuBizSuppliersMaterialInfo.class, "供应商可提供的物料信息"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + Result a = importExcel(request, response, NuBizSuppliersMaterialInfo.class); + System.out.println(a); + if(a.getCode() == 200){ + //修改供应商可查询的状态 + } + return a; + } + protected Result importExcel(HttpServletRequest request, HttpServletResponse response, Class clazz) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry entity : fileMap.entrySet()) { + // 获取上传文件对象 + MultipartFile file = entity.getValue(); + if(file == null){ + break; + } + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params); + //排除重复数据 + List implist = new ArrayList<>(); + for(int i=0;i queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("suppliers_id",list.get(i).getSuppliersId()); + queryWrapper.eq("material_name",list.get(i).getMaterialName()); + queryWrapper.eq("specification_model",list.get(i).getSpecificationModel()); + queryWrapper.eq("brand_type",list.get(i).getBrandType()); + NuBizSuppliersMaterialInfo a = nuBizSuppliersMaterialInfoService.getOne(queryWrapper); + if(a==null){ + implist.add(list.get(i)); + } + } + if(implist.size() == 0){ + return Result.error("文件导入失败:数据全部重复!"); + } + + //update-begin-author:taoyan date:20190528 for:批量插入数据 + long start = System.currentTimeMillis(); + service.saveBatch(implist); + //400条 saveBatch消耗时间1592毫秒 循环插入消耗时间1947毫秒 + //1200条 saveBatch消耗时间3687毫秒 循环插入消耗时间5212毫秒 + log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒"); + //update-end-author:taoyan date:20190528 for:批量插入数据 + return Result.ok("文件导入成功!数据行数:" + implist.size()); + } catch (Exception e) { + //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示 + String msg = e.getMessage(); + log.error(msg, e); + if(msg!=null && msg.indexOf("Duplicate entry")>=0){ + return Result.error("文件导入失败:有重复数据!"); + }else{ + return Result.error("文件导入失败:" + e.getMessage()); + } + //update-end-author:taoyan date:20211124 for: 导入数据重复增加提示 + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.error("文件导入失败!"); + } + +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialType.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/entity/NuBizSuppliersMaterialInfo.java similarity index 55% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialType.java rename to nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/entity/NuBizSuppliersMaterialInfo.java index 95769a9..caa04a2 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialType.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/entity/NuBizSuppliersMaterialInfo.java @@ -1,4 +1,4 @@ -package com.nu.modules.ConfigMaterial.entity; +package com.nu.modules.bizSuppliers.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; @@ -21,41 +21,23 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * @Description: 物料类型 + * @Description: 供应商可提供的物料信息 * @Author: jeecg-boot - * @Date: 2025-03-17 + * @Date: 2026-02-28 * @Version: V1.0 */ @Data -@TableName("nu_config_material_type") +@TableName("nu_biz_suppliers_material_info") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="config_material_type对象", description="物料类型") -public class ConfigMaterialType implements Serializable { +@ApiModel(value="nu_biz_suppliers_material_info对象", description="供应商可提供的物料信息") +public class NuBizSuppliersMaterialInfo implements Serializable { private static final long serialVersionUID = 1L; /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; - /**物料类别*/ - @Excel(name = "物料类别", width = 15,dictTable = "nu_config_material_category" , dicText = "category_name" , dicCode = "id") - @ApiModelProperty(value = "物料类别") - @Dict(dictTable = "nu_config_material_category" , dicText = "category_name" , dicCode = "id") - private java.lang.String categoryId; - /**物料类型*/ - @Excel(name = "物料类型", width = 15) - @ApiModelProperty(value = "物料类型") - private java.lang.String typeName; - /**是否启用 Y启用 N未启用*/ - @Excel(name = "是否启用", width = 15, dicCode = "iz_enabled") - @Dict(dicCode = "iz_enabled") - @ApiModelProperty(value = "是否启用 Y启用 N未启用") - private java.lang.String izEnabled; - /**是否删除 0未删除 1删除*/ - @ApiModelProperty(value = "是否删除 0未删除 1删除") - @TableLogic - private java.lang.String delFlag; /**创建人*/ @ApiModelProperty(value = "创建人") private java.lang.String createBy; @@ -72,7 +54,29 @@ public class ConfigMaterialType implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; - /**所属部门*/ - @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; + /**供应商*/ + @Excel(name = "供应商", width = 15, dictTable = "nu_biz_suppliers_info", dicText = "suppliers_name", dicCode = "id") + @Dict(dictTable = "nu_biz_suppliers_info", dicText = "suppliers_name", dicCode = "id") + @ApiModelProperty(value = "供应商") + private java.lang.String suppliersId; + /**货品名称*/ + @Excel(name = "货品名称", width = 15) + @ApiModelProperty(value = "货品名称") + private java.lang.String materialName; + /**规格型号*/ + @Excel(name = "规格型号", width = 15) + @ApiModelProperty(value = "规格型号") + private java.lang.String specificationModel; + /**品牌型号*/ + @Excel(name = "品牌型号", width = 15) + @ApiModelProperty(value = "品牌型号") + private java.lang.String brandType; + /**销售单价*/ + @Excel(name = "销售单价", width = 15) + @ApiModelProperty(value = "销售单价") + private java.math.BigDecimal salesUnitPrice; + /**销售单位*/ + @Excel(name = "销售单位", width = 15) + @ApiModelProperty(value = "销售单位") + private java.lang.String salesUnit; } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/NuBizSuppliersMaterialInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/NuBizSuppliersMaterialInfoMapper.java new file mode 100644 index 0000000..581cc08 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/NuBizSuppliersMaterialInfoMapper.java @@ -0,0 +1,18 @@ +package com.nu.modules.bizSuppliers.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +public interface NuBizSuppliersMaterialInfoMapper extends BaseMapper { + + List noList(@Param("list") List list); +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/xml/NuBizSuppliersMaterialInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/xml/NuBizSuppliersMaterialInfoMapper.xml new file mode 100644 index 0000000..2b536b8 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/mapper/xml/NuBizSuppliersMaterialInfoMapper.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/INuBizSuppliersMaterialInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/INuBizSuppliersMaterialInfoService.java new file mode 100644 index 0000000..a72546a --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/INuBizSuppliersMaterialInfoService.java @@ -0,0 +1,17 @@ +package com.nu.modules.bizSuppliers.service; + +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +public interface INuBizSuppliersMaterialInfoService extends IService { + + List noList(List list); +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/NuBizSuppliersMaterialInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/NuBizSuppliersMaterialInfoServiceImpl.java new file mode 100644 index 0000000..66dc359 --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/bizSuppliers/service/impl/NuBizSuppliersMaterialInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.nu.modules.bizSuppliers.service.impl; + +import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo; +import com.nu.modules.bizSuppliers.mapper.NuBizSuppliersMaterialInfoMapper; +import com.nu.modules.bizSuppliers.service.INuBizSuppliersMaterialInfoService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; + +/** + * @Description: 供应商可提供的物料信息 + * @Author: jeecg-boot + * @Date: 2026-02-28 + * @Version: V1.0 + */ +@Service +public class NuBizSuppliersMaterialInfoServiceImpl extends ServiceImpl implements INuBizSuppliersMaterialInfoService { + + @Override + public List noList(List list) { + return baseMapper.noList(list); + } +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/mapper/xml/NuEmployeesAdvisoryInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/mapper/xml/NuEmployeesAdvisoryInfoMapper.xml index 6bf96d3..e7a7ceb 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/mapper/xml/NuEmployeesAdvisoryInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/employees/mapper/xml/NuEmployeesAdvisoryInfoMapper.xml @@ -45,7 +45,8 @@ - select * from ( - select - a.create_time, - ifnull(c.id,ifnull(b.id,a.id)) as id, - a.category_name, - a.iz_enabled, - b.type_name, - c.medication_name, - a.id as category_id, - b.id as type_id, - c.id as medication_id - from nu_config_material_category a - LEFT JOIN nu_config_material_type b on a.id = b.category_id and b.iz_enabled = 0 and b.del_flag = 0 - LEFT JOIN nu_config_material_medication c on b.id = c.type_id and c.iz_enabled = 0 and c.del_flag = 0 - where a.iz_enabled = 0 and a.del_flag = 0 - order by a.sort asc,b.id asc,c.id asc ) a - ${ew.customSqlSegment} - - \ No newline at end of file diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialMedicationMapper.xml b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialMedicationMapper.xml deleted file mode 100644 index da939af..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialMedicationMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialCategoryService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialCategoryService.java deleted file mode 100644 index f04b824..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialCategoryService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.nu.modules.ConfigMaterial.service; - -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.modules.ConfigMaterial.entity.ConfigMaterialCategory; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; -import java.util.Map; - -/** - * @Description: 物料类别 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -public interface IConfigMaterialCategoryService extends IService { - - IPage selectMaterialList(Page page, QueryWrapper queryWrapper); - - List> getMaterialTreeData(ConfigMaterialCategory configMaterialCategory); -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialInfoService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialInfoService.java deleted file mode 100644 index 1e2fc30..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialInfoService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nu.modules.configMaterialInfo.service; - -import com.nu.modules.configMaterialInfo.entity.ConfigMaterialInfo; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * @Description: 物料信息 - * @Author: jeecg-boot - * @Date: 2025-03-13 - * @Version: V1.0 - */ -public interface IConfigMaterialInfoService extends IService { - -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialMedicationService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialMedicationService.java deleted file mode 100644 index e5d55be..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialMedicationService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nu.modules.ConfigMaterial.service; - -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialMedication; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * @Description: 物料用药类型 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -public interface IConfigMaterialMedicationService extends IService { - -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialTypeService.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialTypeService.java deleted file mode 100644 index 87ca862..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/IConfigMaterialTypeService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.nu.modules.ConfigMaterial.service; - -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialType; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * @Description: 物料类型 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -public interface IConfigMaterialTypeService extends IService { - -} 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 deleted file mode 100644 index 47e5a7f..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -package com.nu.modules.ConfigMaterial.service.impl; - -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.modules.ConfigMaterial.entity.ConfigMaterialCategory; -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialMedication; -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialType; -import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialCategoryMapper; -import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialMedicationMapper; -import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialTypeMapper; -import com.nu.modules.ConfigMaterial.service.IConfigMaterialCategoryService; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import java.util.*; - -/** - * @Description: 物料类别 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -@Service -public class ConfigMaterialCategoryServiceImpl extends ServiceImpl implements IConfigMaterialCategoryService { - - @Autowired - public ConfigMaterialTypeMapper configMaterialTypeMapper; - - @Autowired - public ConfigMaterialMedicationMapper configMaterialMedicationMapper; - - @Override - public IPage selectMaterialList(Page page, QueryWrapper queryWrapper) { - IPage pageList = baseMapper.selectMaterialList(page,queryWrapper); - List list = pageList.getRecords(); - //按照list 的categoryId字段获取相同数据开始和结束标记 - String categoryId = list.get(0).getCategoryId(); - int outerStart = 0; // 一级分组起始索引 - for (int i = 0; i < list.size(); i++) { - ConfigMaterialCategory configMaterialCategory = list.get(i); - // 当遇到不同的categoryId时处理当前分组 - if (!configMaterialCategory.getCategoryId().equals(categoryId)) { - processAllGroups(list, outerStart, i - 1); // 处理完整个一级分组 - outerStart = i; // 重置一级起始位置 - categoryId = configMaterialCategory.getCategoryId(); - } - } - processAllGroups(list, outerStart, list.size() - 1); // 处理最后一组 - return pageList; - } - - - /** - * 处理完整个一级分组(包含二级和三级分组) - * - * @param records 记录列表 - * @param start 当前分组的起始索引 - * @param end 当前分组的结束索引 - */ - private void processAllGroups(List records, int start, int end) { - processOuterGroup(records, start, end); // 处理一级categoryRowSpan - - int innerStart = start; // 二级分组起始索引 - String currentTypeId = records.get(innerStart).getTypeId(); - - // 二级循环:处理当前一级分组内的typeId分组 - for (int j = innerStart + 1; j <= end; j++) { - if (!records.get(j).getTypeId().equals(currentTypeId)) { - processMiddleGroup(records, innerStart, j - 1); // 处理完整个二级分组 - innerStart = j; - currentTypeId = records.get(j).getTypeId(); - } - } - processMiddleGroup(records, innerStart, end); // 处理最后一组二级数据 - } - - // 处理一级categoryRowSpan(与之前保持一致) - private void processOuterGroup(List records, int start, int end) { - int count = end - start + 1; - if (count > 1) { - records.get(start).setCategoryRowSpan(count); - for (int i = start + 1; i <= end; i++) { - records.get(i).setCategoryRowSpan(0); - } - } - } - - /** - * 处理二级typeId分组(包含三级instructionTagId分组) - * - * @param records 记录列表 - * @param start 当前分组的起始索引 - * @param end 当前分组的结束索引 - */ - private void processMiddleGroup(List records, int start, int end) { - int count = end - start + 1; - if (count > 1) { - records.get(start).setTypeRowSpan(count); - for (int i = start + 1; i <= end; i++) { - records.get(i).setTypeRowSpan(0); - } - } - } - - @Override - public List>getMaterialTreeData(ConfigMaterialCategory configMaterialCategory) { - - //查询护理分类信息 - QueryWrapper categoryQueryWrapper = new QueryWrapper<>(); - categoryQueryWrapper.eq("iz_enabled","0"); - categoryQueryWrapper.eq("del_flag","0"); - categoryQueryWrapper.orderByAsc("sort"); - List list =baseMapper.selectList(categoryQueryWrapper); - - //查询护理类型信息 - QueryWrapper typeQueryWrapper = new QueryWrapper<>(); - typeQueryWrapper.eq("iz_enabled","0"); - typeQueryWrapper.eq("del_flag","0"); - List list2 = configMaterialTypeMapper.selectList(typeQueryWrapper); - - //查询用药类型信息 - QueryWrapper medicationQueryWrapper = new QueryWrapper<>(); - medicationQueryWrapper.eq("iz_enabled","0"); - medicationQueryWrapper.eq("del_flag","0"); - List list3 = configMaterialMedicationMapper.selectList(medicationQueryWrapper); - - - List> wllxMapList = new ArrayList>(); - for(ConfigMaterialType par : list2){ - Map wllxMap = new HashMap(); - List> yylxMapList = new ArrayList>(); - for(ConfigMaterialMedication yylxPar:list3){ - if(StringUtils.equals(yylxPar.getTypeId(),par.getId())){ - Map yylxMap = new HashMap(); - yylxMap.put("key",yylxPar.getId()); - yylxMap.put("levle","3"); - yylxMap.put("title",yylxPar.getMedicationName()); - yylxMapList.add(yylxMap); - } - } - wllxMap.put("key",par.getId()); - wllxMap.put("parentId",par.getCategoryId()); - wllxMap.put("title",par.getTypeName()); - wllxMap.put("levle","2"); - wllxMap.put("children",yylxMapList); - wllxMapList.add(wllxMap); - } - - List> infoMapList = new ArrayList>(); - int index = 0; - for(ConfigMaterialCategory par : list){ - index++; - Map infoMap = new HashMap(); - List> wllxMap2List = new ArrayList>(); - for(Map wllxPar : wllxMapList){ - if(StringUtils.equals(par.getId(),wllxPar.get("parentId").toString())){ - wllxMap2List.add(wllxPar); - } - } - infoMap.put("key",par.getId()); - infoMap.put("title",index + " " +par.getCategoryName()); - infoMap.put("levle","1"); - infoMap.put("children",wllxMap2List); - infoMapList.add(infoMap); - } - - - - return infoMapList; - } -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java deleted file mode 100644 index ba8d001..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.nu.modules.configMaterialInfo.service.impl; - -import com.nu.modules.configMaterialInfo.entity.ConfigMaterialInfo; -import com.nu.modules.configMaterialInfo.mapper.ConfigMaterialInfoMapper; -import com.nu.modules.configMaterialInfo.service.IConfigMaterialInfoService; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * @Description: 物料信息 - * @Author: jeecg-boot - * @Date: 2025-03-13 - * @Version: V1.0 - */ -@Service -public class ConfigMaterialInfoServiceImpl extends ServiceImpl implements IConfigMaterialInfoService { - -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialMedicationServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialMedicationServiceImpl.java deleted file mode 100644 index d271c99..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialMedicationServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.nu.modules.ConfigMaterial.service.impl; - -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialMedication; -import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialMedicationMapper; -import com.nu.modules.ConfigMaterial.service.IConfigMaterialMedicationService; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * @Description: 物料用药类型 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -@Service -public class ConfigMaterialMedicationServiceImpl extends ServiceImpl implements IConfigMaterialMedicationService { - -} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialTypeServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialTypeServiceImpl.java deleted file mode 100644 index 25e241d..0000000 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialTypeServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.nu.modules.ConfigMaterial.service.impl; - -import com.nu.modules.ConfigMaterial.entity.ConfigMaterialType; -import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialTypeMapper; -import com.nu.modules.ConfigMaterial.service.IConfigMaterialTypeService; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * @Description: 物料类型 - * @Author: jeecg-boot - * @Date: 2025-03-17 - * @Version: V1.0 - */ -@Service -public class ConfigMaterialTypeServiceImpl extends ServiceImpl implements IConfigMaterialTypeService { - -} diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/job/AllMaterialJob.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/job/AllMaterialJob.java new file mode 100644 index 0000000..ac5a43a --- /dev/null +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/job/AllMaterialJob.java @@ -0,0 +1,31 @@ +package org.jeecg.job; + +import org.jeecg.modules.ConfigMaterial.service.IConfigMaterialInfoService; +import lombok.extern.slf4j.Slf4j; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 清理长者标签备份 + */ +@Slf4j +@Component +public class AllMaterialJob implements Job { + + @Autowired + private IConfigMaterialInfoService service; + + /** + * 备份各机构长者标签 + * + * @param jobExecutionContext + * @throws JobExecutionException + */ + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + service.syncList(); + } +} diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/entity/ConfigMaterialInfo.java similarity index 79% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java rename to nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/entity/ConfigMaterialInfo.java index c09f186..4c62bbd 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/entity/ConfigMaterialInfo.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/entity/ConfigMaterialInfo.java @@ -1,4 +1,4 @@ -package com.nu.modules.configMaterialInfo.entity; +package org.jeecg.modules.ConfigMaterial.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; @@ -35,118 +35,120 @@ public class ConfigMaterialInfo implements Serializable { /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private java.lang.String id; + private String id; /**物料类别*/ @Excel(name = "物料类别", width = 15, dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id") @Dict(dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id") @ApiModelProperty(value = "物料类别") - private java.lang.String categoryId; + private String categoryId; /**物料类型*/ @Excel(name = "物料类型", width = 15, dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id") @Dict(dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id") @ApiModelProperty(value = "物料类型") - private java.lang.String typeId; + private String typeId; /**用药类型*/ @Excel(name = "用药类型", width = 15, dictTable = "nu_config_material_medication", dicText = "medication_name", dicCode = "id") @Dict(dictTable = "nu_config_material_medication", dicText = "medication_name", dicCode = "id") @ApiModelProperty(value = "用药类型") - private java.lang.String medicationId; + private String medicationId; /**货品名称*/ @Excel(name = "货品名称", width = 15) @ApiModelProperty(value = "货品名称") - private java.lang.String materialName; + private String materialName; /**货品编码*/ @Excel(name = "货品编码", width = 15) @ApiModelProperty(value = "货品编码") - private java.lang.String materialNo; + private String materialNo; /**规格型号*/ @Excel(name = "规格型号", width = 15) @ApiModelProperty(value = "规格型号") - private java.lang.String specificationModel; + private String specificationModel; /**销售单价*/ @Excel(name = "销售单价", width = 15) @ApiModelProperty(value = "销售单价") - private java.math.BigDecimal salesUnitPrice; + private BigDecimal salesUnitPrice; /**参考单价*/ @Excel(name = "参考单价", width = 15) @ApiModelProperty(value = "参考单价") - private java.math.BigDecimal referenceUnitPrice; + private BigDecimal referenceUnitPrice; /**货品单位*/ @Excel(name = "货品单位", width = 15) @ApiModelProperty(value = "货品单位") - private java.lang.String materialUnits; + private String materialUnits; /**多单位开关 0关 1开*/ @Excel(name = "多单位开关", width = 15,replace = {"开_Y","关_N"} ) @ApiModelProperty(value = "多单位开关 0关 1开") - private java.lang.String multiUnitSwitch; + private String multiUnitSwitch; /**父级单位*/ @Excel(name = "父级单位", width = 15) @ApiModelProperty(value = "父级单位") - private java.lang.String oneUnit; + private String oneUnit; /**父级单位兑换比例*/ @Excel(name = "父级单位兑换比例", width = 15) @ApiModelProperty(value = "父级单位兑换比例") - private java.lang.Integer oneUnitProportion; + private Integer oneUnitProportion; /**父级单位价格*/ @Excel(name = "父级单位价格", width = 15) @ApiModelProperty(value = "父级单位价格") - private java.math.BigDecimal oneUnitPrice; + private BigDecimal oneUnitPrice; /**爷级单位*/ @Excel(name = "爷级单位", width = 15) @ApiModelProperty(value = "爷级单位") - private java.lang.String twoUnit; + private String twoUnit; /**爷级单位兑换比例*/ @Excel(name = "爷级单位兑换比例", width = 15) @ApiModelProperty(value = "爷级单位兑换比例") - private java.lang.Integer twoUnitProportion; + private Integer twoUnitProportion; /**爷级单位价格*/ @Excel(name = "爷级单位价格", width = 15) @ApiModelProperty(value = "爷级单位价格") - private java.math.BigDecimal twoUnitPrice; + private BigDecimal twoUnitPrice; /**多单位采购默认使用 0子集 1父级 2爷级*/ @Excel(name = "多单位采购默认使用", width = 15) @ApiModelProperty(value = "多单位采购默认使用 0子集 1父级 2爷级") - private java.lang.String multiUnitType; + private String multiUnitType; /**供应商*/ @Excel(name = "供应商", width = 15,dictTable = "nu_config_suppliers_info" , dicCode = "id" , dicText = "suppliers_name") @ApiModelProperty(value = "供应商") @Dict(dictTable = "nu_config_suppliers_info" , dicCode = "id" , dicText = "suppliers_name") - private java.lang.String suppliers; + private String suppliers; /**物料图片*/ @ApiModelProperty(value = "物料图片") - private java.lang.String materialImg; + private String materialImg; /**物料标识*/ @ApiModelProperty(value = "物料标识") - private java.lang.String materialIdent; + private String materialIdent; /**是否启用 Y启用 N未启用*/ @Dict(dicCode = "iz_enabled") @ApiModelProperty(value = "是否启用 Y启用 N未启用") - private java.lang.String izEnabled; + private String izEnabled; /**是否删除 0未删除 1删除*/ @ApiModelProperty(value = "是否删除 0未删除 1删除") @TableLogic - private java.lang.String delFlag; + private String delFlag; /**创建人*/ @ApiModelProperty(value = "创建人") - private java.lang.String createBy; + private String createBy; /**创建日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建日期") - private java.util.Date createTime; + private Date createTime; /**更新人*/ @ApiModelProperty(value = "更新人") - private java.lang.String updateBy; + private String updateBy; /**更新日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新日期") - private java.util.Date updateTime; + private Date updateTime; /**所属部门*/ @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; + private String sysOrgCode; /**拼音*/ - private java.lang.String pinyin; + private String pinyin; + + private String brandType; @TableField(exist = false) private String treeId;//树id,用于查询 diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java similarity index 56% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java rename to nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java index 20ab6aa..08c11b8 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/ConfigMaterialInfoMapper.java @@ -1,10 +1,7 @@ -package com.nu.modules.configMaterialInfo.mapper; +package org.jeecg.modules.ConfigMaterial.mapper; -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import com.nu.modules.configMaterialInfo.entity.ConfigMaterialInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.ConfigMaterial.entity.ConfigMaterialInfo; /** * @Description: 物料信息 diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialTypeMapper.xml b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml similarity index 64% rename from nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialTypeMapper.xml rename to nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml index cbf9043..b4d0c69 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/mapper/xml/ConfigMaterialTypeMapper.xml +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/mapper/xml/ConfigMaterialInfoMapper.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/IConfigMaterialInfoService.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/IConfigMaterialInfoService.java new file mode 100644 index 0000000..e2fda70 --- /dev/null +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/IConfigMaterialInfoService.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.ConfigMaterial.service; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.ConfigMaterial.entity.ConfigMaterialInfo; + +import java.util.List; + +/** + * @Description: 物料信息 + * @Author: jeecg-boot + * @Date: 2025-03-13 + * @Version: V1.0 + */ +public interface IConfigMaterialInfoService extends IService { + + void syncList(); + + @DS("#dataSourceCode") + List queryList(String dataSourceCode); +} diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java new file mode 100644 index 0000000..7791e30 --- /dev/null +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/ConfigMaterial/service/impl/ConfigMaterialInfoServiceImpl.java @@ -0,0 +1,108 @@ +package org.jeecg.modules.ConfigMaterial.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.allMaterialInfo.entity.NuBizAllMaterialInfo; +import com.nu.modules.allMaterialInfo.service.INuBizAllMaterialInfoService; +import org.jeecg.modules.ConfigMaterial.entity.ConfigMaterialInfo; +import org.jeecg.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper; +import org.jeecg.modules.ConfigMaterial.service.IConfigMaterialInfoService; +import org.jeecg.modules.data.loader.DataSourceLoader; +import org.jeecg.modules.system.entity.SysDataSource; +import org.jeecg.modules.system.service.ISysDataSourceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @Description: 物料信息 + * @Author: jeecg-boot + * @Date: 2025-03-13 + * @Version: V1.0 + */ +@Service +public class ConfigMaterialInfoServiceImpl extends ServiceImpl implements IConfigMaterialInfoService { + + + @Autowired + private ISysDataSourceService sysDataSourceService; + + @Autowired + private INuBizAllMaterialInfoService nuBizAllMaterialInfoService; + + @Autowired + private DataSourceLoader dataSourceLoader; + @Autowired + @Lazy + private IConfigMaterialInfoService configMaterialInfoService; + @Override + public void syncList() {// 1.查询所有的可用机构 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ne("code", "100"); + List list = sysDataSourceService.list(queryWrapper); + + // 使用Set去重 + Set uniqueKeys = new HashSet<>(); + List distinctList = new ArrayList<>(); + + // 2.查询所有的可用数据 + for (SysDataSource sysDataSource : list) { + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.eq("code", sysDataSource.getId()); + String dataSourceCode = sysDataSource.getCode(); + + try { + dataSourceLoader.refreshDataSources(); + List list1 = configMaterialInfoService.queryList(dataSourceCode); + + for (ConfigMaterialInfo config : list1) { + if (config != null && + config.getMaterialName() != null && + config.getSpecificationModel() != null) { + + // 创建唯一键 + String uniqueKey = config.getMaterialName() + "|" + + config.getSpecificationModel() + "|" + + config.getBrandType(); + + // 去重 + if (!uniqueKeys.contains(uniqueKey)) { + uniqueKeys.add(uniqueKey); + + NuBizAllMaterialInfo lsbl = new NuBizAllMaterialInfo(); + lsbl.setMaterialName(config.getMaterialName()); + lsbl.setSpecificationModel(config.getSpecificationModel()); + lsbl.setBrandType(config.getBrandType()); + distinctList.add(lsbl); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + // 3.保存去重后的数据 + if (!distinctList.isEmpty()) { + nuBizAllMaterialInfoService.remove(new QueryWrapper()); + nuBizAllMaterialInfoService.saveBatch(distinctList); + } + } + + @DS("#dataSourceCode") + @Override + public List queryList(String dataSourceCode) { + String currentDs = DynamicDataSourceContextHolder.peek(); + System.out.println("当前生效的数据源是: " + currentDs); + return baseMapper.selectList( null); + } + + +}