添加供应商审核机制及物料汇总功能,导入供应商物料信息
This commit is contained in:
parent
8c75b6ac43
commit
548818d686
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -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("文件导入失败!");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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("重复提交");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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,用于查询
|
||||
|
|
@ -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: 物料信息
|
||||
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue