Commit 26a6d1e31cc6b672897e5a0339fd68102bbe4747
1 parent
e6e15a52
Exists in
dev
项目公司组织级联
Showing
7 changed files
with
158 additions
and
17 deletions
Show diff stats
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 "-//mybatis.org//DTD Mapper 3.0//EN" |
102 | 102 | <if test="finishFiscalYear != null and finishFiscalYear != ''"> and m.fiscal_year <= #{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 "-//mybatis.org//DTD Mapper 3.0//EN" |
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> | ... | ... |