Browse Source

Merge remote-tracking branch 'origin/dev_resi_export' into dev_resi_export

release
jianjun 3 years ago
parent
commit
c7fc8f48a3
  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
  12. 11
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

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 * @Author sun
* @Description 人房房屋总数饼图 * @Description 人房房屋总数饼图
**/ **/
@NoRepeatSubmit
@PostMapping("housechart") @PostMapping("housechart")
public Result<HouseChartResultDTO> houseChart(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) { public Result<HouseChartResultDTO> houseChart(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCustomerId(tokenDto.getCustomerId());
@ -267,7 +266,6 @@ public class HouseController implements ResultDataResolver {
* @Author sun * @Author sun
* @Description 人房下级人房概览列表 * @Description 人房下级人房概览列表
**/ **/
@NoRepeatSubmit
@PostMapping("subuserhouselist") @PostMapping("subuserhouselist")
public Result<List<SubUserHouseListResultDTO>> subUserHouseList(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) { public Result<List<SubUserHouseListResultDTO>> subUserHouseList(@LoginUser TokenDto tokenDto, @RequestBody HouseChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId()); 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; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO; import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.entity.IcHouseEntity; 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<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.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant; import com.epmet.constant.CustomerGridConstant;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcBuildingDao; import com.epmet.dao.*;
import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dto.*;
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.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HousePurposeEnums;
@ -56,6 +50,7 @@ import java.text.NumberFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -90,9 +85,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired @Autowired
private ExecutorService executorService; private ExecutorService executorService;
@Autowired @Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private CustomerAgencyDao customerAgencyDao;
@Autowired
private CustomerGridDao customerGridDao;
@Override @Override
@ -374,7 +372,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
houseTotal.addAndGet(l.getNum()); houseTotal.addAndGet(l.getNum());
if (l.getRentFlag() == 0) { if (l.getRentFlag() == 0) {
resultDTO.setZzHouseTotal(l.getNum()); resultDTO.setZzHouseTotal(l.getNum());
} else if (l.getRentFlag() == 0) { } else if (l.getRentFlag() == 1) {
resultDTO.setCzHouseTotal(l.getNum()); resultDTO.setCzHouseTotal(l.getNum());
} else { } else {
resultDTO.setXzHouseTotal(l.getNum()); resultDTO.setXzHouseTotal(l.getNum());
@ -395,7 +393,109 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
**/ **/
@Override @Override
public List<SubUserHouseListResultDTO> subUserHouseList(HouseChartFormDTO formDTO) { 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> </foreach>
) )
</select> </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> </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 lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author sun * @author sun
@ -22,6 +23,9 @@ public class UserChartFormDTO implements Serializable {
*/ */
private String orgType; private String orgType;
//id集合
private List<String> idList;
//token这信息 //token这信息
private String customerId; private String customerId;
private String userId; 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 @JsonIgnore
private Integer num; 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; package com.epmet.feign;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
@ -25,8 +24,8 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com * @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:09 * @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, url = "localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class) //@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
public interface EpmetUserOpenFeignClient { public interface EpmetUserOpenFeignClient {
/** /**
@ -721,4 +720,6 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/icresiuser/getexistuserbyhouseids") @PostMapping("/epmetuser/icresiuser/getexistuserbyhouseids")
Result<List<String>> getExistUserByHouseIds(@RequestBody List<String> ids); 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) { public Result<List<String>> getExistUserByHouseIds(List<String> ids) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getExistUserByHouseIds", 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 * @Author sun
* @Description 人房居民总数饼图 * @Description 人房居民总数饼图
**/ **/
@NoRepeatSubmit
@PostMapping("userchart") @PostMapping("userchart")
public Result<UserChartResultDTO> userChart(@LoginUser TokenDto tokenDto, @RequestBody UserChartFormDTO formDTO) { public Result<UserChartResultDTO> userChart(@LoginUser TokenDto tokenDto, @RequestBody UserChartFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCustomerId(tokenDto.getCustomerId());
@ -902,4 +901,13 @@ public class IcResiUserController implements ResultDataResolver {
return new Result<UserChartResultDTO>().ok(icResiUserService.userChart(formDTO)); 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 人房居民总数饼图 * @Description 人房居民总数饼图
**/ **/
UserChartResultDTO userChart(UserChartFormDTO formDTO); 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; 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;
}
} }

11
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -73,6 +73,17 @@
<if test="subCondition.queryType!= null and subCondition.queryType == 'daterange' "> <if test="subCondition.queryType!= null and subCondition.queryType == 'daterange' ">
and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]} and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]}
</if> </if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'notnull' ">
<if test="null!=subCondition.columnValue[0] and '1'== subCondition.columnValue[0]">
and ${subCondition.tableName}.${subCondition.columnName} is not null
and ${subCondition.tableName}.${subCondition.columnName} !=''
</if>
<if test="null!=subCondition.columnValue[0] and '0'== subCondition.columnValue[0]">
and (${subCondition.tableName}.${subCondition.columnName} is null
or ${subCondition.tableName}.${subCondition.columnName} ='')
</if>
</if>
</if> </if>
</foreach> </foreach>
</if> </if>

Loading…
Cancel
Save