Commit 26a6d1e31cc6b672897e5a0339fd68102bbe4747

Authored by 陈威
1 parent e6e15a52
Exists in dev

项目公司组织级联

zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java
... ... @@ -11,6 +11,7 @@ import com.chinagas.common.log.annotation.Log;
11 11 import com.chinagas.common.log.enums.BusinessType;
12 12 import com.chinagas.common.security.annotation.RequirePermission;
13 13 import com.chinagas.modules.schsf.domain.McBasicCmty;
  14 +import com.chinagas.modules.schsf.domain.dto.CompanyDto;
14 15 import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo;
15 16 import com.chinagas.modules.schsf.service.IMcBasicCmtyService;
16 17 import com.chinagas.modules.schsf.utils.listener.McBasicCmtyImportInspection;
... ... @@ -43,6 +44,20 @@ public class McBasicCmtyController extends BaseController {
43 44 private IMcBasicCmtyService mcBasicCmtyService;
44 45  
45 46 /**
  47 + * 查询基础数据-户数 项目公司组织级联
  48 + */
  49 + @RequirePermission("schsf:mcBasicCmty:companyCascader")
  50 + @GetMapping("/companyCascader")
  51 + public AjaxResult companyCascader(@RequestParam(value = "fiscalYear", required = true) Long fiscalYear) {
  52 + McBasicCmtyVo mcBasicCmtyVo = new McBasicCmtyVo();
  53 + mcBasicCmtyVo.setDefFlag("0");
  54 + mcBasicCmtyVo.setFiscalYear(fiscalYear);
  55 + List<CompanyDto> data = mcBasicCmtyService.selectCompanyCascader(mcBasicCmtyVo);
  56 + return AjaxResult.success(data);
  57 + }
  58 +
  59 +
  60 + /**
46 61 * 查询基础数据-户数列表
47 62 */
48 63 @RequirePermission("schsf:mcBasicCmty:list")
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McVisitController.java
1 1 package com.chinagas.modules.schsf.controller;
2   -import java.net.URLEncoder;
3   -import java.util.List;
4   -import java.io.IOException;
5   -import java.util.Map;
6   -import javax.servlet.http.HttpServletResponse;
7 2  
8 3 import com.alibaba.excel.EasyExcel;
9 4 import com.alibaba.excel.util.MapUtils;
10 5 import com.alibaba.fastjson2.JSON;
11 6 import com.chinagas.common.core.domain.AjaxResult;
12   -import org.springframework.beans.factory.annotation.Autowired;
13   -import org.springframework.web.bind.annotation.GetMapping;
14   -import org.springframework.web.bind.annotation.PostMapping;
15   -import org.springframework.web.bind.annotation.PutMapping;
16   -import org.springframework.web.bind.annotation.DeleteMapping;
17   -import org.springframework.web.bind.annotation.PathVariable;
18   -import org.springframework.web.bind.annotation.RequestBody;
19   -import org.springframework.web.bind.annotation.RequestMapping;
20   -import org.springframework.web.bind.annotation.RestController;
  7 +import com.chinagas.common.core.web.controller.BaseController;
  8 +import com.chinagas.common.core.web.page.TableDataInfo;
21 9 import com.chinagas.common.log.annotation.Log;
22 10 import com.chinagas.common.log.enums.BusinessType;
23 11 import com.chinagas.common.security.annotation.RequirePermission;
24 12 import com.chinagas.modules.schsf.domain.McVisit;
25 13 import com.chinagas.modules.schsf.service.IMcVisitService;
26   -import com.chinagas.common.core.web.controller.BaseController;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.web.bind.annotation.*;
27 16  
28   -import com.chinagas.common.core.web.page.TableDataInfo;
  17 +import javax.servlet.http.HttpServletResponse;
  18 +import java.io.IOException;
  19 +import java.net.URLEncoder;
  20 +import java.util.List;
  21 +import java.util.Map;
29 22  
30 23  
31 24 /**
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/domain/dto/CompanyDto.java 0 → 100644
... ... @@ -0,0 +1,36 @@
  1 +package com.chinagas.modules.schsf.domain.dto;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +public class CompanyDto {
  7 + private String value;
  8 + private String label;
  9 + private List<CompanyDto> children = new ArrayList<CompanyDto>();
  10 +
  11 +
  12 + public String getValue() {
  13 + return value;
  14 + }
  15 +
  16 + public void setValue(String value) {
  17 + this.value = value;
  18 + }
  19 +
  20 + public String getLabel() {
  21 + return label;
  22 + }
  23 +
  24 + public void setLabel(String label) {
  25 + this.label = label;
  26 + }
  27 +
  28 +
  29 + public List<CompanyDto> getChildren() {
  30 + return children;
  31 + }
  32 +
  33 + public void setChildren(List<CompanyDto> children) {
  34 + this.children = children;
  35 + }
  36 +}
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/McBasicCmtyMapper.java
1 1 package com.chinagas.modules.schsf.mapper;
2 2  
3 3 import com.chinagas.modules.schsf.domain.McBasicCmty;
  4 +import com.chinagas.modules.schsf.domain.dto.CompanyDto;
4 5 import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo;
5 6  
6 7 import java.util.List;
... ... @@ -60,4 +61,10 @@ public interface McBasicCmtyMapper
60 61 * @return 结果
61 62 */
62 63 public int deleteMcBasicCmtyByIds(Long[] ids);
  64 +
  65 + List<CompanyDto> getDistinctRegionList(McBasicCmtyVo mcBasicCmtyVo);
  66 +
  67 + List<CompanyDto> getDistinctGroupList(McBasicCmtyVo mcBasicCmtyVo);
  68 +
  69 + List<CompanyDto> getDistinctCompanyList(McBasicCmtyVo mcBasicCmtyVo);
63 70 }
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/IMcBasicCmtyService.java
1 1 package com.chinagas.modules.schsf.service;
2 2  
3 3 import com.chinagas.modules.schsf.domain.McBasicCmty;
  4 +import com.chinagas.modules.schsf.domain.dto.CompanyDto;
4 5 import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo;
5 6  
6 7 import java.util.List;
... ... @@ -60,4 +61,15 @@ public interface IMcBasicCmtyService
60 61 * @return 结果
61 62 */
62 63 public int deleteMcBasicCmtyById(Long id);
  64 +
  65 +
  66 + /**
  67 + * 查询公司级联
  68 + * @return
  69 + */
  70 + List<CompanyDto> selectCompanyCascader(McBasicCmtyVo mcBasicCmtyVo);
  71 +
  72 +
  73 +
  74 +
63 75 }
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicCmtyServiceImpl.java
... ... @@ -4,6 +4,7 @@ import com.chinagas.common.core.utils.DateUtils;
4 4 import com.chinagas.common.datascope.annotation.DataScope;
5 5 import com.chinagas.common.security.utils.SecurityUtils;
6 6 import com.chinagas.modules.schsf.domain.McBasicCmty;
  7 +import com.chinagas.modules.schsf.domain.dto.CompanyDto;
7 8 import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo;
8 9 import com.chinagas.modules.schsf.mapper.McBasicCmtyMapper;
9 10 import com.chinagas.modules.schsf.service.IMcBasicCmtyService;
... ... @@ -101,4 +102,31 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService
101 102 {
102 103 return mcBasicCmtyMapper.deleteMcBasicCmtyById(id);
103 104 }
  105 +
  106 + /**
  107 + * 查询公司级联
  108 + * @return
  109 + */
  110 +
  111 + @DataScope(deptAlias = "d", userAlias = "u")
  112 + @Override
  113 + public List<CompanyDto> selectCompanyCascader(McBasicCmtyVo mcBasicCmtyVo) {
  114 + List<CompanyDto> companyDtos = mcBasicCmtyMapper.getDistinctRegionList(mcBasicCmtyVo);
  115 + companyDtos.forEach(companyDto -> {
  116 + List<CompanyDto> groups = loadDistinctGroups(mcBasicCmtyVo, companyDto);
  117 + groups.forEach(group -> group.setChildren(loadDistinctCompanies(mcBasicCmtyVo, group)));
  118 + companyDto.setChildren(groups);
  119 + });
  120 + return companyDtos;
  121 + }
  122 +
  123 + private List<CompanyDto> loadDistinctGroups(McBasicCmtyVo mcBasicCmtyVo, CompanyDto parent) {
  124 + mcBasicCmtyVo.setRegionName(parent.getValue());
  125 + return mcBasicCmtyMapper.getDistinctGroupList(mcBasicCmtyVo);
  126 + }
  127 +
  128 + private List<CompanyDto> loadDistinctCompanies(McBasicCmtyVo mcBasicCmtyVo, CompanyDto parent) {
  129 + mcBasicCmtyVo.setGroupName(parent.getValue());
  130 + return mcBasicCmtyMapper.getDistinctCompanyList(mcBasicCmtyVo);
  131 + }
104 132 }
... ...
zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/McBasicCmtyMapper.xml
... ... @@ -102,7 +102,6 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
102 102 <if test="finishFiscalYear != null and finishFiscalYear != ''"> and m.fiscal_year &lt;= #{finishFiscalYear}</if>
103 103 <!-- 数据范围过滤 -->
104 104 ${params.dataScope}
105   -
106 105 </select>
107 106  
108 107 <select id="selectMcBasicCmtyById" parameterType="Long" resultMap="McBasicCmtyResult">
... ... @@ -263,4 +262,55 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
263 262 #{id}
264 263 </foreach>
265 264 </delete>
  265 +
  266 + <select id="getDistinctRegionList" resultType="com.chinagas.modules.schsf.domain.dto.CompanyDto"
  267 + parameterType="com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo">
  268 + SELECT DISTINCT t.region_name as 'value',t.region_name as 'label'
  269 + FROM mc_basic_cmty t
  270 + left join sys_user u on u.user_id = t.create_by
  271 + left join sys_dept d on d.dept_id = t.company_code
  272 + WHERE 1=1
  273 + <if test="defFlag != null and defFlag != ''"> and t.def_flag = #{defFlag}</if>
  274 + <if test="fiscalYear != null "> and t.fiscal_year = #{fiscalYear}</if>
  275 + <!-- 数据范围过滤 -->
  276 + ${params.dataScope}
  277 + </select>
  278 +
  279 + <select id="getDistinctGroupList" resultType="com.chinagas.modules.schsf.domain.dto.CompanyDto"
  280 + parameterType="com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo">
  281 + SELECT DISTINCT t.group_name as 'value',t.group_name as 'label'
  282 + FROM mc_basic_cmty t
  283 + left join sys_user u on u.user_id = t.create_by
  284 + left join sys_dept d on d.dept_id = t.company_code
  285 + WHERE 1=1
  286 + <if test="regionName != null and regionName != ''"> and region_name = #{regionName}</if>
  287 + <if test="defFlag != null and defFlag != ''"> and t.def_flag = #{defFlag}</if>
  288 + <if test="fiscalYear != null "> and t.fiscal_year = #{fiscalYear}</if>
  289 + <!-- 数据范围过滤 -->
  290 + ${params.dataScope}
  291 +
  292 + </select>
  293 +
  294 + <select id="getDistinctCompanyList" resultType="com.chinagas.modules.schsf.domain.dto.CompanyDto"
  295 + parameterType="com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo">
  296 + SELECT DISTINCT t.company_code as 'value',t.company_name as 'label'
  297 + FROM mc_basic_cmty t
  298 + left join sys_user u on u.user_id = t.create_by
  299 + left join sys_dept d on d.dept_id = t.company_code
  300 + WHERE 1 = 1
  301 + <if test="groupName != null and groupName != ''">
  302 + and group_name = #{groupName}
  303 + </if>
  304 + <if test="regionName != null and regionName != ''">
  305 + and region_name = #{regionName}
  306 + </if>
  307 + <if test="defFlag != null and defFlag != ''">
  308 + and t.def_flag = #{defFlag}
  309 + </if>
  310 + <if test="fiscalYear != null">
  311 + and t.fiscal_year = #{fiscalYear}
  312 + </if>
  313 + <!-- 数据范围过滤 -->
  314 + ${params.dataScope}
  315 + </select>
266 316 </mapper>
... ...