添加供应商审核机制及物料汇总功能,导入供应商物料信息

This commit is contained in:
yangjun 2026-02-28 15:52:24 +08:00
parent 8c75b6ac43
commit 548818d686
39 changed files with 937 additions and 1335 deletions

View File

@ -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<NuBizAllMaterialInfo, INuBizAllMaterialInfoService> {
@Autowired
private INuBizAllMaterialInfoService nuBizAllMaterialInfoService;
/**
* 分页列表查询
*
* @param nuBizAllMaterialInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物料信息汇总-分页列表查询")
@ApiOperation(value="物料信息汇总-分页列表查询", notes="物料信息汇总-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NuBizAllMaterialInfo>> queryPageList(NuBizAllMaterialInfo nuBizAllMaterialInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NuBizAllMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuBizAllMaterialInfo, req.getParameterMap());
Page<NuBizAllMaterialInfo> page = new Page<NuBizAllMaterialInfo>(pageNo, pageSize);
IPage<NuBizAllMaterialInfo> 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<String> 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<String> 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<String> 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<String> 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<NuBizAllMaterialInfo> 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<NuBizAllMaterialInfo> clazz, String title) {
// Step.1 组装查询条件
QueryWrapper<NuBizAllMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
queryWrapper.in("id",selectionList);
}
// Step.2 获取导出数据
List<NuBizAllMaterialInfo> 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);
}
}

View File

@ -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;
}

View File

@ -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<NuBizAllMaterialInfo> {
}

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.configMaterialInfo.mapper.ConfigMaterialInfoMapper">
</mapper>
<mapper namespace="com.nu.modules.allMaterialInfo.mapper.NuBizAllMaterialInfoMapper">
</mapper>

View File

@ -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<NuBizAllMaterialInfo> {
}

View File

@ -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<NuBizAllMaterialInfoMapper, NuBizAllMaterialInfo> implements INuBizAllMaterialInfoService {
}

View File

@ -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<NuBizSuppliersMaterialInfo, INuBizSuppliersMaterialInfoService> {
@Autowired
private INuBizSuppliersMaterialInfoService nuBizSuppliersMaterialInfoService;
/**
* 分页列表查询
*
* @param nuBizSuppliersMaterialInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "供应商可提供的物料信息-分页列表查询")
@ApiOperation(value="供应商可提供的物料信息-分页列表查询", notes="供应商可提供的物料信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NuBizSuppliersMaterialInfo>> queryPageList(NuBizSuppliersMaterialInfo nuBizSuppliersMaterialInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("suppliersId", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<NuBizSuppliersMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuBizSuppliersMaterialInfo, req.getParameterMap(),customeRuleMap);
Page<NuBizSuppliersMaterialInfo> page = new Page<NuBizSuppliersMaterialInfo>(pageNo, pageSize);
IPage<NuBizSuppliersMaterialInfo> 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<String> 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<String> 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<String> 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<String> 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<NuBizSuppliersMaterialInfo> 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<NuBizSuppliersMaterialInfo> clazz) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> 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<NuBizSuppliersMaterialInfo> list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);
//排除重复数据
List<NuBizSuppliersMaterialInfo> implist = new ArrayList<>();
for(int i=0;i<list.size();i++){
QueryWrapper<NuBizSuppliersMaterialInfo> 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("文件导入失败!");
}
}

View File

@ -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;
}

View File

@ -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<NuBizSuppliersMaterialInfo> {
List<NuBizSuppliersMaterialInfo> noList(@Param("list") List<NuBizSuppliersMaterialInfo> list);
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.bizSuppliers.mapper.NuBizSuppliersMaterialInfoMapper">
<select id="noList" resultType="com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo">
SELECT * FROM nu_biz_suppliers_material_info
WHERE NOT EXISTS (
SELECT 1 FROM (
<foreach item="item" collection="list" separator=" UNION ALL " open="" close="">
SELECT
#{item.suppliersId} AS suppliersId,
#{item.materialName} AS materialName,
#{item.specificationModel} AS specificationModel,
#{item.brandType} AS brandType
</foreach>
) AS exclude
WHERE nu_biz_suppliers_material_info.suppliers_id = exclude.suppliersId
AND nu_biz_suppliers_material_info.material_name = exclude.materialName
AND nu_biz_suppliers_material_info.specification_model = exclude.specificationModel
AND nu_biz_suppliers_material_info.brand_type = exclude.brandType
)
</select>
</mapper>

View File

@ -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<NuBizSuppliersMaterialInfo> {
List<NuBizSuppliersMaterialInfo> noList(List<NuBizSuppliersMaterialInfo> list);
}

View File

@ -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<NuBizSuppliersMaterialInfoMapper, NuBizSuppliersMaterialInfo> implements INuBizSuppliersMaterialInfoService {
@Override
public List<NuBizSuppliersMaterialInfo> noList(List<NuBizSuppliersMaterialInfo> list) {
return baseMapper.noList(list);
}
}

View File

@ -45,7 +45,8 @@
<select id="queryEmployeeInfo" resultType="com.nu.modules.employees.entity.NuEmployeesAdvisoryInfo">
SELECT
adinfo.*,
(case when eo.apply_type = '2' then eo.modify_status else eo.status end) AS applyStatus,
<!-- (case when eo.apply_type = '2' then eo.modify_status else eo.status end) AS applyStatus,-->
eo.status as applyStatus,
eo.audit_content AS auditContent
FROM nu_biz_employees_advisory_info adinfo
LEFT JOIN nu_biz_employees_org eo

View File

@ -30,11 +30,11 @@ public class EmployeesInfoApi {
@AutoLog(value = "员工咨询信息-新增或修改")
@PostMapping("/saveApiEmployees")
public Result<Object> saveApiEmployees(@RequestParam("ukey") String ukey, @RequestBody EmployeesAdvisoryInfoEntity EmployeesAdvisoryInfoEntity) {
if (StringUtils.isNotBlank(EmployeesAdvisoryInfoEntity.getId())) {
if(!employeesAdvisioryInfoApi.validateChanged(EmployeesAdvisoryInfoEntity)){
return Result.ok("未做变更");
}
}
// if (StringUtils.isNotBlank(EmployeesAdvisoryInfoEntity.getId())) {
// if(!employeesAdvisioryInfoApi.validateChanged(EmployeesAdvisoryInfoEntity)){
// return Result.ok("未做变更");
// }
// }
if(NuRedisUtils.existKey(ukey)){
return Result.ok("重复提交");
}

View File

@ -0,0 +1,78 @@
package com.nu.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 物料信息汇总
* @Author: jeecg-boot
* @Date: 2026-02-28
* @Version: V1.0
*/
@Data
@TableName("nu_biz_all_material_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_biz_all_material_info对象", description="物料信息汇总")
public class NuBizAllMaterialInfoDto implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
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 Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
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 Date updateTime;
/**供应商名称*/
@Excel(name = "供应商", width = 15)
@TableField(exist = false)
private String suppliersName;
/**货品名称*/
@Excel(name = "货品名称", width = 15)
@ApiModelProperty(value = "货品名称")
private String materialName;
/**规格型号*/
@Excel(name = "规格型号", width = 15)
@ApiModelProperty(value = "规格型号")
private String specificationModel;
/**品牌型号*/
@Excel(name = "品牌型号", width = 15)
@ApiModelProperty(value = "品牌型号")
private String brandType;
/**销售单价*/
@Excel(name = "销售单价", width = 15)
@ApiModelProperty(value = "销售单价")
private BigDecimal salesUnitPrice;
/**销售单位*/
@Excel(name = "销售单位", width = 15)
@ApiModelProperty(value = "销售单位")
private String salesUnit;
}

View File

@ -1,202 +0,0 @@
package com.nu.modules.ConfigMaterial.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.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.ConfigMaterial.entity.ConfigMaterialCategory;
import com.nu.modules.ConfigMaterial.service.IConfigMaterialCategoryService;
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: 2025-03-17
* @Version: V1.0
*/
@Api(tags="物料类别")
@RestController
//@RequestMapping("/ConfigMaterial/configMaterialCategory")
@RequestMapping("/invoicing/configMaterialCategory")
@Slf4j
public class ConfigMaterialCategoryController extends JeecgController<ConfigMaterialCategory, IConfigMaterialCategoryService> {
@Autowired
private IConfigMaterialCategoryService configMaterialCategoryService;
/**
* 分页列表查询
*
* @param configMaterialCategory
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物料类别-分页列表查询")
@ApiOperation(value="物料类别-分页列表查询", notes="物料类别-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ConfigMaterialCategory>> queryPageList(ConfigMaterialCategory configMaterialCategory,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ConfigMaterialCategory> queryWrapper = QueryGenerator.initQueryWrapper(configMaterialCategory, req.getParameterMap());
Page<ConfigMaterialCategory> page = new Page<ConfigMaterialCategory>(pageNo, pageSize);
IPage<ConfigMaterialCategory> pageList = configMaterialCategoryService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value="物料类别-分页列表查询", notes="物料类别-分页列表查询")
@GetMapping(value = "/selectMaterialList")
public Result<IPage<ConfigMaterialCategory>> selectMaterialList(ConfigMaterialCategory configMaterialCategory,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ConfigMaterialCategory> queryWrapper = QueryGenerator.initQueryWrapper(configMaterialCategory, req.getParameterMap());
Page<ConfigMaterialCategory> page = new Page<ConfigMaterialCategory>(pageNo, pageSize);
IPage<ConfigMaterialCategory> pageList = configMaterialCategoryService.selectMaterialList(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param configMaterialCategory
* @return
*/
@AutoLog(value = "物料类别-添加")
@ApiOperation(value="物料类别-添加", notes="物料类别-添加")
@RequiresPermissions("ConfigMaterial:config_material_category:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ConfigMaterialCategory configMaterialCategory) {
configMaterialCategoryService.save(configMaterialCategory);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param configMaterialCategory
* @return
*/
@AutoLog(value = "物料类别-编辑")
@ApiOperation(value="物料类别-编辑", notes="物料类别-编辑")
@RequiresPermissions("ConfigMaterial:config_material_category:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ConfigMaterialCategory configMaterialCategory) {
configMaterialCategoryService.updateById(configMaterialCategory);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "物料类别-通过id删除")
@ApiOperation(value="物料类别-通过id删除", notes="物料类别-通过id删除")
@RequiresPermissions("ConfigMaterial:config_material_category:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
configMaterialCategoryService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "物料类别-批量删除")
@ApiOperation(value="物料类别-批量删除", notes="物料类别-批量删除")
@RequiresPermissions("ConfigMaterial:config_material_category:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.configMaterialCategoryService.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<ConfigMaterialCategory> queryById(@RequestParam(name="id",required=true) String id) {
ConfigMaterialCategory configMaterialCategory = configMaterialCategoryService.getById(id);
if(configMaterialCategory==null) {
return Result.error("未找到对应数据");
}
return Result.OK(configMaterialCategory);
}
/**
* 导出excel
*
* @param request
* @param configMaterialCategory
*/
@RequiresPermissions("ConfigMaterial:config_material_category:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ConfigMaterialCategory configMaterialCategory) {
return super.exportXls(request, configMaterialCategory, ConfigMaterialCategory.class, "物料类别");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("ConfigMaterial:config_material_category:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ConfigMaterialCategory.class);
}
@ApiOperation(value="获取物料分类树", notes="获取物料分类树")
@GetMapping(value = "/getMaterialTreeData")
public Result<List<Map<String,Object>>> getMaterialTreeData(ConfigMaterialCategory configMaterialCategory) {
List<Map<String,Object>> pageList = configMaterialCategoryService.getMaterialTreeData(configMaterialCategory);
return Result.OK(pageList);
}
}

View File

@ -1,187 +0,0 @@
package com.nu.modules.ConfigMaterial.controller;
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.configMaterialInfo.entity.ConfigMaterialInfo;
import com.nu.modules.configMaterialInfo.service.IConfigMaterialInfoService;
import com.nu.modules.utils.PinyinUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* @Description: 物料信息
* @Author: jeecg-boot
* @Date: 2025-03-13
* @Version: V1.0
*/
@Api(tags="物料信息")
@RestController
//@RequestMapping("/configMaterialInfo/configMaterialInfo")
@RequestMapping("/invoicing/configMaterialInfo")
@Slf4j
public class ConfigMaterialInfoController extends JeecgController<ConfigMaterialInfo, IConfigMaterialInfoService> {
@Autowired
private IConfigMaterialInfoService configMaterialInfoService;
/**
* 分页列表查询
*
* @param configMaterialInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物料信息-分页列表查询")
@ApiOperation(value="物料信息-分页列表查询", notes="物料信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ConfigMaterialInfo>> queryPageList(ConfigMaterialInfo configMaterialInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
// customeRuleMap.put("categoryId", QueryRuleEnum.LIKE_WITH_OR);
// customeRuleMap.put("typeId", QueryRuleEnum.LIKE_WITH_OR);
// customeRuleMap.put("medicationId", QueryRuleEnum.LIKE_WITH_OR);
// customeRuleMap.put("izEnabled", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<ConfigMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(configMaterialInfo, req.getParameterMap(),customeRuleMap);
if(StringUtils.isNotBlank(configMaterialInfo.getTreeId())){
queryWrapper.apply(" (category_id = '"+configMaterialInfo.getTreeId()+"' or type_id = '"+configMaterialInfo.getTreeId()+"' or medication_id = '"+configMaterialInfo.getTreeId()+"' )");
}
Page<ConfigMaterialInfo> page = new Page<ConfigMaterialInfo>(pageNo, pageSize);
IPage<ConfigMaterialInfo> pageList = configMaterialInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param configMaterialInfo
* @return
*/
@AutoLog(value = "物料信息-添加")
@ApiOperation(value="物料信息-添加", notes="物料信息-添加")
@RequiresPermissions("configMaterialInfo:config_material_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ConfigMaterialInfo configMaterialInfo) {
String chinese = configMaterialInfo.getMaterialName();
String firstLetter = PinyinUtils.getFirstLetter(chinese);
configMaterialInfo.setPinyin(firstLetter);
configMaterialInfoService.save(configMaterialInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param configMaterialInfo
* @return
*/
@AutoLog(value = "物料信息-编辑")
@ApiOperation(value="物料信息-编辑", notes="物料信息-编辑")
@RequiresPermissions("configMaterialInfo:config_material_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ConfigMaterialInfo configMaterialInfo) {
String chinese = configMaterialInfo.getMaterialName();
String firstLetter = PinyinUtils.getFirstLetter(chinese);
configMaterialInfo.setPinyin(firstLetter);
configMaterialInfoService.updateById(configMaterialInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "物料信息-通过id删除")
@ApiOperation(value="物料信息-通过id删除", notes="物料信息-通过id删除")
@RequiresPermissions("configMaterialInfo:config_material_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
configMaterialInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "物料信息-批量删除")
@ApiOperation(value="物料信息-批量删除", notes="物料信息-批量删除")
@RequiresPermissions("configMaterialInfo:config_material_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.configMaterialInfoService.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<ConfigMaterialInfo> queryById(@RequestParam(name="id",required=true) String id) {
ConfigMaterialInfo configMaterialInfo = configMaterialInfoService.getById(id);
if(configMaterialInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(configMaterialInfo);
}
/**
* 导出excel
*
* @param request
* @param configMaterialInfo
*/
@RequiresPermissions("configMaterialInfo:config_material_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ConfigMaterialInfo configMaterialInfo) {
return super.exportXls(request, configMaterialInfo, ConfigMaterialInfo.class, "物料信息");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("configMaterialInfo:config_material_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ConfigMaterialInfo.class);
}
}

View File

@ -1,187 +0,0 @@
package com.nu.modules.ConfigMaterial.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.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.ConfigMaterial.entity.ConfigMaterialMedication;
import com.nu.modules.ConfigMaterial.service.IConfigMaterialMedicationService;
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: 2025-03-17
* @Version: V1.0
*/
@Api(tags="物料用药类型")
@RestController
//@RequestMapping("/ConfigMaterial/configMaterialMedication")
@RequestMapping("/invoicing/configMaterialMedication")
@Slf4j
public class ConfigMaterialMedicationController extends JeecgController<ConfigMaterialMedication, IConfigMaterialMedicationService> {
@Autowired
private IConfigMaterialMedicationService configMaterialMedicationService;
/**
* 分页列表查询
*
* @param configMaterialMedication
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物料用药类型-分页列表查询")
@ApiOperation(value="物料用药类型-分页列表查询", notes="物料用药类型-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ConfigMaterialMedication>> queryPageList(ConfigMaterialMedication configMaterialMedication,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("categoryId", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("typeId", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("izEnabled", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<ConfigMaterialMedication> queryWrapper = QueryGenerator.initQueryWrapper(configMaterialMedication, req.getParameterMap(),customeRuleMap);
Page<ConfigMaterialMedication> page = new Page<ConfigMaterialMedication>(pageNo, pageSize);
IPage<ConfigMaterialMedication> pageList = configMaterialMedicationService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param configMaterialMedication
* @return
*/
@AutoLog(value = "物料用药类型-添加")
@ApiOperation(value="物料用药类型-添加", notes="物料用药类型-添加")
@RequiresPermissions("ConfigMaterial:config_material_medication:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ConfigMaterialMedication configMaterialMedication) {
configMaterialMedicationService.save(configMaterialMedication);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param configMaterialMedication
* @return
*/
@AutoLog(value = "物料用药类型-编辑")
@ApiOperation(value="物料用药类型-编辑", notes="物料用药类型-编辑")
@RequiresPermissions("ConfigMaterial:config_material_medication:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ConfigMaterialMedication configMaterialMedication) {
configMaterialMedicationService.updateById(configMaterialMedication);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "物料用药类型-通过id删除")
@ApiOperation(value="物料用药类型-通过id删除", notes="物料用药类型-通过id删除")
@RequiresPermissions("ConfigMaterial:config_material_medication:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
configMaterialMedicationService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "物料用药类型-批量删除")
@ApiOperation(value="物料用药类型-批量删除", notes="物料用药类型-批量删除")
@RequiresPermissions("ConfigMaterial:config_material_medication:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.configMaterialMedicationService.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<ConfigMaterialMedication> queryById(@RequestParam(name="id",required=true) String id) {
ConfigMaterialMedication configMaterialMedication = configMaterialMedicationService.getById(id);
if(configMaterialMedication==null) {
return Result.error("未找到对应数据");
}
return Result.OK(configMaterialMedication);
}
/**
* 导出excel
*
* @param request
* @param configMaterialMedication
*/
@RequiresPermissions("ConfigMaterial:config_material_medication:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ConfigMaterialMedication configMaterialMedication) {
return super.exportXls(request, configMaterialMedication, ConfigMaterialMedication.class, "物料用药类型");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("ConfigMaterial:config_material_medication:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ConfigMaterialMedication.class);
}
}

View File

@ -1,185 +0,0 @@
package com.nu.modules.ConfigMaterial.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.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.ConfigMaterial.entity.ConfigMaterialType;
import com.nu.modules.ConfigMaterial.service.IConfigMaterialTypeService;
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: 2025-03-17
* @Version: V1.0
*/
@Api(tags="物料类型")
@RestController
//@RequestMapping("/ConfigMaterial/configMaterialType")
@RequestMapping("/invoicing/configMaterialType")
@Slf4j
public class ConfigMaterialTypeController extends JeecgController<ConfigMaterialType, IConfigMaterialTypeService> {
@Autowired
private IConfigMaterialTypeService configMaterialTypeService;
/**
* 分页列表查询
*
* @param configMaterialType
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "物料类型-分页列表查询")
@ApiOperation(value="物料类型-分页列表查询", notes="物料类型-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ConfigMaterialType>> queryPageList(ConfigMaterialType configMaterialType,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("izEnabled", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<ConfigMaterialType> queryWrapper = QueryGenerator.initQueryWrapper(configMaterialType, req.getParameterMap(),customeRuleMap);
Page<ConfigMaterialType> page = new Page<ConfigMaterialType>(pageNo, pageSize);
IPage<ConfigMaterialType> pageList = configMaterialTypeService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param configMaterialType
* @return
*/
@AutoLog(value = "物料类型-添加")
@ApiOperation(value="物料类型-添加", notes="物料类型-添加")
@RequiresPermissions("ConfigMaterial:config_material_type:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ConfigMaterialType configMaterialType) {
configMaterialTypeService.save(configMaterialType);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param configMaterialType
* @return
*/
@AutoLog(value = "物料类型-编辑")
@ApiOperation(value="物料类型-编辑", notes="物料类型-编辑")
@RequiresPermissions("ConfigMaterial:config_material_type:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ConfigMaterialType configMaterialType) {
configMaterialTypeService.updateById(configMaterialType);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "物料类型-通过id删除")
@ApiOperation(value="物料类型-通过id删除", notes="物料类型-通过id删除")
@RequiresPermissions("ConfigMaterial:config_material_type:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
configMaterialTypeService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "物料类型-批量删除")
@ApiOperation(value="物料类型-批量删除", notes="物料类型-批量删除")
@RequiresPermissions("ConfigMaterial:config_material_type:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.configMaterialTypeService.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<ConfigMaterialType> queryById(@RequestParam(name="id",required=true) String id) {
ConfigMaterialType configMaterialType = configMaterialTypeService.getById(id);
if(configMaterialType==null) {
return Result.error("未找到对应数据");
}
return Result.OK(configMaterialType);
}
/**
* 导出excel
*
* @param request
* @param configMaterialType
*/
@RequiresPermissions("ConfigMaterial:config_material_type:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ConfigMaterialType configMaterialType) {
return super.exportXls(request, configMaterialType, ConfigMaterialType.class, "物料类型");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("ConfigMaterial:config_material_type:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ConfigMaterialType.class);
}
}

View File

@ -1,83 +0,0 @@
package com.nu.modules.ConfigMaterial.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 物料用药类型
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Version: V1.0
*/
@Data
@TableName("nu_config_material_medication")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="config_material_medication对象", description="物料用药类型")
public class ConfigMaterialMedication 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")
@Dict(dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id")
@ApiModelProperty(value = "物料类别")
private java.lang.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;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private java.lang.String medicationName;
/**是否启用 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;
/**创建日期*/
@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;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.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;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
}

View File

@ -1,22 +0,0 @@
package com.nu.modules.ConfigMaterial.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 物料类别
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Version: V1.0
*/
public interface ConfigMaterialCategoryMapper extends BaseMapper<ConfigMaterialCategory> {
IPage<ConfigMaterialCategory> selectMaterialList(Page<ConfigMaterialCategory> page,@Param(Constants.WRAPPER) QueryWrapper<ConfigMaterialCategory> queryWrapper);
}

View File

@ -1,17 +0,0 @@
package com.nu.modules.ConfigMaterial.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialMedication;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 物料用药类型
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Version: V1.0
*/
public interface ConfigMaterialMedicationMapper extends BaseMapper<ConfigMaterialMedication> {
}

View File

@ -1,17 +0,0 @@
package com.nu.modules.ConfigMaterial.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 物料类型
* @Author: jeecg-boot
* @Date: 2025-03-17
* @Version: V1.0
*/
public interface ConfigMaterialTypeMapper extends BaseMapper<ConfigMaterialType> {
}

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.ConfigMaterial.mapper.ConfigMaterialCategoryMapper">
<select id="selectMaterialList" resultType="com.nu.modules.ConfigMaterial.entity.ConfigMaterialCategory">
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}
</select>
</mapper>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.ConfigMaterial.mapper.ConfigMaterialMedicationMapper">
</mapper>

View File

@ -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<ConfigMaterialCategory> {
IPage<ConfigMaterialCategory> selectMaterialList(Page<ConfigMaterialCategory> page, QueryWrapper<ConfigMaterialCategory> queryWrapper);
List<Map<String,Object>> getMaterialTreeData(ConfigMaterialCategory configMaterialCategory);
}

View File

@ -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<ConfigMaterialInfo> {
}

View File

@ -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<ConfigMaterialMedication> {
}

View File

@ -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<ConfigMaterialType> {
}

View File

@ -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<ConfigMaterialCategoryMapper, ConfigMaterialCategory> implements IConfigMaterialCategoryService {
@Autowired
public ConfigMaterialTypeMapper configMaterialTypeMapper;
@Autowired
public ConfigMaterialMedicationMapper configMaterialMedicationMapper;
@Override
public IPage<ConfigMaterialCategory> selectMaterialList(Page<ConfigMaterialCategory> page, QueryWrapper<ConfigMaterialCategory> queryWrapper) {
IPage<ConfigMaterialCategory> pageList = baseMapper.selectMaterialList(page,queryWrapper);
List<ConfigMaterialCategory> 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<ConfigMaterialCategory> 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<ConfigMaterialCategory> 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<ConfigMaterialCategory> 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<Map<String,Object>>getMaterialTreeData(ConfigMaterialCategory configMaterialCategory) {
//查询护理分类信息
QueryWrapper<ConfigMaterialCategory> categoryQueryWrapper = new QueryWrapper<>();
categoryQueryWrapper.eq("iz_enabled","0");
categoryQueryWrapper.eq("del_flag","0");
categoryQueryWrapper.orderByAsc("sort");
List<ConfigMaterialCategory> list =baseMapper.selectList(categoryQueryWrapper);
//查询护理类型信息
QueryWrapper<ConfigMaterialType> typeQueryWrapper = new QueryWrapper<>();
typeQueryWrapper.eq("iz_enabled","0");
typeQueryWrapper.eq("del_flag","0");
List<ConfigMaterialType> list2 = configMaterialTypeMapper.selectList(typeQueryWrapper);
//查询用药类型信息
QueryWrapper<ConfigMaterialMedication> medicationQueryWrapper = new QueryWrapper<>();
medicationQueryWrapper.eq("iz_enabled","0");
medicationQueryWrapper.eq("del_flag","0");
List<ConfigMaterialMedication> list3 = configMaterialMedicationMapper.selectList(medicationQueryWrapper);
List<Map<String,Object>> wllxMapList = new ArrayList<Map<String,Object>>();
for(ConfigMaterialType par : list2){
Map<String,Object> wllxMap = new HashMap<String,Object>();
List<Map<String,Object>> yylxMapList = new ArrayList<Map<String,Object>>();
for(ConfigMaterialMedication yylxPar:list3){
if(StringUtils.equals(yylxPar.getTypeId(),par.getId())){
Map<String,Object> yylxMap = new HashMap<String,Object>();
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<Map<String,Object>> infoMapList = new ArrayList<Map<String,Object>>();
int index = 0;
for(ConfigMaterialCategory par : list){
index++;
Map<String,Object> infoMap = new HashMap<String,Object>();
List<Map<String,Object>> wllxMap2List = new ArrayList<Map<String,Object>>();
for(Map<String,Object> 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;
}
}

View File

@ -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<ConfigMaterialInfoMapper, ConfigMaterialInfo> implements IConfigMaterialInfoService {
}

View File

@ -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<ConfigMaterialMedicationMapper, ConfigMaterialMedication> implements IConfigMaterialMedicationService {
}

View File

@ -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<ConfigMaterialTypeMapper, ConfigMaterialType> implements IConfigMaterialTypeService {
}

View File

@ -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();
}
}

View File

@ -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用于查询

View File

@ -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: 物料信息

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.ConfigMaterial.mapper.ConfigMaterialTypeMapper">
<mapper namespace="org.jeecg.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper">
</mapper>

View File

@ -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<ConfigMaterialInfo> {
void syncList();
@DS("#dataSourceCode")
List<ConfigMaterialInfo> queryList(String dataSourceCode);
}

View File

@ -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<ConfigMaterialInfoMapper, ConfigMaterialInfo> 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<SysDataSource> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("code", "100");
List<SysDataSource> list = sysDataSourceService.list(queryWrapper);
// 使用Set去重
Set<String> uniqueKeys = new HashSet<>();
List<NuBizAllMaterialInfo> distinctList = new ArrayList<>();
// 2.查询所有的可用数据
for (SysDataSource sysDataSource : list) {
QueryWrapper<ConfigMaterialInfo> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("code", sysDataSource.getId());
String dataSourceCode = sysDataSource.getCode();
try {
dataSourceLoader.refreshDataSources();
List<ConfigMaterialInfo> 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<NuBizAllMaterialInfo>());
nuBizAllMaterialInfoService.saveBatch(distinctList);
}
}
@DS("#dataSourceCode")
@Override
public List<ConfigMaterialInfo> queryList(String dataSourceCode) {
String currentDs = DynamicDataSourceContextHolder.peek();
System.out.println("当前生效的数据源是: " + currentDs);
return baseMapper.selectList( null);
}
}