Browse Source

导出一户一档 暂存

dev
jianjun 4 years ago
parent
commit
f13582b5aa
  1. 39
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseMemberResultDTO.java
  2. 48
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseMemberResultDTO.java
  3. 50
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  4. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  5. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  6. 40
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RentTenantDataFormDTO.java
  7. 48
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBaseResultDTO.java
  8. 173
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java
  9. 8
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  10. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  11. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  12. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  13. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  14. 37
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  15. 16
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

39
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseMemberResultDTO.java

@ -0,0 +1,39 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.util.List;
/**
* desc:房屋和房屋成员返回结果类
*
* @author: LiuJanJun
* @date: 2022/5/9 1:58 下午
* @version: 1.0
*/
@Data
public class HouseMemberResultDTO extends PageFormDTO {
private static final long serialVersionUID = 4574743024782401136L;
private String agencyName;
private String gridName;
private String neighborHoodName;
private String buildingName;
private String unitName;
/**
* 门牌号
*/
private String doorName;
/**
* 房屋类型1楼房2平房3别墅
*/
private String houseType;
/**
* 家庭成员
*/
public static List<IcHouseMemberResultDTO> memberList;
}

48
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseMemberResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 用户基础信息
* @Author yinzuomei
* @Date 2021/11/1 10:34 上午
*/
@Data
public class IcHouseMemberResultDTO implements Serializable {
private static final long serialVersionUID = 5621052927788129250L;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 身份证号
*/
private String idCard;
/**
* 出生日期
*/
private String birthday;
/**
* 备注
*/
private String remarks;
}

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

@ -18,6 +18,10 @@
package com.epmet.controller;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
@ -28,7 +32,9 @@ import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.form.*;
@ -45,6 +51,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -306,4 +313,47 @@ public class HouseController implements ResultDataResolver {
return new Result();
}
/**
* desc: 导出一户一档
*
* @param tokenDto
* @param formDTO
* @param response
* @return void
* @author LiuJanJun
* @date 2022/5/9 1:42 下午
*/
@NoRepeatSubmit
@RequestMapping(value = "/exportHouseUser")
public void exportHouseUser(@LoginUser TokenDto tokenDto, @RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception {
//效验数据
LoginUserDetailsResultDTO loginUserDetail = getLoginUserDetailsResultDTO(tokenDto, "【查询房屋】查询当前staff所在组织信息失败");
formDTO.setAgencyId(loginUserDetail.getAgencyId());
ValidatorUtils.validateEntity(formDTO);
ExcelWriter excelWriter = null;
try {
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("一户一档信息.xlsx", response))
.registerWriteHandler(new FreezeAndFilter())
.build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
List<HouseMemberResultDTO> dataList = null;
do {
dataList = houseService.getHouseUser(tokenDto,formDTO);
}while (dataList != null && dataList.size() == formDTO.getPageSize());
//获取导出配置
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "text/htm1; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
}
}
}

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

@ -18,6 +18,7 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -94,4 +95,12 @@ public interface HouseService {
* @date 2022/5/6 08:50
*/
void updateSort(UpdateSortFormDTO formDTO);
/**
* desc:条件获取房和家庭成员
* @param tokenDto
* @param formDTO
* @return
*/
List<HouseMemberResultDTO> getHouseUser(TokenDto tokenDto, IcHouseListFormDTO formDTO);
}

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

@ -16,6 +16,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
@ -29,7 +30,6 @@ import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.model.HouseInfoModel;
import com.epmet.model.ImportHouseInfoListener;
import com.epmet.redis.IcHouseRedis;
@ -70,12 +70,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
@Resource
private IcBuildingDao icBuildingDao;
@Resource
private IcBuildingUnitDao icBuildingUnitDao;
@Resource
private IcHouseDao icHouseDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private IcHouseRedis icHouseRedis;
@Autowired
private AgencyService agencyservice;
@ -475,6 +471,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
}
@Override
public List<HouseMemberResultDTO> getHouseUser(TokenDto tokenDto, IcHouseListFormDTO formDTO) {
PageData<IcHouseListResultDTO> houseList = this.getHouseList(formDTO);
List<HouseMemberResultDTO> memberResultDTOS = ConvertUtils.sourceToTarget(houseList.getList(), HouseMemberResultDTO.class);
memberResultDTOS.parallelStream().forEach(o ->{
RentTenantDataFormDTO userResiInfoListFormDTO = new RentTenantDataFormDTO();
epmetUserOpenFeignClient.getHouseMemberList(userResiInfoListFormDTO);
});
return memberResultDTOS;
}
/**
* @Author sun
* @Description 人房房屋居民统计列表数据

40
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RentTenantDataFormDTO.java

@ -1,24 +1,52 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 租客房东信息
* desc:居民信息查询条件
*
* @author zhy
* @date 2022/4/26 10:54
*/
@Data
public class RentTenantDataFormDTO implements Serializable {
private static final long serialVersionUID = 9156247659994638103L;
public class RentTenantDataFormDTO extends PageFormDTO {
@NotBlank(message = "userId不能为空")
private static final long serialVersionUID = 803398545727377361L;
public interface RentTenantDataForm{}
@NotBlank(message = "userId不能为空", groups = RentTenantDataForm.class)
private String userId;
@NotBlank(message = "tokenDto获取customerId不能为空")
@NotBlank(message = "tokenDto获取customerId不能为空", groups = RentTenantDataForm.class)
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* 网格Id
*/
private String gridId;
/**
* 小区ID
*/
private String neighborHoodId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 房间ID
*/
private String houseId;
}

48
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBaseResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 用户基础信息
* @Author yinzuomei
* @Date 2021/11/1 10:34 上午
*/
@Data
public class IcResiUserBaseResultDTO implements Serializable {
private static final long serialVersionUID = 5621052927788129250L;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 身份证号
*/
private String idCard;
/**
* 出生日期
*/
private String birthday;
/**
* 备注
*/
private String remarks;
}

173
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java

@ -1,173 +0,0 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description TODO
* @Author yinzuomei
* @Date 2021/11/1 10:34 上午
*/
@Data
public class IcResiUserPageResultDTO implements Serializable {
private static final long serialVersionUID = 5621052927788129250L;
private String icResiUserId;
private String gridId;
private String gridName;
/**
* 所属小区ID
*/
private String villageId;
private String vallageName;
/**
* 所属楼宇Id
*/
private String buildId;
private String buildName;
/**
* 单元id
*/
private String unitId;
private String unitName;
/**
* 所属家庭Id
*/
private String homeId;
private String homeName;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobile;
/**
* 性别
*/
private String gender;
/**
* 身份证号
*/
private String idCard;
/**
* 出生日期
*/
private String birthday;
/**
* 备注
*/
private String remarks;
/**
* 是否党员
*/
private Boolean isParty;
/**
* 是否低保户
*/
private Boolean isDbh;
/**
* 是否保障房
*/
private Boolean isEnsureHouse;
/**
* 是否失业
*/
private Boolean isUnemployed;
/**
* 是否育龄妇女
*/
private Boolean isYlfn;
/**
* 是否退役军人
*/
private Boolean isVeterans;
/**
* 是否统战人员
*/
private Boolean isUnitedFront;
/**
* 是否信访人员
*/
private Boolean isXfry;
/**
* 是否志愿者
*/
private Boolean isVolunteer;
/**
* 是否老年人
*/
private Boolean isOldPeople;
/**
* 是否空巢
*/
private Boolean isKc;
/**
* 是否失独
*/
private Boolean isSd;
/**
* 是否失能
*/
private Boolean isSn;
/**
* 是否失智
*/
private Boolean isSz;
/**
* 是否残疾
*/
private Boolean isCj;
/**
* 是否大病
*/
private Boolean isDb;
/**
* 是否慢病
*/
private Boolean isMb;
/**
* 是否特殊人群
*/
private Boolean isSpecial;
// 以下属性都需要单独处理,不是直接取数据库的字段
private String demandCategoryIds;
private String demandName;
/**
* 房屋类型1楼房2平房3别墅
*/
private String houseType;}

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

@ -740,4 +740,12 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/icresiuser/userchartlist")
Result<List<UserChartResultDTO>> userChartList(@RequestBody UserChartFormDTO userDTO);
/**
* desc:条件获取房屋成员信息
* @param formDTO
* @return
*/
@PostMapping("/epmetuser/icresiuser/getHouseMemberList")
Result<List<RentTenantDataResultDTO>> getHouseMemberList(@RequestBody RentTenantDataFormDTO formDTO);
}

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

@ -543,4 +543,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "userChartList", userDTO);
}
@Override
public Result<List<RentTenantDataResultDTO>> getHouseMemberList(RentTenantDataFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getHouseMemberList", formDTO);
}
}

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

@ -270,7 +270,7 @@ public class IcResiUserController implements ResultDataResolver {
*/
@PostMapping("rent/getrentresiuserinfo")
public Result<RentTenantDataResultDTO> getRentResiUserInfo(@RequestBody RentTenantDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ValidatorUtils.validateEntity(formDTO, RentTenantDataFormDTO.RentTenantDataForm.class);
return new Result<RentTenantDataResultDTO>().ok(icResiUserService.getRentResiUserInfo(formDTO));
}
@ -1001,19 +1001,8 @@ public class IcResiUserController implements ResultDataResolver {
List<HomeUserBriefResultDTO> r = icResiUserService.listHomeUserBrief(houseId, customerId);
return new Result().ok(r);
}
// @PostMapping("test-async")
// public Result testAsync(HttpServletRequest request) {
//// tl.set("wxz");
// executorService.submit(() -> {
// try {
// Thread.sleep(500l);
// log.info("[我是子线程]:" + EpmetRequestHolder.getHeader("app"));
// System.out.println("---");
// } catch (InterruptedException e) {
// log.error("method exception", e);
// }
// icResiUserImportService.testAsync();
// });
// return new Result();
// }
@PostMapping("getHouseMemberList")
Result<List<RentTenantDataResultDTO>> getHouseMemberList(@RequestBody RentTenantDataFormDTO formDTO) {
return new Result().ok(icResiUserService.getHouseMemberList(formDTO));
}
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -159,11 +159,11 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("tableName") String tableName, @Param("userId") String userId);
/**
* @Author sun
* @Description 查询居民信息
**/
IcResiUserDTO getResiUser(IcResiUserDTO dto);
* desc:根据身份证号获取居民信息
* @param idCard
* @param customerId
* @return
*/
IcResiUserDTO getResiUserByIdCard(@Param("idCard") String idCard,@Param("customerId") String customerId);
/**

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

@ -319,4 +319,10 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
*/
String updateImage(TokenDto tokenDto, RentTenantFormDTO formDTO);
/**
* desc:条件获取居民基础信息
* @param formDTO
* @return
*/
List<RentTenantDataResultDTO> getHouseMemberList(RentTenantDataFormDTO formDTO);
}

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

@ -208,10 +208,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
//2021.11.25 新增需求 客户下身份证号唯一 start
if (map.containsKey("ID_CARD")) {
IcResiUserDTO dto = new IcResiUserDTO();
dto.setCustomerId(tokenDto.getCustomerId());
dto.setIdCard(map.get("ID_CARD"));
IcResiUserDTO userDTO = baseDao.getResiUser(dto);
IcResiUserDTO userDTO = baseDao.getResiUserByIdCard(map.get("ID_CARD"), tokenDto.getCustomerId());
if (null != userDTO && null != userDTO.getIdCard()) {
String errorMsg = "新增居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
@ -357,7 +354,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserDTO dto = new IcResiUserDTO();
dto.setCustomerId(tokenDto.getCustomerId());
dto.setIdCard(map.get("ID_CARD"));
IcResiUserDTO userDTO = baseDao.getResiUser(dto);
IcResiUserDTO userDTO = baseDao.getResiUserByIdCard(map.get("ID_CARD"), dto.getCustomerId());
if (null != userDTO && null != userDTO.getIdCard()) {
String errorMsg = "修改居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
@ -1804,4 +1801,34 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return resiUserId;
}
@Override
public List<RentTenantDataResultDTO> getHouseMemberList(RentTenantDataFormDTO formDTO) {
String pids = "";
//根据pid 获取居民 信息
if (StringUtils.isNotBlank(formDTO.getGridId())){
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getGridId());
if (gridInfo == null){
log.warn("getHouseMemberList gridId:{} is not exist",formDTO.getGridId());
return null;
}
pids = gridInfo.getPids().concat(StrConstant.COLON).concat(formDTO.getGridId());
}
if (StringUtils.isNotBlank(formDTO.getAgencyId())){
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId());
if (agencyInfo == null){
log.warn("getHouseMemberList agencyId:{} is not exist",formDTO.getAgencyId());
return null;
}
pids = agencyInfo.getPids().concat(StrConstant.COLON).concat(formDTO.getAgencyId());
}
LambdaQueryWrapper<IcResiUserEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IcResiUserEntity::getCustomerId,formDTO.getCustomerId())
.eq(StringUtils.isNotBlank(formDTO.getAgencyId()),IcResiUserEntity::getCustomerId,formDTO.getCustomerId())
.eq(StringUtils.isNotBlank(formDTO.getCustomerId()),IcResiUserEntity::getCustomerId,formDTO.getCustomerId())
;
/*PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getIsPage())
.doSelectPage(()->baseDao.getResiUser())*/
return null;
}
}

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

@ -363,19 +363,6 @@
AND IC_RESI_USER = #{userId}
</if>
</select>
<select id="getResiUser" resultType="com.epmet.dto.IcResiUserDTO">
SELECT
id,
`name`,
id_card,
mobile
FROM
ic_resi_user
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND id_card = #{idCard}
</select>
<select id="getResiUserByIdCard" resultType="com.epmet.dto.IcResiUserDTO">
SELECT
id,
@ -386,7 +373,8 @@
ic_resi_user
WHERE
del_flag = '0'
AND id_card = #{idCard}
AND customer_id = #{customerId}
AND id_card = #{idCard}
</select>
<select id="selectDemandUsers" parameterType="map" resultType="com.epmet.dto.result.DemandUserResDTO">

Loading…
Cancel
Save