diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java index 86692dd..7df1a7c 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java +++ b/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; import com.chinagas.common.log.enums.BusinessType; import com.chinagas.common.security.annotation.RequirePermission; import com.chinagas.modules.schsf.domain.McBasicCmty; +import com.chinagas.modules.schsf.domain.dto.CompanyDto; import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; import com.chinagas.modules.schsf.service.IMcBasicCmtyService; import com.chinagas.modules.schsf.utils.listener.McBasicCmtyImportInspection; @@ -43,6 +44,20 @@ public class McBasicCmtyController extends BaseController { private IMcBasicCmtyService mcBasicCmtyService; /** + * 查询基础数据-户数 项目公司组织级联 + */ + @RequirePermission("schsf:mcBasicCmty:companyCascader") + @GetMapping("/companyCascader") + public AjaxResult companyCascader(@RequestParam(value = "fiscalYear", required = true) Long fiscalYear) { + McBasicCmtyVo mcBasicCmtyVo = new McBasicCmtyVo(); + mcBasicCmtyVo.setDefFlag("0"); + mcBasicCmtyVo.setFiscalYear(fiscalYear); + List data = mcBasicCmtyService.selectCompanyCascader(mcBasicCmtyVo); + return AjaxResult.success(data); + } + + + /** * 查询基础数据-户数列表 */ @RequirePermission("schsf:mcBasicCmty:list") diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McVisitController.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McVisitController.java index 0d1acfa..4773aba 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McVisitController.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McVisitController.java @@ -1,31 +1,24 @@ package com.chinagas.modules.schsf.controller; -import java.net.URLEncoder; -import java.util.List; -import java.io.IOException; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.MapUtils; import com.alibaba.fastjson2.JSON; import com.chinagas.common.core.domain.AjaxResult; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.chinagas.common.core.web.controller.BaseController; +import com.chinagas.common.core.web.page.TableDataInfo; import com.chinagas.common.log.annotation.Log; import com.chinagas.common.log.enums.BusinessType; import com.chinagas.common.security.annotation.RequirePermission; import com.chinagas.modules.schsf.domain.McVisit; import com.chinagas.modules.schsf.service.IMcVisitService; -import com.chinagas.common.core.web.controller.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import com.chinagas.common.core.web.page.TableDataInfo; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; /** diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/domain/dto/CompanyDto.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/domain/dto/CompanyDto.java new file mode 100644 index 0000000..139ae2c --- /dev/null +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/domain/dto/CompanyDto.java @@ -0,0 +1,36 @@ +package com.chinagas.modules.schsf.domain.dto; + +import java.util.ArrayList; +import java.util.List; + +public class CompanyDto { + private String value; + private String label; + private List children = new ArrayList(); + + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } +} diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/McBasicCmtyMapper.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/McBasicCmtyMapper.java index c81544c..6d6f63f 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/McBasicCmtyMapper.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/McBasicCmtyMapper.java @@ -1,6 +1,7 @@ package com.chinagas.modules.schsf.mapper; import com.chinagas.modules.schsf.domain.McBasicCmty; +import com.chinagas.modules.schsf.domain.dto.CompanyDto; import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; import java.util.List; @@ -60,4 +61,10 @@ public interface McBasicCmtyMapper * @return 结果 */ public int deleteMcBasicCmtyByIds(Long[] ids); + + List getDistinctRegionList(McBasicCmtyVo mcBasicCmtyVo); + + List getDistinctGroupList(McBasicCmtyVo mcBasicCmtyVo); + + List getDistinctCompanyList(McBasicCmtyVo mcBasicCmtyVo); } diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/IMcBasicCmtyService.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/IMcBasicCmtyService.java index 3cdac71..491c139 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/IMcBasicCmtyService.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/IMcBasicCmtyService.java @@ -1,6 +1,7 @@ package com.chinagas.modules.schsf.service; import com.chinagas.modules.schsf.domain.McBasicCmty; +import com.chinagas.modules.schsf.domain.dto.CompanyDto; import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; import java.util.List; @@ -60,4 +61,15 @@ public interface IMcBasicCmtyService * @return 结果 */ public int deleteMcBasicCmtyById(Long id); + + + /** + * 查询公司级联 + * @return + */ + List selectCompanyCascader(McBasicCmtyVo mcBasicCmtyVo); + + + + } diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicCmtyServiceImpl.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicCmtyServiceImpl.java index 9c25ddd..9e0348b 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicCmtyServiceImpl.java +++ b/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; import com.chinagas.common.datascope.annotation.DataScope; import com.chinagas.common.security.utils.SecurityUtils; import com.chinagas.modules.schsf.domain.McBasicCmty; +import com.chinagas.modules.schsf.domain.dto.CompanyDto; import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; import com.chinagas.modules.schsf.mapper.McBasicCmtyMapper; import com.chinagas.modules.schsf.service.IMcBasicCmtyService; @@ -101,4 +102,31 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { return mcBasicCmtyMapper.deleteMcBasicCmtyById(id); } + + /** + * 查询公司级联 + * @return + */ + + @DataScope(deptAlias = "d", userAlias = "u") + @Override + public List selectCompanyCascader(McBasicCmtyVo mcBasicCmtyVo) { + List companyDtos = mcBasicCmtyMapper.getDistinctRegionList(mcBasicCmtyVo); + companyDtos.forEach(companyDto -> { + List groups = loadDistinctGroups(mcBasicCmtyVo, companyDto); + groups.forEach(group -> group.setChildren(loadDistinctCompanies(mcBasicCmtyVo, group))); + companyDto.setChildren(groups); + }); + return companyDtos; + } + + private List loadDistinctGroups(McBasicCmtyVo mcBasicCmtyVo, CompanyDto parent) { + mcBasicCmtyVo.setRegionName(parent.getValue()); + return mcBasicCmtyMapper.getDistinctGroupList(mcBasicCmtyVo); + } + + private List loadDistinctCompanies(McBasicCmtyVo mcBasicCmtyVo, CompanyDto parent) { + mcBasicCmtyVo.setGroupName(parent.getValue()); + return mcBasicCmtyMapper.getDistinctCompanyList(mcBasicCmtyVo); + } } diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/McBasicCmtyMapper.xml b/zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/McBasicCmtyMapper.xml index 0b1dfb9..3101df1 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/McBasicCmtyMapper.xml +++ b/zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/McBasicCmtyMapper.xml @@ -102,7 +102,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and m.fiscal_year <= #{finishFiscalYear} ${params.dataScope} - + SELECT DISTINCT t.region_name as 'value',t.region_name as 'label' + FROM mc_basic_cmty t + left join sys_user u on u.user_id = t.create_by + left join sys_dept d on d.dept_id = t.company_code + WHERE 1=1 + and t.def_flag = #{defFlag} + and t.fiscal_year = #{fiscalYear} + + ${params.dataScope} + + + + + -- libgit2 0.21.2