瀏覽代碼

客商行业档案

chenc 3 年之前
父節點
當前提交
85d6b1b45e

+ 307 - 0
src/main/java/org/jeecg/modules/basedata/controller/BaseCustomerIndustryController.java

@@ -0,0 +1,307 @@
+package org.jeecg.modules.basedata.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.stream.Collectors;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.google.common.collect.Lists;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.basedata.entity.BaseCustomerIndustry;
+import org.jeecg.modules.basedata.model.BaseCustomerIndustryTree;
+import org.jeecg.modules.basedata.service.IBaseCustomerIndustryService;
+
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+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;
+
+ /**
+ * @Title: Controller
+ * @Description: 客商行业
+ * @author: jeecg-boot
+ * @date:   2021-11-11
+ * @version: V1.0
+ */
+@RestController
+@RequestMapping("/basedata/baseCustomerIndustry")
+@Slf4j
+public class BaseCustomerIndustryController {
+	@Autowired
+	private IBaseCustomerIndustryService baseCustomerIndustryService;
+	
+	/**
+	  * 分页列表查询
+	 * @param baseCustomerIndustry
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@GetMapping(value = "/list")
+	public Result<IPage<BaseCustomerIndustry>> queryPageList(BaseCustomerIndustry baseCustomerIndustry,
+									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+									  HttpServletRequest req) {
+		Result<IPage<BaseCustomerIndustry>> result = new Result<IPage<BaseCustomerIndustry>>();
+		QueryWrapper<BaseCustomerIndustry> queryWrapper = QueryGenerator.initQueryWrapper(baseCustomerIndustry, req.getParameterMap());
+		Page<BaseCustomerIndustry> page = new Page<BaseCustomerIndustry>(pageNo, pageSize);
+		IPage<BaseCustomerIndustry> pageList = baseCustomerIndustryService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	/**
+	* @Author chenchuang
+	* @Description //TODO 查询客商行业树形数据
+	* @Date 2021/11/11 19:29
+	* @Param [pkOrg]
+	* @return org.jeecg.common.api.vo.Result<java.util.List<org.jeecg.modules.basedata.model.BaseCustomerIndustryTree>>
+	*/
+	 @GetMapping(value = "/getTreeList")
+	 public Result<List<BaseCustomerIndustryTree>> getTreeList(String pkOrg) {
+		 Result<List<BaseCustomerIndustryTree>> result = new Result<>();
+		 QueryWrapper<BaseCustomerIndustry> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.lambda().eq(BaseCustomerIndustry::getDelFlag,'0');
+		 queryWrapper.lambda().eq(BaseCustomerIndustry::getPkOrg,pkOrg);
+		 queryWrapper.lambda().orderByAsc(BaseCustomerIndustry::getSort);
+		 List<BaseCustomerIndustry> list = baseCustomerIndustryService.list(queryWrapper);
+		 List<BaseCustomerIndustryTree> listTree=getTree(list);
+		 result.setSuccess(true);
+		 result.setResult(listTree);
+		 return result;
+	 }
+
+	 //获取客商行业树形数据
+	 public List<BaseCustomerIndustryTree> getTree(List<BaseCustomerIndustry> list){
+		 List<BaseCustomerIndustryTree> resp = Lists.newArrayList();
+		 //根据parentId分组
+		 Map<String, List<BaseCustomerIndustry>> postMap = list.stream().collect(Collectors.groupingBy(BaseCustomerIndustry :: getParentId));
+		 List<BaseCustomerIndustry>  baseArchivesProjectApprovals = postMap.get("0");
+		 if(CollectionUtils.isEmpty(baseArchivesProjectApprovals)){
+			 return null;
+		 }
+		 for(BaseCustomerIndustry baseCustomerIndustry : baseArchivesProjectApprovals){
+			 BaseCustomerIndustryTree baseCustomerIndustryTree = new BaseCustomerIndustryTree(baseCustomerIndustry);
+			 baseCustomerIndustryTree.setChildren(getChildes(list, baseCustomerIndustryTree.getKey(), postMap));
+			 //判断是否为末节点
+			 List<BaseCustomerIndustry> posts = postMap.get(baseCustomerIndustryTree.getKey());
+			 if(CollectionUtils.isEmpty(posts)){
+				 baseCustomerIndustryTree.setIsLeaf(true);
+				 baseCustomerIndustryTree.setChildren(null);
+			 }
+			 resp.add(baseCustomerIndustryTree);
+		 }
+		 return resp;
+	 }
+
+	 /**
+	  * @desc 获取子节点数据
+	  */
+	 private List<BaseCustomerIndustryTree> getChildes(List<BaseCustomerIndustry> list, String key, Map<String, List<BaseCustomerIndustry>> postMap) {
+		 List<BaseCustomerIndustryTree> resp = Lists.newArrayList();
+		 for(BaseCustomerIndustry baseCustomerIndustry : list){
+			 if(baseCustomerIndustry.getParentId().equals(key)){
+				 BaseCustomerIndustryTree baseArchivesProjectApprovalRespDTO = new BaseCustomerIndustryTree(baseCustomerIndustry);
+				 baseArchivesProjectApprovalRespDTO.setChildren(getChildes(list, baseArchivesProjectApprovalRespDTO.getKey(), postMap));
+				 //判断是否为末节点
+				 List<BaseCustomerIndustry> posts = postMap.get(baseArchivesProjectApprovalRespDTO.getKey());
+				 if(CollectionUtils.isEmpty(posts)){
+					 baseArchivesProjectApprovalRespDTO.setIsLeaf(true);
+					 baseArchivesProjectApprovalRespDTO.setChildren(null);
+				 }
+				 resp.add(baseArchivesProjectApprovalRespDTO);
+			 }
+		 }
+		 return resp;
+	 }
+	
+	/**
+	  *   添加
+	 * @param baseCustomerIndustry
+	 * @return
+	 */
+	@PostMapping(value = "/add")
+	public Result<BaseCustomerIndustry> add(@RequestBody BaseCustomerIndustry baseCustomerIndustry) {
+		Result<BaseCustomerIndustry> result = new Result<BaseCustomerIndustry>();
+		try {
+			baseCustomerIndustryService.save(baseCustomerIndustry);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			e.printStackTrace();
+			log.info(e.getMessage());
+			result.error500("操作失败");
+		}
+		return result;
+	}
+	
+	/**
+	  *  编辑
+	 * @param baseCustomerIndustry
+	 * @return
+	 */
+	@PutMapping(value = "/edit")
+	public Result<BaseCustomerIndustry> edit(@RequestBody BaseCustomerIndustry baseCustomerIndustry) {
+		Result<BaseCustomerIndustry> result = new Result<BaseCustomerIndustry>();
+		BaseCustomerIndustry baseCustomerIndustryEntity = baseCustomerIndustryService.getById(baseCustomerIndustry.getId());
+		if(baseCustomerIndustryEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = baseCustomerIndustryService.updateById(baseCustomerIndustry);
+			//TODO 返回false说明什么?
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+		
+		return result;
+	}
+	
+	/**
+	  *   通过id删除
+	 * @param id
+	 * @return
+	 */
+	@DeleteMapping(value = "/delete")
+	public Result<BaseCustomerIndustry> delete(@RequestParam(name="id",required=true) String id) {
+		Result<BaseCustomerIndustry> result = new Result<BaseCustomerIndustry>();
+		BaseCustomerIndustry baseCustomerIndustry = baseCustomerIndustryService.getById(id);
+		if(baseCustomerIndustry==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = baseCustomerIndustryService.removeById(id);
+			if(ok) {
+				result.success("删除成功!");
+			}
+		}
+		
+		return result;
+	}
+	
+	/**
+	  *  批量删除
+	 * @param ids
+	 * @return
+	 */
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<BaseCustomerIndustry> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<BaseCustomerIndustry> result = new Result<BaseCustomerIndustry>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.baseCustomerIndustryService.removeByIds(Arrays.asList(ids.split(",")));
+			result.success("删除成功!");
+		}
+		return result;
+	}
+	
+	/**
+	  * 通过id查询
+	 * @param id
+	 * @return
+	 */
+	@GetMapping(value = "/queryById")
+	public Result<BaseCustomerIndustry> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<BaseCustomerIndustry> result = new Result<BaseCustomerIndustry>();
+		BaseCustomerIndustry baseCustomerIndustry = baseCustomerIndustryService.getById(id);
+		if(baseCustomerIndustry==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(baseCustomerIndustry);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+
+  /**
+      * 导出excel
+   *
+   * @param request
+   * @param response
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+      // Step.1 组装查询条件
+      QueryWrapper<BaseCustomerIndustry> queryWrapper = null;
+      try {
+          String paramsStr = request.getParameter("paramsStr");
+          if (oConvertUtils.isNotEmpty(paramsStr)) {
+              String deString = URLDecoder.decode(paramsStr, "UTF-8");
+              BaseCustomerIndustry baseCustomerIndustry = JSON.parseObject(deString, BaseCustomerIndustry.class);
+              queryWrapper = QueryGenerator.initQueryWrapper(baseCustomerIndustry, request.getParameterMap());
+          }
+      } catch (UnsupportedEncodingException e) {
+          e.printStackTrace();
+      }
+
+      //Step.2 AutoPoi 导出Excel
+      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+      List<BaseCustomerIndustry> pageList = baseCustomerIndustryService.list(queryWrapper);
+      //导出文件名称
+      mv.addObject(NormalExcelConstants.FILE_NAME, "客商行业列表");
+      mv.addObject(NormalExcelConstants.CLASS, BaseCustomerIndustry.class);
+      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("客商行业列表数据", "导出人:Jeecg", "导出信息"));
+      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+      return mv;
+  }
+
+  /**
+      * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+          MultipartFile file = entity.getValue();// 获取上传文件对象
+          ImportParams params = new ImportParams();
+          params.setTitleRows(2);
+          params.setHeadRows(1);
+          params.setNeedSave(true);
+          try {
+              List<BaseCustomerIndustry> listBaseCustomerIndustrys = ExcelImportUtil.importExcel(file.getInputStream(), BaseCustomerIndustry.class, params);
+              for (BaseCustomerIndustry baseCustomerIndustryExcel : listBaseCustomerIndustrys) {
+                  baseCustomerIndustryService.save(baseCustomerIndustryExcel);
+              }
+              return Result.ok("文件导入成功!数据行数:" + listBaseCustomerIndustrys.size());
+          } catch (Exception e) {
+              log.error(e.getMessage());
+              return Result.error("文件导入失败!");
+          } finally {
+              try {
+                  file.getInputStream().close();
+              } catch (IOException e) {
+                  e.printStackTrace();
+              }
+          }
+      }
+      return Result.ok("文件导入失败!");
+  }
+
+}

+ 64 - 0
src/main/java/org/jeecg/modules/basedata/entity/BaseCustomerIndustry.java

@@ -0,0 +1,64 @@
+package org.jeecg.modules.basedata.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 客商行业
+ * @author: jeecg-boot
+ * @date:   2021-11-11
+ * @version: V1.0
+ */
+@Data
+@TableName("base_customer_industry")
+public class BaseCustomerIndustry implements Serializable {
+    private static final long serialVersionUID = 1L;
+    
+	/**项目编码*/
+	@Excel(name = "项目编码", width = 15)
+	private String code;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+	private String createBy;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	/**删除状态(0,正常,1已删除)*/
+	@Excel(name = "删除状态(0,正常,1已删除)", width = 15)
+	private String delFlag;
+	/**主键*/
+	@TableId(type = IdType.UUID)
+	private String id;
+	/**项目名称*/
+	@Excel(name = "项目名称", width = 15)
+	private String name;
+	/**父节点id*/
+	@Excel(name = "父节点id", width = 15)
+	private String parentId;
+	/**组织*/
+	@Excel(name = "组织", width = 15)
+	private String pkOrg;
+	/**状态(0:未启用, 1:启用)*/
+	@Excel(name = "状态(0:未启用, 1:启用)", width = 15)
+	private Integer status;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+	private String updateBy;
+	/**修改时间*/
+	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+
+	//排序
+	private Integer sort;
+}

+ 17 - 0
src/main/java/org/jeecg/modules/basedata/mapper/BaseCustomerIndustryMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.basedata.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.basedata.entity.BaseCustomerIndustry;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 客商行业
+ * @author: jeecg-boot
+ * @date:   2021-11-11
+ * @version: V1.0
+ */
+public interface BaseCustomerIndustryMapper extends BaseMapper<BaseCustomerIndustry> {
+
+}

+ 5 - 0
src/main/java/org/jeecg/modules/basedata/mapper/xml/BaseCustomerIndustryMapper.xml

@@ -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="org.jeecg.modules.basedata.mapper.BaseCustomerIndustryMapper">
+
+</mapper>

+ 132 - 0
src/main/java/org/jeecg/modules/basedata/model/BaseCustomerIndustryTree.java

@@ -0,0 +1,132 @@
+package org.jeecg.modules.basedata.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import org.jeecg.modules.basedata.entity.BaseCustomerIndustry;
+
+import java.util.List;
+
+/**
+ * 功能描述:客商行业
+ *
+ * @Author: chenchuang
+ * @Date: 2021/11/11 18:58
+ */
+public class BaseCustomerIndustryTree {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("key")
+    private String key;
+    @ApiModelProperty("title")
+    private String title;
+    @ApiModelProperty("父节点id")
+    private String parentId;
+    @ApiModelProperty("行业编码")
+    private String code;
+    @ApiModelProperty("行业名称")
+    private String name;
+    @ApiModelProperty("状态(0:未启用, 1:启用)")
+    private Integer status;
+    @ApiModelProperty("子节点数据")
+    private List<BaseCustomerIndustryTree> children;
+    @ApiModelProperty(" 是否叶子节点: 1:是 0:不是")
+    private boolean isLeaf;
+
+    private Integer sort;
+
+    private static final long serialVersionUID = 1L;
+
+    public BaseCustomerIndustryTree() {
+    }
+
+    public BaseCustomerIndustryTree(BaseCustomerIndustry baseCustomerIndustry) {
+        this.id = baseCustomerIndustry.getId();
+        this.key = baseCustomerIndustry.getId();
+        this.title = baseCustomerIndustry.getName();
+        this.parentId = baseCustomerIndustry.getParentId();
+        this.code = baseCustomerIndustry.getCode();
+        this.status = baseCustomerIndustry.getStatus();
+        this.sort=baseCustomerIndustry.getSort();
+        this.isLeaf = false;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public List<BaseCustomerIndustryTree> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<BaseCustomerIndustryTree> children) {
+        this.children = children;
+    }
+
+    public boolean getIsLeaf() {
+        return isLeaf;
+    }
+
+    public void setIsLeaf(boolean leaf) {
+        isLeaf = leaf;
+    }
+}

+ 14 - 0
src/main/java/org/jeecg/modules/basedata/service/IBaseCustomerIndustryService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.basedata.service;
+
+import org.jeecg.modules.basedata.entity.BaseCustomerIndustry;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 客商行业
+ * @author: jeecg-boot
+ * @date:   2021-11-11
+ * @version: V1.0
+ */
+public interface IBaseCustomerIndustryService extends IService<BaseCustomerIndustry> {
+
+}

+ 19 - 0
src/main/java/org/jeecg/modules/basedata/service/impl/BaseCustomerIndustryServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.basedata.service.impl;
+
+import org.jeecg.modules.basedata.entity.BaseCustomerIndustry;
+import org.jeecg.modules.basedata.mapper.BaseCustomerIndustryMapper;
+import org.jeecg.modules.basedata.service.IBaseCustomerIndustryService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 客商行业
+ * @author: jeecg-boot
+ * @date:   2021-11-11
+ * @version: V1.0
+ */
+@Service
+public class BaseCustomerIndustryServiceImpl extends ServiceImpl<BaseCustomerIndustryMapper, BaseCustomerIndustry> implements IBaseCustomerIndustryService {
+
+}