添加供应管理平台和业务平台交互
This commit is contained in:
parent
f53a507f0b
commit
b575196d51
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService;
|
||||
import com.nu.modules.configSuppliersInfo.service.IConfigSuppliersInfoService;
|
||||
import com.nu.modules.utils.PinyinUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
|
@ -40,7 +41,6 @@ import java.util.Map;
|
|||
public class ConfigMaterialInfoController extends JeecgController<ConfigMaterialInfo, IConfigMaterialInfoService> {
|
||||
@Autowired
|
||||
private IConfigMaterialInfoService configMaterialInfoService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
|
|
@ -65,6 +65,8 @@ public class ConfigMaterialInfoController extends JeecgController<ConfigMaterial
|
|||
// 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()+"' )");
|
||||
|
|
|
|||
|
|
@ -155,6 +155,8 @@ public class ConfigMaterialInfo implements Serializable {
|
|||
@Dict(dicCode = "wl_tag_type")
|
||||
private String tagType;
|
||||
|
||||
private String brandType;//品牌
|
||||
|
||||
/**是否医保报销 0否 1是*/
|
||||
@Dict(dicCode = "yn")
|
||||
private java.lang.String izYbbx;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,192 @@
|
|||
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 com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.nu.modules.configSuppliersInfo.service.IConfigSuppliersInfoService;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
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.NuBizSuppliersInfo;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersInfoService;
|
||||
|
||||
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-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="供应商信息")
|
||||
@RestController
|
||||
@RequestMapping("/bizSuppliers/nuBizSuppliersInfo")
|
||||
@Slf4j
|
||||
public class NuBizSuppliersInfoController extends JeecgController<NuBizSuppliersInfo, INuBizSuppliersInfoService> {
|
||||
@Autowired
|
||||
private INuBizSuppliersInfoService nuBizSuppliersInfoService;
|
||||
@Autowired
|
||||
private IConfigSuppliersInfoService configSuppliersInfoService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param nuBizSuppliersInfo
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
//@AutoLog(value = "供应商信息-分页列表查询")
|
||||
@ApiOperation(value="供应商信息-分页列表查询", notes="供应商信息-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<IPage<NuBizSuppliersInfo>> queryPageList(NuBizSuppliersInfo nuBizSuppliersInfo,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
//查询当前用户的配置供应商
|
||||
List<ConfigSuppliersInfo> list = configSuppliersInfoService.list();
|
||||
List<String> suppliersIdNo = new ArrayList<>();
|
||||
for(int i=0;i<list.size();i++){
|
||||
suppliersIdNo.add(list.get(i).getId());
|
||||
}
|
||||
|
||||
QueryWrapper<NuBizSuppliersInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuBizSuppliersInfo, req.getParameterMap());
|
||||
if(suppliersIdNo.size()>0){
|
||||
queryWrapper.notIn("id",suppliersIdNo);
|
||||
}
|
||||
Page<NuBizSuppliersInfo> page = new Page<NuBizSuppliersInfo>(pageNo, pageSize);
|
||||
IPage<NuBizSuppliersInfo> pageList = nuBizSuppliersInfoService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param nuBizSuppliersInfo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "供应商信息-添加")
|
||||
@ApiOperation(value="供应商信息-添加", notes="供应商信息-添加")
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:add")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@RequestBody NuBizSuppliersInfo nuBizSuppliersInfo) {
|
||||
nuBizSuppliersInfoService.save(nuBizSuppliersInfo);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param nuBizSuppliersInfo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "供应商信息-编辑")
|
||||
@ApiOperation(value="供应商信息-编辑", notes="供应商信息-编辑")
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:edit")
|
||||
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||
public Result<String> edit(@RequestBody NuBizSuppliersInfo nuBizSuppliersInfo) {
|
||||
nuBizSuppliersInfoService.updateById(nuBizSuppliersInfo);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "供应商信息-通过id删除")
|
||||
@ApiOperation(value="供应商信息-通过id删除", notes="供应商信息-通过id删除")
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:delete")
|
||||
@DeleteMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||
nuBizSuppliersInfoService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "供应商信息-批量删除")
|
||||
@ApiOperation(value="供应商信息-批量删除", notes="供应商信息-批量删除")
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:deleteBatch")
|
||||
@DeleteMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.nuBizSuppliersInfoService.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<NuBizSuppliersInfo> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
NuBizSuppliersInfo nuBizSuppliersInfo = nuBizSuppliersInfoService.getById(id);
|
||||
if(nuBizSuppliersInfo==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(nuBizSuppliersInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param nuBizSuppliersInfo
|
||||
*/
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:exportXls")
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, NuBizSuppliersInfo nuBizSuppliersInfo) {
|
||||
return super.exportXls(request, nuBizSuppliersInfo, NuBizSuppliersInfo.class, "供应商信息");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("bizSuppliers:nu_biz_suppliers_info:importExcel")
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, NuBizSuppliersInfo.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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("文件导入失败!");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
package com.nu.modules.bizSuppliers.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: 2026-02-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("nu_biz_suppliers_info")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="nu_biz_suppliers_info对象", description="供应商信息")
|
||||
public class NuBizSuppliersInfo 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 suppliersName;
|
||||
/**供应商性质 1代理商 2批发商 3制造商*/
|
||||
@Excel(name = "供应商性质 1代理商 2批发商 3制造商", width = 15, dicCode = "suppliers_nature")
|
||||
@Dict(dicCode = "suppliers_nature")
|
||||
@ApiModelProperty(value = "供应商性质 1代理商 2批发商 3制造商")
|
||||
private java.lang.String suppliersNature;
|
||||
/**供应商地址*/
|
||||
@Excel(name = "供应商地址", width = 15)
|
||||
@ApiModelProperty(value = "供应商地址")
|
||||
private java.lang.String suppliersAddress;
|
||||
/**负责人*/
|
||||
@Excel(name = "负责人", width = 15)
|
||||
@ApiModelProperty(value = "负责人")
|
||||
private java.lang.String personInCharge;
|
||||
/**联系电话*/
|
||||
@Excel(name = "联系电话", width = 15)
|
||||
@ApiModelProperty(value = "联系电话")
|
||||
private java.lang.String contactNumber;
|
||||
/**供应状态 1正常供应 2暂停供应*/
|
||||
@Excel(name = "供应状态 1正常供应 2暂停供应", width = 15, dicCode = "supply_status")
|
||||
@Dict(dicCode = "supply_status")
|
||||
@ApiModelProperty(value = "供应状态 1正常供应 2暂停供应")
|
||||
private java.lang.String supplyState;
|
||||
/**开户行*/
|
||||
@Excel(name = "开户行", width = 15)
|
||||
@ApiModelProperty(value = "开户行")
|
||||
private java.lang.String openingBank;
|
||||
/**开户行账号*/
|
||||
@Excel(name = "开户行账号", width = 15)
|
||||
@ApiModelProperty(value = "开户行账号")
|
||||
private java.lang.String openingBankNo;
|
||||
/**openId*/
|
||||
@Excel(name = "openId", width = 15)
|
||||
@ApiModelProperty(value = "openId")
|
||||
private java.lang.String openId;
|
||||
/**资质照片*/
|
||||
@Excel(name = "资质照片", width = 15)
|
||||
@ApiModelProperty(value = "资质照片")
|
||||
private java.lang.String imgPath;
|
||||
/**是否删除 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;
|
||||
/**创建日期*/
|
||||
@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;
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.nu.modules.bizSuppliers.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: 2026-02-28
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("nu_biz_suppliers_material_info")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@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;
|
||||
/**创建人*/
|
||||
@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;
|
||||
/**供应商*/
|
||||
@Excel(name = "供应商", width = 15)
|
||||
@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,122 @@
|
|||
package com.nu.modules.bizSuppliers.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-12-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("nu_biz_suppliers_org")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="nu_biz_suppliers_org对象", description="供应商-机构中间表")
|
||||
public class NuBizSuppliersOrg implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**id*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.String id;
|
||||
/**微信id*/
|
||||
@Excel(name = "微信id", width = 15)
|
||||
@ApiModelProperty(value = "微信id")
|
||||
private java.lang.String openId;
|
||||
/**供应商nu_biz_suppliers_apply.id*/
|
||||
@Excel(name = "供应商nu_biz_suppliers_apply.id", width = 15)
|
||||
@ApiModelProperty(value = "供应商nu_biz_suppliers_apply.id")
|
||||
private java.lang.String suppliersId;
|
||||
/**机构编码*/
|
||||
@Excel(name = "机构编码", width = 15)
|
||||
@ApiModelProperty(value = "机构编码")
|
||||
private java.lang.String orgCode;
|
||||
/**创建人*/
|
||||
@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;
|
||||
/**是否在线 Y在线 N不在线*/
|
||||
@Excel(name = "是否在线 Y在线 N不在线", width = 15)
|
||||
@ApiModelProperty(value = "是否在线 Y在线 N不在线")
|
||||
private java.lang.String izOnline;
|
||||
/**申请状态 1申请中 2通过 3驳回*/
|
||||
@Excel(name = "申请状态 1申请中 2通过 3驳回", width = 15)
|
||||
@ApiModelProperty(value = "申请状态 1申请中 2通过 3驳回")
|
||||
private java.lang.String status;
|
||||
/**审核备注*/
|
||||
@Excel(name = "审核备注", width = 15)
|
||||
@ApiModelProperty(value = "审核备注")
|
||||
private java.lang.String auditContent;
|
||||
/**是否历史数据 Y历史 N当前数据*/
|
||||
@Excel(name = "是否历史数据 Y历史 N当前数据", width = 15)
|
||||
@ApiModelProperty(value = "是否历史数据 Y历史 N当前数据")
|
||||
private java.lang.String izHistory;
|
||||
/**审核机构 */
|
||||
@Excel(name = "审核机构", width = 15)
|
||||
@ApiModelProperty(value = "审核机构")
|
||||
private String applyOrg;
|
||||
|
||||
/**供应商名称*/
|
||||
@Excel(name = "供应商名称", width = 15)
|
||||
@ApiModelProperty(value = "供应商名称")
|
||||
private java.lang.String suppliersName;
|
||||
/**供应商性质 1代理商 2批发商 3制造商*/
|
||||
@Excel(name = "供应商性质 1代理商 2批发商 3制造商", width = 15)
|
||||
@ApiModelProperty(value = "供应商性质 1代理商 2批发商 3制造商")
|
||||
private java.lang.String suppliersNature;
|
||||
/**供应商地址*/
|
||||
@Excel(name = "供应商地址", width = 15)
|
||||
@ApiModelProperty(value = "供应商地址")
|
||||
private java.lang.String suppliersAddress;
|
||||
/**负责人*/
|
||||
@Excel(name = "负责人", width = 15)
|
||||
@ApiModelProperty(value = "负责人")
|
||||
private java.lang.String personInCharge;
|
||||
/**联系电话*/
|
||||
@Excel(name = "联系电话", width = 15)
|
||||
@ApiModelProperty(value = "联系电话")
|
||||
private java.lang.String contactNumber;
|
||||
/**开户行*/
|
||||
@Excel(name = "开户行", width = 15)
|
||||
@ApiModelProperty(value = "开户行")
|
||||
private java.lang.String openingBank;
|
||||
/**开户行账号*/
|
||||
@Excel(name = "开户行账号", width = 15)
|
||||
@ApiModelProperty(value = "开户行账号")
|
||||
private java.lang.String openingBankNo;
|
||||
/**资质照片*/
|
||||
@Excel(name = "资质照片", width = 15)
|
||||
@ApiModelProperty(value = "资质照片")
|
||||
private java.lang.String imgPath;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.nu.modules.bizSuppliers.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersInfo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 供应商信息
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2026-02-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface NuBizSuppliersInfoMapper extends BaseMapper<NuBizSuppliersInfo> {
|
||||
|
||||
}
|
||||
|
|
@ -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,17 @@
|
|||
package com.nu.modules.bizSuppliers.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersOrg;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 供应商-机构中间表
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-12-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface NuBizSuppliersOrgMapper extends BaseMapper<NuBizSuppliersOrg> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +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.bizSuppliers.mapper.NuBizSuppliersInfoMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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,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.bizSuppliers.mapper.NuBizSuppliersOrgMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.nu.modules.bizSuppliers.service;
|
||||
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 供应商信息
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2026-02-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface INuBizSuppliersInfoService extends IService<NuBizSuppliersInfo> {
|
||||
|
||||
}
|
||||
|
|
@ -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,14 @@
|
|||
package com.nu.modules.bizSuppliers.service;
|
||||
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersOrg;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @Description: 供应商-机构中间表
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-12-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface INuBizSuppliersOrgService extends IService<NuBizSuppliersOrg> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.nu.modules.bizSuppliers.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersInfo;
|
||||
import com.nu.modules.bizSuppliers.mapper.NuBizSuppliersInfoMapper;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersInfoService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 供应商信息
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2026-02-26
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@DS("ope")
|
||||
public class NuBizSuppliersInfoServiceImpl extends ServiceImpl<NuBizSuppliersInfoMapper, NuBizSuppliersInfo> implements INuBizSuppliersInfoService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.nu.modules.bizSuppliers.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
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
|
||||
@DS("ope")
|
||||
public class NuBizSuppliersMaterialInfoServiceImpl extends ServiceImpl<NuBizSuppliersMaterialInfoMapper, NuBizSuppliersMaterialInfo> implements INuBizSuppliersMaterialInfoService {
|
||||
|
||||
@Override
|
||||
public List<NuBizSuppliersMaterialInfo> noList(List<NuBizSuppliersMaterialInfo> list) {
|
||||
return baseMapper.noList(list);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.nu.modules.bizSuppliers.service.impl;
|
||||
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersOrg;
|
||||
import com.nu.modules.bizSuppliers.mapper.NuBizSuppliersOrgMapper;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersOrgService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
/**
|
||||
* @Description: 供应商-机构中间表
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2025-12-22
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class NuBizSuppliersOrgServiceImpl extends ServiceImpl<NuBizSuppliersOrgMapper, NuBizSuppliersOrg> implements INuBizSuppliersOrgService {
|
||||
|
||||
}
|
||||
|
|
@ -10,6 +10,12 @@ import java.io.UnsupportedEncodingException;
|
|||
import java.net.URLDecoder;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService;
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersInfoService;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersMaterialInfoService;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.query.QueryRuleEnum;
|
||||
|
|
@ -53,8 +59,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|||
public class ConfigSuppliersInfoController extends JeecgController<ConfigSuppliersInfo, IConfigSuppliersInfoService> {
|
||||
@Autowired
|
||||
private IConfigSuppliersInfoService configSuppliersInfoService;
|
||||
|
||||
/**
|
||||
*
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param configSuppliersInfo
|
||||
|
|
@ -70,6 +76,7 @@ public class ConfigSuppliersInfoController extends JeecgController<ConfigSupplie
|
|||
@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
|
||||
|
|
@ -182,4 +189,29 @@ public class ConfigSuppliersInfoController extends JeecgController<ConfigSupplie
|
|||
return super.importExcel(request, response, ConfigSuppliersInfo.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@AutoLog(value = "批量添加供应商到本平台")
|
||||
@ApiOperation(value="批量添加供应商到本平台", notes="批量添加供应商到本平台")
|
||||
@RequiresPermissions("configSuppliersInfo:config_suppliers_info:add")
|
||||
@PostMapping(value = "/addBatch")
|
||||
public Result<String> addBatch(@RequestBody List<ConfigSuppliersInfo> configSuppliersInfo) {
|
||||
configSuppliersInfoService.addBatch(configSuppliersInfo);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
@AutoLog(value = "更新供应商对应的物料关系")
|
||||
@ApiOperation(value="更新供应商对应的物料关系", notes="更新供应商对应的物料关系")
|
||||
@RequiresPermissions("configSuppliersInfo:config_suppliers_info:add")
|
||||
@PostMapping(value = "/updateWlType")
|
||||
public void updateWlType(@RequestBody ConfigSuppliersInfo configSuppliersInfo) {
|
||||
configSuppliersInfo.setWlType("1");
|
||||
configSuppliersInfoService.updateById(configSuppliersInfo);
|
||||
configSuppliersInfoService.updateWlType(configSuppliersInfo);
|
||||
|
||||
// return Result.OK("跟新成功!");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,4 +109,6 @@ public class ConfigSuppliersInfo implements Serializable {
|
|||
/**来源 1平台新增 2小程序注册*/
|
||||
@ApiModelProperty(value = "来源 1平台新增 2小程序注册")
|
||||
private java.lang.String sourceType;
|
||||
|
||||
private String wlType;//是否同步物料关系 0未同步 1已同步
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package com.nu.modules.configSuppliersInfo.service;
|
|||
import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 供应商
|
||||
* @Author: 张明远
|
||||
|
|
@ -11,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface IConfigSuppliersInfoService extends IService<ConfigSuppliersInfo> {
|
||||
|
||||
void addBatch(List<ConfigSuppliersInfo> configSuppliersInfo);
|
||||
|
||||
void updateWlType(ConfigSuppliersInfo configSuppliersInfo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,28 @@
|
|||
package com.nu.modules.configSuppliersInfo.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.nu.dto.SuppliersInfoMQDto;
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService;
|
||||
import com.nu.modules.bizSuppliers.entity.NuBizSuppliersMaterialInfo;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersInfoService;
|
||||
import com.nu.modules.bizSuppliers.service.INuBizSuppliersMaterialInfoService;
|
||||
import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper;
|
||||
import com.nu.modules.configSuppliersInfo.service.IConfigSuppliersInfoService;
|
||||
import com.nu.utils.RabbitMQUtil;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 供应商
|
||||
|
|
@ -16,4 +33,115 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
@Service
|
||||
public class ConfigSuppliersInfoServiceImpl extends ServiceImpl<ConfigSuppliersInfoMapper, ConfigSuppliersInfo> implements IConfigSuppliersInfoService {
|
||||
|
||||
@Autowired
|
||||
@Lazy
|
||||
private INuBizSuppliersMaterialInfoService nuBizSuppliersMaterialInfoService;
|
||||
|
||||
@Autowired
|
||||
private IConfigMaterialInfoService configMaterialInfoService;
|
||||
|
||||
@Autowired
|
||||
private RabbitMQUtil rabbitMQUtil;
|
||||
|
||||
@Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
public void addBatch(List<ConfigSuppliersInfo> configSuppliersInfo) {
|
||||
List<ConfigMaterialInfo> wlList = configMaterialInfoService.list();
|
||||
for (ConfigSuppliersInfo configSuppliersInfo1 : configSuppliersInfo) {
|
||||
configSuppliersInfo1.setSourceType("2");
|
||||
baseMapper.insert(configSuppliersInfo1);
|
||||
|
||||
SuppliersInfoMQDto suppliersInfoMQDto = new SuppliersInfoMQDto();
|
||||
BeanUtils.copyProperties(configSuppliersInfo1, suppliersInfoMQDto);
|
||||
//todo 更新管理平台机构申请关系
|
||||
rabbitMQUtil.sendToExchange("nu.suppliers.suppliersApplyAdd", "nu.suppliers.suppliersApplyAdd", suppliersInfoMQDto);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateWlType(ConfigSuppliersInfo configSuppliersInfo) {
|
||||
|
||||
QueryWrapper<ConfigMaterialInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.apply("(suppliers is null or suppliers NOT like concat('%',"+configSuppliersInfo.getId()+",'%'))");
|
||||
List<ConfigMaterialInfo> wlList = configMaterialInfoService.list(queryWrapper);
|
||||
|
||||
//更新物料关系
|
||||
updateMaterialInfo(wlList,configSuppliersInfo);
|
||||
}
|
||||
|
||||
private void updateMaterialInfo( List<ConfigMaterialInfo> wlList, ConfigSuppliersInfo configSuppliersInfo) {
|
||||
|
||||
if(wlList.size()==0){
|
||||
return;
|
||||
}
|
||||
|
||||
// 查询供应商对应的物料
|
||||
List<NuBizSuppliersMaterialInfo> xsList = nuBizSuppliersMaterialInfoService.list(
|
||||
new QueryWrapper<NuBizSuppliersMaterialInfo>()
|
||||
.eq("suppliers_id", configSuppliersInfo.getId())
|
||||
);
|
||||
// 如果xsList为空,跳过当前循环
|
||||
if (xsList == null || xsList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 取两个列表的交集,并设置suppliersId
|
||||
List<ConfigMaterialInfo> commonList = wlList.stream()
|
||||
.filter(wl -> wl != null) // 过滤掉null的物料
|
||||
.filter(wl -> xsList.stream()
|
||||
.filter(xs -> xs != null) // 过滤掉null的供应商物料
|
||||
.anyMatch(xs -> {
|
||||
// 安全的字段比较,允许null值
|
||||
boolean materialNameMatch = (wl.getMaterialName() == null && xs.getMaterialName() == null) ||
|
||||
(wl.getMaterialName() != null && xs.getMaterialName() != null &&
|
||||
wl.getMaterialName().equals(xs.getMaterialName()));
|
||||
|
||||
boolean specificationModelMatch = (wl.getSpecificationModel() == null && xs.getSpecificationModel() == null) ||
|
||||
(wl.getSpecificationModel() != null && xs.getSpecificationModel() != null &&
|
||||
wl.getSpecificationModel().equals(xs.getSpecificationModel()));
|
||||
|
||||
boolean brandTypeMatch = (wl.getBrandType() == null && xs.getBrandType() == null) ||
|
||||
(wl.getBrandType() != null && xs.getBrandType() != null &&
|
||||
wl.getBrandType().equals(xs.getBrandType()));
|
||||
|
||||
return materialNameMatch && specificationModelMatch && brandTypeMatch;
|
||||
})
|
||||
)
|
||||
.map(wl -> {
|
||||
// 找到对应的xs项目
|
||||
NuBizSuppliersMaterialInfo matchedXs = xsList.stream()
|
||||
.filter(xs -> xs != null)
|
||||
.filter(xs -> {
|
||||
// 同样的匹配逻辑
|
||||
boolean materialNameMatch = (wl.getMaterialName() == null && xs.getMaterialName() == null) ||
|
||||
(wl.getMaterialName() != null && xs.getMaterialName() != null &&
|
||||
wl.getMaterialName().equals(xs.getMaterialName()));
|
||||
|
||||
boolean specificationModelMatch = (wl.getSpecificationModel() == null && xs.getSpecificationModel() == null) ||
|
||||
(wl.getSpecificationModel() != null && xs.getSpecificationModel() != null &&
|
||||
wl.getSpecificationModel().equals(xs.getSpecificationModel()));
|
||||
|
||||
boolean brandTypeMatch = (wl.getBrandType() == null && xs.getBrandType() == null) ||
|
||||
(wl.getBrandType() != null && xs.getBrandType() != null &&
|
||||
wl.getBrandType().equals(xs.getBrandType()));
|
||||
|
||||
return materialNameMatch && specificationModelMatch && brandTypeMatch;
|
||||
})
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
if (matchedXs != null && matchedXs.getId() != null) {
|
||||
String suppliers = wl.getSuppliers();
|
||||
if (StringUtils.isEmpty( suppliers)) {
|
||||
suppliers = configSuppliersInfo.getId();
|
||||
}else{
|
||||
suppliers = suppliers +","+configSuppliersInfo.getId();
|
||||
}
|
||||
wl.setSuppliers(suppliers);
|
||||
configMaterialInfoService.updateById(wl);
|
||||
}
|
||||
return wl;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue