Browse Source

人房概览_下级概览列表

master
sunyuchao 3 years ago
parent
commit
fe518f72e1
  1. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  2. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
  3. 122
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  4. 18
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
  5. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java
  6. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java
  7. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  8. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  9. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  10. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  11. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -255,7 +255,6 @@ public class HouseController implements ResultDataResolver {
* @Author sun
* @Description 人房房屋总数饼图
**/
@NoRepeatSubmit
@PostMapping("housechart")
public Result<HouseChartResultDTO> houseChart(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
@ -267,7 +266,6 @@ public class HouseController implements ResultDataResolver {
* @Author sun
* @Description 人房下级人房概览列表
**/
@NoRepeatSubmit
@PostMapping("subuserhouselist")
public Result<List<SubUserHouseListResultDTO>> subUserHouseList(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.entity.IcHouseEntity;
@ -59,4 +60,5 @@ public interface IcNeighborHoodDao extends BaseDao<IcNeighborHoodEntity> {
*/
List<String> selectNeighborhoodNameByNames(@Param("names")List<String> names,@Param("customerId") String customerId);
List<IcNeighborHoodDTO> selectNeighborList(@Param("gridId")String gridId);
}

122
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -20,14 +20,8 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dao.IcBuildingUnitDao;
import com.epmet.dao.IcHouseDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.IcBuildingUnitDTO;
import com.epmet.dto.IcHouseDTO;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.enums.HousePurposeEnums;
@ -56,6 +50,7 @@ import java.text.NumberFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@Slf4j
@ -90,9 +85,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired
private ExecutorService executorService;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private CustomerAgencyDao customerAgencyDao;
@Autowired
private CustomerGridDao customerGridDao;
@Override
@ -374,7 +372,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
houseTotal.addAndGet(l.getNum());
if (l.getRentFlag() == 0) {
resultDTO.setZzHouseTotal(l.getNum());
} else if (l.getRentFlag() == 0) {
} else if (l.getRentFlag() == 1) {
resultDTO.setCzHouseTotal(l.getNum());
} else {
resultDTO.setXzHouseTotal(l.getNum());
@ -395,7 +393,109 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
**/
@Override
public List<SubUserHouseListResultDTO> subUserHouseList(HouseChartFormDTO formDTO) {
return null;
List<SubUserHouseListResultDTO> resultList = new ArrayList<>();
//1.判断入参没值的赋值当前工作人员缓存所属组织信息
if (StringUtils.isEmpty(formDTO.getOrgId())) {
//获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId()));
}
formDTO.setOrgId(staffInfo.getAgencyId());
formDTO.setOrgType("agency");
}
if ("village".equals(formDTO.getOrgType())) {
return new ArrayList<>();
}
//2.根据入参值查询直属下级列表(组织、网格、小区列表)
List<String> idList = new ArrayList<>();
Map<String, String> map = new HashMap<>();
String orgType = "";
if ("agency".equals(formDTO.getOrgType())) {
//获取组织缓存,判断组织级别
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getOrgId());
if (null == agencyInfo) {
throw new RenException(String.format("查询组织信息失败%s", formDTO.getOrgId()));
}
//直属下级网格列表
if ("community".equals(agencyInfo.getLevel())) {
orgType = "grid";
List<GridListResultDTO> list = customerGridDao.selectGridList(formDTO.getOrgId());
idList = list.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList());
map = list.stream().collect(Collectors.toMap(GridListResultDTO::getGridId, GridListResultDTO::getGridName, (k1, k2) -> k1));
} else {
//直属下级组织列表
orgType = "agency";
List<AgencyListResultDTO> list = customerAgencyDao.selectAgencyList(formDTO.getOrgId());
idList = list.stream().map(AgencyListResultDTO::getAgencyId).collect(Collectors.toList());
map = list.stream().collect(Collectors.toMap(AgencyListResultDTO::getAgencyId, AgencyListResultDTO::getAgencyName, (k1, k2) -> k1));
}
} else if ("grid".equals(formDTO.getOrgType())) {
//网格直属小区列表
orgType = "village";
List<IcNeighborHoodDTO> list = icNeighborHoodDao.selectNeighborList(formDTO.getOrgId());
idList = list.stream().map(IcNeighborHoodDTO::getId).collect(Collectors.toList());
map = list.stream().collect(Collectors.toMap(IcNeighborHoodDTO::getId, IcNeighborHoodDTO::getNeighborHoodName, (k1, k2) -> k1));
}
//3.分别查询直属下级列表的房屋、居民统计数据
resultList = houseUserChartList(idList, map, orgType);
return resultList;
}
/**
* @Author sun
* @Description 人房房屋居民统计列表数据
**/
private List<SubUserHouseListResultDTO> houseUserChartList(List<String> idList, Map<String, String> map, String orgType) {
List<SubUserHouseListResultDTO> list = new ArrayList<>();
//1.直属下级列表的房屋数据
List<HouseChartResultDTO> houseList = new ArrayList<>();
HouseChartFormDTO houseDTO = new HouseChartFormDTO();
houseDTO.setOrgType(orgType);
for (String id : idList) {
houseDTO.setOrgId(id);
houseList.add(houseChart(houseDTO));
}
//2.直属下级列表的居民数据
UserChartFormDTO userDTO = new UserChartFormDTO();
userDTO.setOrgType(orgType);
userDTO.setIdList(idList);
Result<List<UserChartResultDTO>> userResult = epmetUserOpenFeignClient.userChartList(userDTO);
if (!userResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民人房统计数据失败" + userResult.getInternalMsg(), userResult.getMsg());
}
//3.汇总封装数据
SubUserHouseListResultDTO dto = null;
for (String id : idList) {
dto = new SubUserHouseListResultDTO();
dto.setOrgId(id);
dto.setOrgName(map.get(id));
dto.setOrgType(orgType);
for (HouseChartResultDTO h : houseList) {
if (h.getOrgId().equals(id)) {
dto.setHouseTotal(h.getHouseTotal());
dto.setZzHouseTotal(h.getZzHouseTotal());
dto.setZzHouseRatio(h.getZzHouseRatio());
dto.setCzHouseTotal(h.getCzHouseTotal());
dto.setCzHouseRatio(h.getCzHouseRatio());
dto.setXzHouseTotal(h.getXzHouseTotal());
dto.setXzHouseRatio(h.getXzHouseRatio());
}
}
for (UserChartResultDTO u : userResult.getData()) {
if (u.getOrgId().equals(id)) {
dto.setUserTotal(u.getUserTotal());
dto.setCzUserTotal(u.getCzUserTotal());
dto.setCzUserRatio(u.getCzUserRatio());
dto.setLdUserTotal(u.getLdUserTotal());
dto.setLdUserRatio(u.getLdUserRatio());
}
}
list.add(dto);
}
return list;
}
}

18
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

@ -222,4 +222,22 @@
</foreach>
)
</select>
<select id="selectNeighborList" resultType="com.epmet.dto.IcNeighborHoodDTO">
SELECT
id,
customer_id,
neighbor_hood_name,
agency_id,
parent_agency_id,
agency_pids,
grid_id,
address,
remark
FROM
ic_neighbor_hood
WHERE
del_flag = '0'
AND grid_id = #{gridId}
</select>
</mapper>

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java

@ -3,6 +3,7 @@ package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author sun
@ -22,6 +23,9 @@ public class UserChartFormDTO implements Serializable {
*/
private String orgType;
//id集合
private List<String> idList;
//token这信息
private String customerId;
private String userId;

10
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java

@ -22,23 +22,23 @@ public class UserChartResultDTO implements Serializable {
/**
* 居民总数
*/
private Integer userTotal;
private Integer userTotal = 0;
/**
* 常住人口总数
*/
private Integer czUserTotal;
private Integer czUserTotal = 0;
/**
* 常住人口占比保留两位小数带百分号的
*/
private String czUserRatio;
private String czUserRatio = "0%";
/**
* 流动人口总数
*/
private Integer ldUserTotal;
private Integer ldUserTotal = 0;
/**
* 流动人口占比保留两位小数带百分号的
*/
private String ldUserRatio;
private String ldUserRatio = "0%";
@JsonIgnore
private Integer num;

7
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -1,7 +1,6 @@
package com.epmet.feign;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto;
@ -25,8 +24,8 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:09
*/
// @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087")
//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
public interface EpmetUserOpenFeignClient {
/**
@ -721,4 +720,6 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/icresiuser/getexistuserbyhouseids")
Result<List<String>> getExistUserByHouseIds(@RequestBody List<String> ids);
@PostMapping("/epmetuser/icresiuser/userchartlist")
Result<List<UserChartResultDTO>> userChartList(@RequestBody UserChartFormDTO userDTO);
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -532,4 +532,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<List<String>> getExistUserByHouseIds(List<String> ids) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getExistUserByHouseIds", ids);
}
@Override
public Result<List<UserChartResultDTO>> userChartList(UserChartFormDTO userDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "userChartList", userDTO);
}
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -894,7 +894,6 @@ public class IcResiUserController implements ResultDataResolver {
* @Author sun
* @Description 人房居民总数饼图
**/
@NoRepeatSubmit
@PostMapping("userchart")
public Result<UserChartResultDTO> userChart(@LoginUser TokenDto tokenDto, @RequestBody UserChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
@ -902,4 +901,13 @@ public class IcResiUserController implements ResultDataResolver {
return new Result<UserChartResultDTO>().ok(icResiUserService.userChart(formDTO));
}
/**
* @Author sun
* @Description 人房居民总数列表数据
**/
@PostMapping("userchartlist")
public Result<List<UserChartResultDTO>> userChartList(@RequestBody UserChartFormDTO formDTO) {
return new Result<List<UserChartResultDTO>>().ok(icResiUserService.userChartList(formDTO));
}
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -250,4 +250,10 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @Description 人房居民总数饼图
**/
UserChartResultDTO userChart(UserChartFormDTO formDTO);
/**
* @Author sun
* @Description 人房居民总数列表数据
**/
List<UserChartResultDTO> userChartList(UserChartFormDTO formDTO);
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -1637,4 +1637,20 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return resultDTO;
}
/**
* @Author sun
* @Description 人房居民总数列表数据
**/
@Override
public List<UserChartResultDTO> userChartList(UserChartFormDTO formDTO) {
List<UserChartResultDTO> userList = new ArrayList<>();
UserChartFormDTO userDTO = new UserChartFormDTO();
userDTO.setOrgType(formDTO.getOrgType());
for (String id : formDTO.getIdList()) {
userDTO.setOrgId(id);
userList.add(userChart(userDTO));
}
return userList;
}
}

Loading…
Cancel
Save