Browse Source

treebytype接口添加

dev_shibei_match
zxc 5 years ago
parent
commit
cc27e76e7f
  1. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java
  2. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java
  3. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java
  4. 45
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java
  5. 38
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

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

@ -33,6 +33,11 @@ public class AgencyController {
return new Result<TreeResultDTO>().ok(agencyService.tree(customerId));
}
@PostMapping("treebytype")
public Result<TreeResultDTO> treeByType(@RequestHeader("CustomerId") String customerId,@RequestParam("bizType")String bizType){
return new Result<TreeResultDTO>().ok(agencyService.treeByType(customerId,bizType));
}
/**
* @Description 2组织区域查询
* @param compartmentFormDTO

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java

@ -40,6 +40,8 @@ public interface ScreenCustomerAgencyDao {
*/
TreeResultDTO selectRootAgencyId(@Param("customerId")String customerId);
TreeResultDTO selectRootAgencyIdByBizType(@Param("customerId")String customerId,@Param("bizType")String bizType);
/**
* @Description 查询下级机关的 名称和id
* @param subAgencyPids
@ -48,6 +50,8 @@ public interface ScreenCustomerAgencyDao {
*/
List<TreeResultDTO> selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids);
List<TreeResultDTO> selectSubAgencyListByBizType(@Param("subAgencyPids") String subAgencyPids);
/**
* @Description 查询当前机关的区域信息
* @param agencyId

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java

@ -20,6 +20,8 @@ public interface AgencyService {
*/
TreeResultDTO tree(String customerId);
TreeResultDTO treeByType(String customerId,String bizType);
/**
* @Description 2组织区域查询
* @param compartmentFormDTO

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

@ -66,6 +66,29 @@ public class AgencyServiceImpl implements AgencyService {
return rootAgency;
}
@Override
public TreeResultDTO treeByType(String customerId, String bizType) {
TreeResultDTO rootAgency = null;
try {
rootAgency = screenCustomerAgencyDao.selectRootAgencyIdByBizType(customerId,bizType);
if (null == rootAgency) {
return new TreeResultDTO();
}
} catch (TooManyResultsException e) {
throw new RenException("根组织结构数据有误");
}
List<Double> centerMark = this.getCenterMark(rootAgency.getCenterMarkA());
rootAgency.setCenterMark(centerMark.size() == NumConstant.ZERO ? new ArrayList<>() : centerMark);
if (rootAgency.getLevel().equals(ScreenConstant.COMMUNITY)) {
List<TreeResultDTO> treeResultDTOS = screenCustomerGridDao.selectGridInfo(rootAgency.getValue());
rootAgency.setChildren(treeResultDTOS);
} else {
List<TreeResultDTO> departmentList = this.getDepartmentListByBiz(("".equals(rootAgency.getPids()) || rootAgency.getPids().equals(NumConstant.ZERO_STR)) ? rootAgency.getValue() : rootAgency.getPids().concat(",").concat(rootAgency.getValue()));
rootAgency.setChildren(departmentList);
}
return rootAgency;
}
/**
* @Description 处理centerMark
* @param centerMark
@ -113,6 +136,28 @@ public class AgencyServiceImpl implements AgencyService {
return subAgencyList;
}
public List<TreeResultDTO> getDepartmentListByBiz(String subAgencyPids) {
List<TreeResultDTO> subAgencyList = screenCustomerAgencyDao.selectSubAgencyListByBizType(subAgencyPids);
if (subAgencyList.size() > NumConstant.ZERO) {
subAgencyList.forEach(sub -> {
List<Double> centerMark = this.getCenterMark(sub.getCenterMarkA());
sub.setCenterMark(centerMark.size() == NumConstant.ZERO ? new ArrayList<>() : centerMark);
if (sub.getLevel().equals(ScreenConstant.COMMUNITY)){
List<TreeResultDTO> treeResultDTOS = screenCustomerGridDao.selectGridInfo(sub.getValue());
treeResultDTOS.forEach(tree -> {
List<Double> centerMarkTree = this.getCenterMark(tree.getCenterMarkA());
tree.setCenterMark(centerMarkTree.size() == NumConstant.ZERO ? new ArrayList<>() : centerMarkTree);
});
sub.setChildren(treeResultDTOS);
}else {
List<TreeResultDTO> subAgency = getDepartmentList(sub.getPids() + "," + sub.getValue());
sub.setChildren(subAgency);
}
});
}
return subAgencyList;
}
/**
* @Description 2组织区域查询
* @param compartmentFormDTO

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

@ -114,4 +114,42 @@
AND agency_id = #{agencyId}
</select>
<select id="selectRootAgencyIdByBizType" resultType="com.epmet.evaluationindex.screen.dto.result.TreeResultDTO">
SELECT
ca.agency_name AS label,
cbo.ORG_ID AS value,
ca.pids AS pids,
IFNULL(ca.center_mark,'') AS centerMarkA,
ca.level AS level
FROM
screen_customer_agency ca
LEFT JOIN screen_customer_biz_org cbo ON cbo.ORG_ID = ca.AGENCY_ID
WHERE
ca.del_flag = 0
AND cbo.DEL_FLAG = 0
AND ca.pid = '0'
AND ca.IS_DISPLAY = '1'
AND cbo.customer_id = #{customerId}
AND cbo.BIZ_TYPE = #{bizType}
</select>
<select id="selectSubAgencyListByBizType" resultType="com.epmet.evaluationindex.screen.dto.result.TreeResultDTO">
SELECT
cbo.ORG_ID AS value,
ca.agency_name AS label,
ca.pids AS pids,
IFNULL(ca.center_mark,'') AS centerMarkA,
ca.level AS level
FROM
screen_customer_biz_org cbo
LEFT JOIN screen_customer_agency ca ON ca.AGENCY_ID = cbo.ORG_ID
WHERE
ca.del_flag = '0'
AND cbo.DEL_FLAG = 0
AND ca.IS_DISPLAY = '1'
AND ca.pids = #{subAgencyPids}
ORDER BY
ca.created_time DESC
</select>
</mapper>
Loading…
Cancel
Save