Browse Source

新增:服务项目,服务范围树查询

feature/evaluate
wangxianzhang 3 years ago
parent
commit
3ef6a425db
  1. 20
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ServiceProjectScopeResultDTO.java
  2. 35
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java
  3. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java
  4. 107
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/ServiceProjectServiceImpl.java

20
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ServiceProjectScopeResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ServiceProjectScopeResultDTO {
private String objectId;
private String objectName;
private String objectType;
private List<ServiceProjectScopeResultDTO> children;
}

35
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java

@ -0,0 +1,35 @@
package com.epmet.controller;
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.dto.result.ServiceProjectScopeResultDTO;
import com.epmet.service.ServiceProjectService;
import com.epmet.service.impl.ServiceProjectServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 服务项目
*/
@RestController
@RequestMapping("icServiceProject")
public class ServiceProjectController {
@Autowired
public ServiceProjectService serviceProjectService;
/**
* 服务范围树查询
* @return
*/
@RequestMapping("service/serviceScopeTree")
public Result<ServiceProjectScopeResultDTO> getServiceScopeTree(@LoginUser TokenDto loginInfo) {
ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId());
return new Result<ServiceProjectScopeResultDTO>().ok(r);
}
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java

@ -0,0 +1,9 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.result.ServiceProjectScopeResultDTO;
import com.epmet.entity.IcPlaceOrgEntity;
public interface ServiceProjectService {
ServiceProjectScopeResultDTO getServiceScopeTree(String staffId);
}

107
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/ServiceProjectServiceImpl.java

@ -0,0 +1,107 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.result.AgencyTreeResultDTO;
import com.epmet.dto.result.ServiceProjectScopeResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.IcPlaceOrgEntity;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.NeighborHoodService;
import com.epmet.service.ServiceProjectService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class ServiceProjectServiceImpl implements ServiceProjectService {
@Autowired
private CustomerAgencyDao agencyDao;
@Autowired
private CustomerGridDao gridDao;
@Autowired
private IcNeighborHoodDao neighborHoodDao;
@Autowired
private CustomerAgencyService customerAgencyService;
public ServiceProjectServiceImpl() {
System.out.println(6);
}
@Override
public ServiceProjectScopeResultDTO getServiceScopeTree(String staffId) {
AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId);
ServiceProjectScopeResultDTO rootScope = new ServiceProjectScopeResultDTO();
rootScope.setObjectId(orgTreeData.getAgencyId());
rootScope.setObjectType(orgTreeData.getLevel());
rootScope.setObjectName(orgTreeData.getAgencyName());
rootScope.setChildren(convert2ServiceProjectScope(orgTreeData.getSubAgencyList()));
return rootScope;
}
private List<ServiceProjectScopeResultDTO> convert2ServiceProjectScope(List<AgencyTreeResultDTO> oldChildren) {
ArrayList<ServiceProjectScopeResultDTO> scopes = new ArrayList<>();
for (AgencyTreeResultDTO oldChild : oldChildren) {
ServiceProjectScopeResultDTO scope = new ServiceProjectScopeResultDTO();
scope.setObjectId(oldChild.getAgencyId());
scope.setObjectType(oldChild.getLevel());
scope.setObjectName(oldChild.getAgencyName());
if ("grid".equals(oldChild.getLevel())) {
// 如果是网格,那么还要查询网格下的小区
List<IcNeighborHoodDTO> neighborhoods = neighborHoodDao.selectNeighborList(oldChild.getAgencyId());
List<ServiceProjectScopeResultDTO> neighborhoodScopes = neighborhoods.stream().map(n -> new ServiceProjectScopeResultDTO(n.getId(),
n.getNeighborHoodName(),
"neighborhood",
null)).collect(Collectors.toList());
scope.setChildren(neighborhoodScopes);
} else {
// 递归处理子级
List<AgencyTreeResultDTO> subAgencyList = oldChild.getSubAgencyList();
if (subAgencyList != null && !CollectionUtils.isEmpty(subAgencyList)) {
List<ServiceProjectScopeResultDTO> subOrgScope = convert2ServiceProjectScope(subAgencyList);
scope.setChildren(subOrgScope);
}
}
scopes.add(scope);
}
return scopes;
}
//public void recursiveFillChildren(ServiceProjectScopeResultDTO parentObject) {
// String parentObjectType = parentObject.getObjectType();
// if ("grid".equals(parentObjectType)) {
// // 如果父级是网格,那么查询子级小区
// neighborHoodService.listNeighborhood()
// } else if ("agency".equals(parentObjectType)) {
// // 如果父级是单位,那么查询子级单位或者网格
// String parentObjectId = parentObject.getObjectId();
// if ("community".equals(parentObject)) {
// gridDao.get
// } else {
// agencyDao.getSubAgencyList()
// }
// }
//
//}
}
Loading…
Cancel
Save