Browse Source

组织机构树,组织区域查询

dev_shibei_match
zxc 5 years ago
parent
commit
5f16fa4d16
  1. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/CompartmentFormDTO.java
  2. 40
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AgencyDistributionResultDTO.java
  3. 36
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java
  4. 36
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TreeResultDTO.java
  5. 40
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/screen/AgencyController.java
  6. 14
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/screen/ScreenCustomerAgencyDao.java
  7. 24
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/screen/AgencyService.java
  8. 53
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/screen/impl/AgencyServiceImpl.java
  9. 25
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/CompartmentFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 2:14 下午
*/
@Data
public class CompartmentFormDTO implements Serializable {
private static final long serialVersionUID = -3354777434424878413L;
public interface Compartment{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {Compartment.class})
private String agencyId;
}

40
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AgencyDistributionResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 2:20 下午
*/
@Data
public class AgencyDistributionResultDTO implements Serializable {
private static final long serialVersionUID = -8404806508669824731L;
/**
* 可能是gridId,可能是agencyId
*/
private String subId;
/**
* 名称
*/
private String subName;
/**
* 坐标区域
*/
private String subAreaMarks;
/**
* 中心点位
*/
private String subCenterMark;
/**
* 组织agency; 网格grid ; 部门dept
*/
private String type;
}

36
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 14:18
*/
@Data
public class CompartmentResultDTO implements Serializable {
private static final long serialVersionUID = 7963177476365327829L;
/**
* 当前所选组织
*/
private String agencyId;
/**
* 当前所选组织名称
*/
private String name;
/**
* 当前所选组织的坐标区域
*/
private String areaMarks;
/**
* 子级用户分布
*/
private List<AgencyDistributionResultDTO> userDistribution;
}

36
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TreeResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 2:00 下午
*/
@Data
public class TreeResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 显示名称
*/
private String label;
/**
* agencyId下拉框value
*/
private String value;
@JsonIgnore
private String pids;
/**
* 子目录
*/
private List<TreeResultDTO> children;
}

40
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/screen/AgencyController.java

@ -1,8 +1,21 @@
package com.epmet.controller.screen;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.screen.dto.form.CompartmentFormDTO;
import com.epmet.screen.dto.result.CompartmentResultDTO;
import com.epmet.screen.dto.result.TreeResultDTO;
import com.epmet.service.screen.AgencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 组织相关api
*
@ -12,4 +25,31 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/screen/agency")
public class AgencyController {
@Autowired
private AgencyService agencyService;
/**
* @Description 1组织机构树
* @param tokenDto
* @author zxc
* @date 2020/8/18 2:04 下午
*/
@PostMapping("tree")
public Result<List<TreeResultDTO>> tree(@LoginUser TokenDto tokenDto){
return new Result<List<TreeResultDTO>>().ok(agencyService.tree(tokenDto));
}
/**
* @Description 2组织区域查询
* @param compartmentFormDTO
* @author zxc
* @date 2020/8/18 2:33 下午
*/
@PostMapping("compartment")
public Result<CompartmentResultDTO> compartment(@RequestBody CompartmentFormDTO compartmentFormDTO){
ValidatorUtils.validateEntity(compartmentFormDTO, CompartmentFormDTO.Compartment.class);
return new Result<CompartmentResultDTO>().ok(agencyService.compartment(compartmentFormDTO));
}
}

14
epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/screen/ScreenCustomerAgencyDao.java

@ -17,7 +17,11 @@
package com.epmet.dao.screen;
import com.epmet.screen.dto.result.TreeResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 组织机构信息
@ -28,4 +32,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScreenCustomerAgencyDao {
/**
* @Description 查询客户根组织ID
* @param customerId
* @author zxc
* @date 2020/8/18 2:44 下午
*/
TreeResultDTO selectRootAgencyId(@Param("customerId")String customerId);
List<TreeResultDTO> selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids);
}

24
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/screen/AgencyService.java

@ -1,5 +1,12 @@
package com.epmet.service.screen;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.screen.dto.form.CompartmentFormDTO;
import com.epmet.screen.dto.result.CompartmentResultDTO;
import com.epmet.screen.dto.result.TreeResultDTO;
import java.util.List;
/**
* 组织相关api
*
@ -7,4 +14,21 @@ package com.epmet.service.screen;
* @date 2020/8/18 10:18
*/
public interface AgencyService {
/**
* @Description 1组织机构树
* @param tokenDto
* @author zxc
* @date 2020/8/18 2:04 下午
*/
List<TreeResultDTO> tree(TokenDto tokenDto);
/**
* @Description 2组织区域查询
* @param compartmentFormDTO
* @author zxc
* @date 2020/8/18 2:33 下午
*/
CompartmentResultDTO compartment(CompartmentFormDTO compartmentFormDTO);
}

53
epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/screen/impl/AgencyServiceImpl.java

@ -1,6 +1,19 @@
package com.epmet.service.screen.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.screen.ScreenCustomerAgencyDao;
import com.epmet.dto.result.AgencySubResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.screen.dto.form.CompartmentFormDTO;
import com.epmet.screen.dto.result.CompartmentResultDTO;
import com.epmet.screen.dto.result.TreeResultDTO;
import com.epmet.service.screen.AgencyService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* 组织相关api
@ -9,4 +22,44 @@ import com.epmet.service.screen.AgencyService;
* @date 2020/8/18 10:18
*/
public class AgencyServiceImpl implements AgencyService {
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private ScreenCustomerAgencyDao screenCustomerAgencyDao;
/**
* @Description 1组织机构树
* @param tokenDto
* @author zxc
* @date 2020/8/18 2:04 下午
*/
@Override
public List<TreeResultDTO> tree(TokenDto tokenDto) {
// 1. 查询客户根组织ID
TreeResultDTO rootAgency = screenCustomerAgencyDao.selectRootAgencyId(tokenDto.getCustomerId());
return this.getDepartmentList(("".equals(rootAgency.getPids()) ? "" : rootAgency.getPids() + ":") + rootAgency.getValue());
}
private List<TreeResultDTO> getDepartmentList(String subAgencyPids) {
List<TreeResultDTO> subAgencyList = screenCustomerAgencyDao.selectSubAgencyList(subAgencyPids);
if (subAgencyList.size() > NumConstant.ZERO) {
for (TreeResultDTO sub : subAgencyList) {
List<TreeResultDTO> subAgency = getDepartmentList(sub.getPids() + "," + sub.getValue());
sub.setChildren(subAgency);
}
}
return subAgencyList;
}
/**
* @Description 2组织区域查询
* @param compartmentFormDTO
* @author zxc
* @date 2020/8/18 2:33 下午
*/
@Override
public CompartmentResultDTO compartment(CompartmentFormDTO compartmentFormDTO) {
return null;
}
}

25
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

@ -3,6 +3,31 @@
<mapper namespace="com.epmet.dao.screen.ScreenCustomerAgencyDao">
<!-- 查询客户根组织ID -->
<select id="selectRootAgencyId" resultType="com.epmet.screen.dto.result.TreeResultDTO">
SELECT
agency_id AS value,
pids AS pids
FROM
screen_customer_agency
WHERE
del_flag = 0
AND pid = '0'
AND customer_id = #{customerId}
</select>
<select id="selectSubAgencyList" resultType="com.epmet.screen.dto.result.TreeResultDTO">
SELECT
agency_id AS value,
agency_name AS label,
pids AS pids
FROM
screen_customer_agency
WHERE
del_flag = '0'
AND pids = #{subAgencyPids}
ORDER BY
created_time DESC
</select>
</mapper>
Loading…
Cancel
Save