Browse Source

Merge remote-tracking branch 'remotes/origin/dev_house_resi_export' into dev_move_out_of

# Conflicts:
#	epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/GenderEnum.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
dev
jianjun 3 years ago
parent
commit
ed13faedbf
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java
  2. 17
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/ExcelFillCellMergeStrategy.java
  3. 191
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseMemberResultDTO.java
  4. 48
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseMemberResultDTO.java
  5. 91
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  6. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  7. 137
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  8. 9
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  9. 16
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcFormOptionsQueryFormDTO.java
  10. 13
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemOptionsController.java
  11. 7
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemOptionsService.java
  12. 15
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemOptionsServiceImpl.java
  13. 22
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/StyleShowListResiFormDTO.java
  14. 39
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java
  15. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartymemberStyleService.java
  16. 35
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java
  17. 45
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RentTenantDataFormDTO.java
  18. 181
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseIcResiUserResultDTO.java
  19. 48
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBaseResultDTO.java
  20. 173
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java
  21. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  22. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  23. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  24. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  25. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  26. 95
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  27. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java
  28. BIN
      epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls
  29. 98
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java

@ -25,7 +25,7 @@ public class EpmetBaseRequestInterceptor implements RequestInterceptor {
// Map<String, String> requestHeaders = getHeadersFromRequest();
log.info("EpmetBaseRequestInterceptor#apply#inheritableAdditionalHeaders:" + requestHeaders);
log.debug("EpmetBaseRequestInterceptor#apply#inheritableAdditionalHeaders:" + requestHeaders);
if (requestHeaders != null && requestHeaders.size() > 0) {
for (Map.Entry<String, String> kv : requestHeaders.entrySet()) {
@ -59,4 +59,4 @@ public class EpmetBaseRequestInterceptor implements RequestInterceptor {
return headers;
}
}
}

17
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/ExcelFillCellMergeStrategy.java

@ -28,6 +28,10 @@ public class ExcelFillCellMergeStrategy implements CellWriteHandler {
* 从下标n行开始合并
*/
private int mergeRowIndex;
/**
* 默认隐藏第一列 用于合并数据
*/
private boolean hiddenFirst = true;
public ExcelFillCellMergeStrategy() {
}
@ -36,6 +40,11 @@ public class ExcelFillCellMergeStrategy implements CellWriteHandler {
this.mergeRowIndex = mergeRowIndex;
this.mergeColumnIndexArr = mergeColumnIndexArr;
}
public ExcelFillCellMergeStrategy(int mergeRowIndex, int[] mergeColumnIndexArr,boolean hiddenFirst) {
this.mergeRowIndex = mergeRowIndex;
this.mergeColumnIndexArr = mergeColumnIndexArr;
this.hiddenFirst = hiddenFirst;
}
@Override
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer columnIndex, Integer relativeRowIndex, Boolean isHead) {
@ -45,7 +54,9 @@ public class ExcelFillCellMergeStrategy implements CellWriteHandler {
@Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
// 隐藏id列
writeSheetHolder.getSheet().setColumnHidden(0, true);
if (hiddenFirst ){
writeSheetHolder.getSheet().setColumnHidden(0, true);
}
}
@Override
@ -91,9 +102,9 @@ public class ExcelFillCellMergeStrategy implements CellWriteHandler {
// 将当前单元格数据与上一个单元格数据比较
Boolean dataBool = preData.equals(curData);
//此处需要注意:因为我是按照序号确定是否需要合并的,所以获取每一行第一列数据和上一行第一列数据进行比较,如果相等合并
Boolean bool = cell.getRow().getCell(0).getStringCellValue().equals(cell.getSheet().getRow(curRowIndex - 1).getCell(0).getStringCellValue());
if (!dataBool || !bool) {
if (!dataBool) {
return;
}
Sheet sheet = writeSheetHolder.getSheet();

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

@ -0,0 +1,191 @@
package com.epmet.dto.result;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.io.Serializable;
/**
* desc:房屋和房屋成员返回结果类
*
* @author: LiuJanJun
* @date: 2022/5/9 1:58 下午
* @version: 1.0
*/
@Data
public class HouseMemberResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ColumnWidth(value = 7)
@ExcelProperty(value = "序号",index = 0)
private Integer num;
@ExcelProperty(value = {"房屋信息","所属组织"},index = 1)
private String agencyName;
@ExcelProperty(value = {"房屋信息","所属网格"},index = 2)
private String gridName;
@ExcelIgnore
private String neighborHoodId;
@ExcelProperty(value = {"房屋信息","所属小区"},index = 3)
private String neighborHoodName;
@ExcelIgnore
private String buildingId;
@ExcelIgnore
private String houseId;
@ExcelProperty(value = {"房屋信息","所属楼栋"},index = 4)
private String buildingName;
@ExcelProperty(value = {"房屋信息","单元"},index = 5)
private String unitName;
/**
* 门牌号
*/
@ExcelProperty(value = {"房屋信息","门牌号"},index = 6)
private String doorName;
/**
* 房屋类型1楼房2平房3别墅
*/
@ExcelProperty(value = {"房屋信息","房屋类型"},index = 7)
private String houseType;
/**
* 房屋用途
*/
@ExcelProperty(value = {"房屋信息","房屋用途"},index = 8)
private String purpose;
/**
* 房屋状态
*/
@ExcelProperty(value = {"房屋信息","房屋状态"},index = 9)
private String rentFlag;
/**
* 房主姓名
*/
@ExcelProperty(value = {"房屋信息","房主姓名"},index = 10)
private String ownerName;
/**
* 房主电话
*/
@ExcelProperty(value = {"房屋信息","房主电话"},index = 11)
private String ownerPhone;
/**
* 房主身份证
*/
@ExcelProperty(value = {"房屋信息","房主身份证"},index = 12)
private String ownerIdCard;
//居民信息/**/
/**
* 主键
*/
@ExcelIgnore
private String id;
/**
* 姓名
*/
@ExcelProperty(value = {"实际居住人信息","姓名"},index = 13)
private String name;
/**
* 性别
*/
@ExcelProperty(value = {"实际居住人信息","性别"},index = 14)
private String gender;
/**
* 手机号
*/
@ExcelProperty(value = {"实际居住人信息","手机号"},index = 15)
private String mobile;
/**
* 身份证号
*/
@ExcelProperty(value = {"实际居住人信息","身份证号"},index = 16)
private String idCard;
/**
* 出生日期
*/
@ExcelProperty(value = {"实际居住人信息","出生日期"},index = 17)
private String birthday;
/**
* 户籍所在地
*/
@ExcelProperty(value = {"实际居住人信息","户籍所在地"},index = 18)
private String hjszd;
/**
* 与户主关系字典表
*/
@ExcelProperty(value = {"实际居住人信息","与户主关系"},index = 19)
private String yhzgx;
/**
* 是否党员
*/
@ExcelProperty(value = {"实际居住人信息","是否党员"},index = 20)
private String isParty;
/**
* 是否租户
*/
@ExcelProperty(value = {"实际居住人信息","是否租户"},index = 21)
private String isTenant;
/**
* 是否流动人口
*/
@ExcelProperty(value = {"实际居住人信息","是否流动人口"},index = 22)
private String isFloating;
/**
* 工作单位
*/
@ExcelProperty(value = {"实际居住人信息","工作单位"},index = 23)
private String gzdw;
/**
* 民族字典表
*/
@ExcelProperty(value = {"实际居住人信息","民族"},index = 24)
private String mz;
/**
* 籍贯
*/
@ExcelProperty(value = {"实际居住人信息","籍贯"},index = 25)
private String jg;
/**
* 婚姻状况字典表
*/
@ExcelProperty(value = {"实际居住人信息","婚姻状况"},index = 26)
private String hyzk;
/**
* 文化程度字典表
*/
@ExcelProperty(value = {"实际居住人信息","文化程度"},index = 27)
private String culture;
/**
* 宗教信仰
*/
@ExcelProperty(value = {"实际居住人信息","宗教信仰"},index = 28)
private String faith;
/**
* 备注
*/
@ExcelProperty(value = {"实际居住人信息","备注"},index = 29)
private String remarks;
}

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;
}

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

@ -18,6 +18,13 @@
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.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
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 +35,10 @@ 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.ExcelFillCellMergeStrategy;
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.*;
@ -37,18 +47,25 @@ import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.HouseService;
import com.epmet.util.ExcelPoiUtils;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
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;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
@ -305,4 +322,78 @@ 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 {
formDTO.setIsPage(false);
formDTO.setPageSize(NumConstant.ONE_THOUSAND);
//效验数据
if (StringUtils.isBlank(formDTO.getAgencyId())){
LoginUserDetailsResultDTO loginUserDetail = getLoginUserDetailsResultDTO(tokenDto, "【查询房屋】查询当前staff所在组织信息失败");
formDTO.setAgencyId(loginUserDetail.getAgencyId());
}
ValidatorUtils.validateEntity(formDTO);
ExcelWriter excelWriter = null;
try {
// 头的策略
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
// 背景设置为红色
headWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("一户一档信息.xlsx", response))
.registerWriteHandler(horizontalCellStyleStrategy)
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.build();
int[] mergeRowArr = new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12};
FreezeAndFilter writeHandler = new FreezeAndFilter();
writeHandler.rowSplit = 2;
ExcelFillCellMergeStrategy mergeStrategy = new ExcelFillCellMergeStrategy(2,mergeRowArr,false);
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1")
.head(HouseMemberResultDTO.class)
.registerWriteHandler(mergeStrategy)
.registerWriteHandler(writeHandler)
.build();
PageData<HouseMemberResultDTO> dataList = null;
Cache<String,Boolean> haveSearchCache = CacheBuilder.newBuilder().maximumSize(NumConstant.ONE_HUNDRED).expireAfterWrite(NumConstant.THIRTY, TimeUnit.MINUTES).build();
do {
dataList = houseService.getHouseUser(tokenDto,formDTO,haveSearchCache);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(dataList.getList(), writeSheet);
if (CollectionUtils.isEmpty(dataList.getList())){
break;
}
}while (dataList.getTotal() == 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();
} finally {
if (excelWriter != null){
excelWriter.finish();
}
}
}
}

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

@ -18,10 +18,12 @@
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.IcHouseDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.google.common.cache.Cache;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
@ -36,6 +38,7 @@ import java.util.Set;
*/
public interface HouseService {
void addHouse(String customerId, IcHouseAddFormDTO formDTO);
@ -105,4 +108,13 @@ public interface HouseService {
* @date 2022/5/6 08:50
*/
void updateSort(UpdateSortFormDTO formDTO);
/**
* desc:条件获取房和家庭成员
* @param tokenDto
* @param formDTO
* @param haveSearchCache
* @return
*/
PageData<HouseMemberResultDTO> getHouseUser(TokenDto tokenDto, IcHouseListFormDTO formDTO, Cache<String, Boolean> haveSearchCache);
}

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

@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
@ -17,6 +18,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;
@ -34,7 +36,6 @@ import com.epmet.enums.HouseRentFlagEnums;
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;
@ -42,6 +43,8 @@ import com.epmet.service.*;
import com.epmet.util.ExcelPoiUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -55,6 +58,7 @@ import java.io.InputStream;
import java.text.NumberFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@ -75,12 +79,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;
@ -280,14 +280,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
pids = getPids(formDTO.getAgencyId());
}
formDTO.setPids(pids);
PageInfo<IcHouseListResultDTO> pageInfo = null;
if (formDTO.getIsPage()){
pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(),formDTO.getIsPage())
PageInfo<IcHouseListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(),formDTO.getIsPage())
.doSelectPageInfo(() -> icHouseDao.searchHouseByPage(formDTO));
}else{
List<IcHouseListResultDTO> resultDTOS = icHouseDao.searchHouseByPage(formDTO);
pageInfo = new PageInfo<>(resultDTOS,resultDTOS.size());
}
List<IcHouseListResultDTO> records = pageInfo.getList();
records.forEach(item->{
@ -295,7 +290,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
item.setPurpose(HousePurposeEnums.getTypeValue(item.getPurposeKey()));
});
return new PageData<>(records,pageInfo.getTotal());
return new PageData<>(records == null? new ArrayList<>():records,pageInfo.getTotal());
}
public String getPids(String agencyId){
String pids = null;
@ -318,10 +314,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
public void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception {
//如果类型是house 查房屋
//导出房屋
PageData<IcHouseListResultDTO> icHouseExcels = getHouseList(formDTO);
List<IcHouseListResultDTO> list = new ArrayList<>();
do {
PageData<IcHouseListResultDTO> icHouseExcels = getHouseList(formDTO);
if (CollectionUtils.isEmpty(icHouseExcels.getList())){
break;
}
list.addAll(icHouseExcels.getList());
}while (list.size() == formDTO.getPageSize());
TemplateExportParams templatePath = new TemplateExportParams("excel/house_export.xlsx");
Map<String,Object> map = new HashMap<>();
map.put("maplist",icHouseExcels.getList());
map.put("maplist", list);
ExcelPoiUtils.exportExcel(templatePath ,map,"房屋信息录入表",response);
}
@ -578,6 +581,110 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
icBuildingService.update(icBuildingDTO);
}
}
Cache<String,List<HouseIcResiUserResultDTO.HouseMemberResultDTO>> memberMap = CacheBuilder.newBuilder().expireAfterAccess(1, TimeUnit.SECONDS).build();
@Override
public PageData<HouseMemberResultDTO> getHouseUser(TokenDto tokenDto, IcHouseListFormDTO formDTO, Cache<String, Boolean> haveSearchCache) {
RentTenantDataFormDTO resiParam = new RentTenantDataFormDTO();
resiParam.setCustomerId(tokenDto.getCustomerId());
resiParam.setAgencyId(formDTO.getAgencyId());
resiParam.setGridId(formDTO.getGridId());
resiParam.setPageSize(NumConstant.ONE_THOUSAND);
resiParam.setIsPage(false);
//查询级别 默认按照小区去查
int searchLevel = 0;
//如果楼宇id不为空 则直接查询楼宇内的居民
if (StringUtils.isNotEmpty(formDTO.getBuildingId())){
searchLevel = 1;
}
//如果有具体的查询套件 则直接降级为2 按照房屋Id 来查
if (StringUtils.isNotEmpty(formDTO.getOwnerName()) || StringUtils.isNotEmpty(formDTO.getOwnerPhone()) || StringUtils.isNotEmpty(formDTO.getRentFlag())){
searchLevel = 2;
}
PageData<IcHouseListResultDTO> houseData = this.getHouseList(formDTO);
List<HouseMemberResultDTO> resultDTOS = ConvertUtils.sourceToTarget(houseData.getList(), HouseMemberResultDTO.class);
List<HouseMemberResultDTO> resultList = new ArrayList<>();
PageData<HouseMemberResultDTO> result = new PageData<>(resultList,houseData.getList().size());
int finalSearchLevel = searchLevel;
AtomicInteger num = new AtomicInteger((formDTO.getPageNo()-1) * formDTO.getPageSize());
resultDTOS.stream().forEach(o ->{
resiParam.setNeighborHoodId(o.getNeighborHoodId());
if (finalSearchLevel == 1){
resiParam.setBuildingId(o.getBuildingId());
}
if (finalSearchLevel == 2){
resiParam.setHouseId(o.getHouseId());
}
this.getHouseMembers(resiParam, memberMap,haveSearchCache);
List<HouseIcResiUserResultDTO.HouseMemberResultDTO> members = memberMap.getIfPresent(o.getHouseId());
int n = num.incrementAndGet();
//没有住户 则直接写房屋
if (CollectionUtils.isEmpty(members)){
HouseMemberResultDTO resultDTO = ConvertUtils.sourceToTarget(o, HouseMemberResultDTO.class);
resultDTO.setNum(n);
resultList.add(resultDTO);
return;
}
//有住户 房屋信息是重复的
members.forEach(m->{
HouseMemberResultDTO resultDTO = ConvertUtils.sourceToTarget(m, HouseMemberResultDTO.class);
resultDTO.setNum(n);
resultDTO.setAgencyName(o.getAgencyName());
resultDTO.setGridName(o.getGridName());
resultDTO.setNeighborHoodName(o.getNeighborHoodName());
resultDTO.setBuildingName(o.getBuildingName());
resultDTO.setUnitName(o.getUnitName());
resultDTO.setDoorName(o.getDoorName());
resultDTO.setHouseType(o.getHouseType());
resultDTO.setPurpose(o.getPurpose());
resultDTO.setRentFlag(o.getRentFlag());
resultDTO.setOwnerName(o.getOwnerName());
resultDTO.setOwnerPhone(o.getOwnerPhone());
resultDTO.setOwnerIdCard(o.getOwnerIdCard());
resultList.add(resultDTO);
});
});
return result;
}
/**
* desc:分情况获取 房屋内居民
* @param resiParam
* @param memberMap
* @param haveSearchCache
*/
public void getHouseMembers(RentTenantDataFormDTO resiParam, Cache<String, List<HouseIcResiUserResultDTO.HouseMemberResultDTO>> memberMap, Cache<String, Boolean> haveSearchCache) {
String searchKey = resiParam.getHouseId()+resiParam.getBuildingId()+resiParam.getNeighborHoodId()+resiParam.getAgencyId();
Boolean haveSearch = haveSearchCache.getIfPresent(searchKey);
if (haveSearch!= null && haveSearch){
return;
}
haveSearchCache.put(searchKey,true);
List<HouseIcResiUserResultDTO> memberListTemp = null;
resiParam.setPageNo(NumConstant.ONE);
do {
Result<List<HouseIcResiUserResultDTO>> memberResult = epmetUserOpenFeignClient.getHouseMemberList(resiParam);
log.debug("=======查询居民:"+ resiParam.getPageNo()+",size:"+resiParam.getPageSize()+",result:"+memberResult.getData().size());
if (!memberResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "调用user服务失败");
}
memberListTemp = memberResult.getData();
log.debug("=======查询居民结果:"+ JSON.toJSONString(memberListTemp));
if (CollectionUtils.isEmpty(memberListTemp)) {
break;
}
resiParam.setPageNo(resiParam.getPageNo()+1);
memberListTemp.parallelStream().forEach(h -> memberMap.put(h.getHomeId(), h.getHouseMemberList()));
} while (memberListTemp.size() == resiParam.getPageSize());
}
/**
* @Author sun

9
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -131,12 +131,21 @@
<if test='level == "grid"'>
AND c.GRID_ID = #{id}
</if>
<if test="gridId != null and gridId != ''">
AND c.GRID_ID = #{gridId}
</if>
<if test='level == "neighborHood"'>
AND c.id = #{id}
</if>
<if test="neighborHoodId != null and neighborHoodId != ''">
AND a.NEIGHBOR_HOOD_ID = #{neighborHoodId}
</if>
<if test='level == "building"'>
AND b.id = #{id}
</if>
<if test="buildingId != null and buildingId != ''">
AND a.BUILDING_ID = #{buildingId}
</if>
<if test="rentFlag != null and rentFlag.trim() != ''">
AND a.RENT_FLAG = #{rentFlag}
</if>

16
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcFormOptionsQueryFormDTO.java

@ -12,16 +12,24 @@ import javax.validation.constraints.NotBlank;
*/
@Data
public class IcFormOptionsQueryFormDTO {
public interface QueryByLabelAndCustomerIdForForm {}
@NotBlank(message = "客户ID必填", groups = { QueryByLabelAndCustomerIdForForm.class })
private String customerId;
@NotBlank(message = "FormCode必填", groups = { QueryByLabelAndCustomerIdForForm.class })
private String formCode;
/**
* 列名单纯的列名如果是扩展字段则 需要给columnNum赋值
*/
@NotBlank(message = "OptionsLabel必填", groups = { QueryByLabelAndCustomerIdForForm.class })
private String label;
private String columnName;
/**
* 列名数字
*/
private Integer columnNum;
}

13
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemOptionsController.java

@ -31,12 +31,10 @@ import com.epmet.excel.IcFormItemOptionsExcel;
import com.epmet.service.IcFormItemOptionsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.tags.form.InputTag;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.function.IntUnaryOperator;
/**
@ -48,7 +46,7 @@ import java.util.function.IntUnaryOperator;
@RestController
@RequestMapping("icformitemoptions")
public class IcFormItemOptionsController {
@Autowired
private IcFormItemOptionsService icFormItemOptionsService;
@ -115,11 +113,12 @@ public class IcFormItemOptionsController {
ValidatorUtils.validateEntity(input, IcFormOptionsQueryFormDTO.QueryByLabelAndCustomerIdForForm.class);
String customerId = input.getCustomerId();
String formCode = input.getFormCode();
String label = input.getLabel();
String columnName = input.getColumnName();
Integer columnNum = input.getColumnNum();
List<IcFormItemOptionsDTO> r = icFormItemOptionsService.getOptionsByItemConditions(customerId, formCode, label);
List<IcFormItemOptionsDTO> r = icFormItemOptionsService.getOptionsByItemConditions(customerId, formCode, columnName, columnNum);
return new Result<List<IcFormItemOptionsDTO>>().ok(r);
}
}
}

7
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemOptionsService.java

@ -105,8 +105,9 @@ public interface IcFormItemOptionsService extends BaseService<IcFormItemOptionsE
* 使用item相关条件查询options
* @param customerId
* @param formCode
* @param label
* @param columnName
* @param columnNum
* @return
*/
List<IcFormItemOptionsDTO> getOptionsByItemConditions(String customerId, String formCode, String label);
}
List<IcFormItemOptionsDTO> getOptionsByItemConditions(String customerId, String formCode, String columnName, Integer columnNum);
}

15
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemOptionsServiceImpl.java

@ -53,7 +53,7 @@ public class IcFormItemOptionsServiceImpl extends BaseServiceImpl<IcFormItemOpti
@Autowired
private IcFormItemDao icFormItemDao;
@Override
public PageData<IcFormItemOptionsDTO> page(Map<String, Object> params) {
IPage<IcFormItemOptionsEntity> page = baseDao.selectPage(
@ -118,19 +118,20 @@ public class IcFormItemOptionsServiceImpl extends BaseServiceImpl<IcFormItemOpti
}
@Override
public List<IcFormItemOptionsDTO> getOptionsByItemConditions(String customerId, String formCode, String label) {
public List<IcFormItemOptionsDTO> getOptionsByItemConditions(String customerId, String formCode, String columnName, Integer columnNum) {
// 查询item
LambdaQueryWrapper<IcFormItemEntity> formItemQuery = new LambdaQueryWrapper<>();
formItemQuery.eq(IcFormItemEntity::getCustomerId, customerId);
formItemQuery.eq(IcFormItemEntity::getFormCode, formCode);
formItemQuery.eq(IcFormItemEntity::getLabel, label);
formItemQuery.eq(IcFormItemEntity::getCustomerId, customerId)
.eq(IcFormItemEntity::getFormCode, formCode)
.eq(IcFormItemEntity::getColumnName, columnName)
.eq(columnNum != null,IcFormItemEntity::getColumnNum,columnNum);
IcFormItemEntity item = icFormItemDao.selectOne(formItemQuery);
if (item == null) {
return new ArrayList<>();
}
// 通过item查询options
LambdaQueryWrapper<IcFormItemOptionsEntity> query = new LambdaQueryWrapper<>();
query.eq(IcFormItemOptionsEntity::getItemId, item.getId());
@ -143,4 +144,4 @@ public class IcFormItemOptionsServiceImpl extends BaseServiceImpl<IcFormItemOpti
return oDTO;
}).collect(Collectors.toList());
}
}
}

22
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/StyleShowListResiFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.resi.partymember.dto.partymember.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党员风采列表接口参数
*
* @author work@yujt.net.cn
* @date 2022/5/9/0009 14:22
*/
@Data
public class StyleShowListResiFormDTO extends StyleShowListFormDTO implements Serializable {
private static final long serialVersionUID = -7548077165302515633L;
@NotBlank(message = "所属组织不能为空")
private String agencyId;
}

39
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java

@ -40,6 +40,7 @@ import com.epmet.modules.partymember.service.IcPartymemberStyleService;
import com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberStyleFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListResiFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.FilenameUtils;
@ -75,27 +76,27 @@ import java.util.stream.Collectors;
@RestController
@RequestMapping("icpartymemberstyle")
public class IcPartymemberStyleController {
@Autowired
private IcPartymemberStyleService icPartymemberStyleService;
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@GetMapping("page")
public Result<PageData<IcPartymemberStyleDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<IcPartymemberStyleDTO>> page(@RequestParam Map<String, Object> params) {
PageData<IcPartymemberStyleDTO> page = icPartymemberStyleService.page(params);
return new Result<PageData<IcPartymemberStyleDTO>>().ok(page);
}
@PostMapping("detail")
public Result<IcPartymemberStyleDTO> get(@RequestBody IcPartymemberStyleDTO dto){
public Result<IcPartymemberStyleDTO> get(@RequestBody IcPartymemberStyleDTO dto) {
IcPartymemberStyleDTO data = icPartymemberStyleService.get(dto.getId());
return new Result<IcPartymemberStyleDTO>().ok(data);
}
@PostMapping("save")
@NoRepeatSubmit
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartymemberStyleDTO dto){
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartymemberStyleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icPartymemberStyleService.save(tokenDto, dto);
@ -103,7 +104,7 @@ public class IcPartymemberStyleController {
}
@PostMapping("delete")
public Result delete(@RequestBody IcPartymemberStyleDTO dto){
public Result delete(@RequestBody IcPartymemberStyleDTO dto) {
//效验数据
icPartymemberStyleService.delete(dto.getId());
return new Result();
@ -156,7 +157,7 @@ public class IcPartymemberStyleController {
InputStream inputStream = null;
try {
inputStream = file.getInputStream();
}catch (Exception e){
} catch (Exception e) {
ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO();
input.setOperatorId(tokenDto.getUserId());
input.setTaskId(result.getData().getTaskId());
@ -172,23 +173,43 @@ public class IcPartymemberStyleController {
/**
* 数据分析-党员风采列表查询
*
* @param tokenDto
* @return
*/
@PostMapping("showlist")
public Result<PageData<IcPartymemberStyleDTO>> showList(@LoginUser TokenDto tokenDto, @RequestBody StyleShowListFormDTO formDTO){
public Result<PageData<IcPartymemberStyleDTO>> showList(@LoginUser TokenDto tokenDto, @RequestBody StyleShowListFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO,StyleShowListFormDTO.AddUserInternalGroup.class);
ValidatorUtils.validateEntity(formDTO, StyleShowListFormDTO.AddUserInternalGroup.class);
return new Result<PageData<IcPartymemberStyleDTO>>().ok(icPartymemberStyleService.showList(formDTO));
}
/**
* 党员风采列表
*
* @param tokenDto 登录用户
* @param formDto 查询条件
* @return com.epmet.commons.tools.utils.Result<com.epmet.commons.tools.page.PageData < com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO>>
* @author work@yujt.net.cn
* @date 2022/5/9/0009 14:23
*/
@PostMapping("showlistbyagency")
public Result<PageData<IcPartymemberStyleDTO>> showListByAgency(@LoginUser TokenDto tokenDto, @RequestBody StyleShowListResiFormDTO formDto) {
formDto.setCustomerId(tokenDto.getCustomerId());
// 此接口不包含userId相关业务处理
formDto.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDto, StyleShowListFormDTO.AddUserInternalGroup.class);
return new Result().ok(icPartymemberStyleService.showListByAgency(formDto));
}
/**
* 下载党员风采导入模板
*
* @param response
* @throws IOException
*/
@RequestMapping(value = "import/template-download" ,method = {RequestMethod.GET, RequestMethod.POST})
@RequestMapping(value = "import/template-download", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");

14
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/IcPartymemberStyleService.java

@ -25,6 +25,7 @@ import com.epmet.modules.partymember.entity.IcPartymemberStyleEntity;
import com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberStyleFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListResiFormDTO;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@ -93,6 +94,7 @@ public interface IcPartymemberStyleService extends BaseService<IcPartymemberStyl
/**
* 查询列表
*
* @Param formDTO
* @Return {@link PageData<IcPartymemberStyleDTO>}
* @Author zhaoqifeng
@ -102,6 +104,7 @@ public interface IcPartymemberStyleService extends BaseService<IcPartymemberStyl
/**
* 导入数据
*
* @Param tokenDto
* @Param response
* @Param file
@ -113,8 +116,19 @@ public interface IcPartymemberStyleService extends BaseService<IcPartymemberStyl
/**
* 数据分析-党员风采列表查询
*
* @param formDTO
* @return
*/
PageData<IcPartymemberStyleDTO> showList(StyleShowListFormDTO formDTO);
/**
* 党员风采列表查询
*
* @param formDto
* @return com.epmet.commons.tools.page.PageData<com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO>
* @author work@yujt.net.cn
* @date 2022/5/9/0009 14:22
*/
PageData<IcPartymemberStyleDTO> showListByAgency(StyleShowListResiFormDTO formDto);
}

35
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java

@ -60,6 +60,7 @@ import com.epmet.modules.partymember.service.IcPartymemberStyleService;
import com.epmet.resi.partymember.dto.partymember.IcPartymemberStyleDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberStyleFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.StyleShowListResiFormDTO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -72,10 +73,8 @@ import org.apache.http.entity.ContentType;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
@ -131,7 +130,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
dtoList.forEach(item -> {
if (StringUtils.isNotBlank(item.getGridId())) {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(item.getGridId());
if(gridInfo == null) {
if (gridInfo == null) {
log.warn("未找到网格信息:{}", item.getGridId());
return;
}
@ -145,8 +144,8 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
return dtoList;
}
private QueryWrapper<IcPartymemberStyleEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<IcPartymemberStyleEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcPartymemberStyleEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -168,7 +167,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
IcPartymemberStyleEntity entity = ConvertUtils.sourceToTarget(dto, IcPartymemberStyleEntity.class);
entity.setCustomerId(tokenDto.getCustomerId());
// CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(dto.getGridId());
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getGridId());
entity.setAgencyId(gridInfoCache.getPid());
entity.setGridPids(gridInfoCache.getPids());
@ -225,7 +224,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
wrapper.eq(StringUtils.isNotBlank(formDTO.getGridId()), IcPartymemberStyleEntity::getGridId, formDTO.getGridId());
wrapper.like(StringUtils.isNotBlank(formDTO.getName()), IcPartymemberStyleEntity::getName, formDTO.getName());
wrapper.like(StringUtils.isNotBlank(formDTO.getMainDeed()), IcPartymemberStyleEntity::getMainDeed, formDTO.getMainDeed());
wrapper.eq(StringUtils.isNotBlank(formDTO.getCategoryId()),IcPartymemberStyleEntity::getCategoryId,formDTO.getCategoryId());
wrapper.eq(StringUtils.isNotBlank(formDTO.getCategoryId()), IcPartymemberStyleEntity::getCategoryId, formDTO.getCategoryId());
wrapper.orderByDesc(IcPartymemberStyleEntity::getCreatedTime);
List<IcPartymemberStyleEntity> list = baseDao.selectList(wrapper);
PageInfo<IcPartymemberStyleEntity> pageInfo = new PageInfo<>(list);
@ -289,13 +288,13 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
//获取组织下网格信息
GridOptionFormDTO formDTO = new GridOptionFormDTO();
formDTO.setAgencyId(staffInfoCache.getAgencyId());
Result<List<CustomerGridDTO>> gridOptionResult = govOrgOpenFeignClient.getGridIListByAgency(staffInfoCache.getAgencyId());
Result<List<CustomerGridDTO>> gridOptionResult = govOrgOpenFeignClient.getGridIListByAgency(staffInfoCache.getAgencyId());
if (!gridOptionResult.success()) {
throw new EpmetException(gridOptionResult.getCode(), gridOptionResult.getMsg());
}
Map<String, String> gridMap = gridOptionResult.getData().stream().collect(Collectors.toMap(CustomerGridDTO::getGridName, CustomerGridDTO::getId));
//获取党员风采所有分类:key:分类名称;
Map<String,IcPartymemberStyleCategoryDictEntity> categoryDictMap=icPartymemberStyleCategoryDictService.getCategoryDictMap(tokenDto.getCustomerId());
Map<String, IcPartymemberStyleCategoryDictEntity> categoryDictMap = icPartymemberStyleCategoryDictService.getCategoryDictMap(tokenDto.getCustomerId());
//1.数据校验 只允许导入当前组织下的网格的数据
//网格名称不一样的数据舍弃或者分类名称不存在也舍弃
Iterator<IcPartymemberStyleImportExcel> iterator = result.iterator();
@ -346,7 +345,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
}
entity.setName(item.getName());
entity.setMainDeed(item.getMainDeed());
IcPartymemberStyleCategoryDictEntity dictEntity=categoryDictMap.get(item.getCategoryName());
IcPartymemberStyleCategoryDictEntity dictEntity = categoryDictMap.get(item.getCategoryName());
entity.setCategoryId(null == dictEntity ? StrConstant.EPMETY_STR : dictEntity.getId());
entity.setCategoryCode(null == dictEntity ? StrConstant.EPMETY_STR : dictEntity.getCategoryCode());
AtomicInteger i = new AtomicInteger();
@ -420,6 +419,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
}
return url;
}
/**
* @Author sun
* @Description 党员风采导入修改导入任务状态
@ -451,11 +451,21 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
*/
@Override
public PageData<IcPartymemberStyleDTO> showList(StyleShowListFormDTO formDTO) {
CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
String customerId = formDTO.getCustomerId();
CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(customerId, formDTO.getUserId());
if (null == staff || StringUtils.isBlank(staff.getAgencyId())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询当前工作人员缓存信息失败", "查询用户信息异常");
}
PageInfo<IcPartymemberStyleDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectShowList(staff.getAgencyId(), formDTO.getCustomerId()));
return showListByAgency(formDTO.getPageNo(), formDTO.getPageSize(), staff.getAgencyId(), customerId);
}
@Override
public PageData<IcPartymemberStyleDTO> showListByAgency(StyleShowListResiFormDTO formDto) {
return showListByAgency(formDto.getPageNo(), formDto.getPageSize(), formDto.getAgencyId(), formDto.getCustomerId());
}
private PageData<IcPartymemberStyleDTO> showListByAgency(int pageNo, int pageSize, String agencyId, String customerId) {
PageInfo<IcPartymemberStyleDTO> pageInfo = PageHelper.startPage(pageNo, pageSize).doSelectPageInfo(() -> baseDao.selectShowList(agencyId, customerId));
if (CollectionUtils.isNotEmpty(pageInfo.getList())) {
//赋值网格名称
for (IcPartymemberStyleDTO dto : pageInfo.getList()) {
@ -468,5 +478,4 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
}
return new PageData<>(pageInfo.getList(), pageInfo.getTotal());
}
}

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

@ -1,24 +1,57 @@
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;
/**
* pids
*/
private String pids;
/**
* 网格Id
*/
private String gridId;
/**
* 小区ID
*/
private String neighborHoodId;
/**
* 楼栋ID
*/
private String buildingId;
/**
* 房间ID
*/
private String houseId;
}

181
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseIcResiUserResultDTO.java

@ -0,0 +1,181 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
/**
* 房屋内居民结果
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
@Data
public class HouseIcResiUserResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户Id customer.id
*/
private String customerId;
/**
*
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 所属小区ID
*/
private String villageId;
/**
* 所属楼宇Id
*/
private String buildId;
/**
* 单元id
*/
private String unitId;
/**
* 所属家庭Id
*/
private String homeId;
/**
* 屋内的居民
*/
private List<HouseMemberResultDTO> houseMemberList;
/**
* 屋内的居民
*/
private LinkedHashMap<String,Object> houseMemberList2;
@Data
public static class HouseMemberResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String gender;
/**
* 手机号
*/
private String mobile;
/**
* 身份证号
*/
private String idCard;
/**
* 出生日期
*/
private String birthday;
/**
* 户籍所在地
*/
private String hjszd;
/**
* 与户主关系字典表
*/
private String yhzgx;
/**
* 是否党员
*/
private String isParty;
/**
* 是否租户
*/
private String isTenant;
/**
* 是否流动人口
*/
private String isFloating;
/**
* 工作单位
*/
private String gzdw;
/**
* 民族字典表
*/
private String mz;
/**
* 籍贯
*/
private String jg;
/**
* 婚姻状况字典表
*/
private String hyzk;
/**
* 文化程度字典表
*/
private String culture;
/**
* 宗教信仰
*/
private String faith;
/**
* 备注
*/
private String remarks;
}
}

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;}

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

@ -23,7 +23,7 @@ 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, url = "localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class)
public interface EpmetUserOpenFeignClient {
@ -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<HouseIcResiUserResultDTO>> 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<HouseIcResiUserResultDTO>> getHouseMemberList(RentTenantDataFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getHouseMemberList", formDTO);
}
}

23
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,21 +1001,6 @@ 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();
// }
/**
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民如果有多个返回最近一个
@ -1043,6 +1028,8 @@ public class IcResiUserController implements ResultDataResolver {
return new Result<SyncResiResDTO>().ok(icResiUserService.checkUser(tokenDto.getCustomerId(), formDto.getIdCard(), formDto.getAgencyId()));
}
@PostMapping("getHouseMemberList")
Result<List<HouseIcResiUserResultDTO>> getHouseMemberList(@RequestBody RentTenantDataFormDTO formDTO) {
return new Result().ok(icResiUserService.getHouseMemberList(formDTO));
}
}

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

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.EpidemicPreventionFormDTO;
import com.epmet.dto.form.RentTenantDataFormDTO;
import com.epmet.dto.form.ResiUserQueryValueDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.IcResiUserEntity;
@ -159,11 +160,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);
/**
@ -301,4 +302,11 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
IcResiUserEntity selectResiNoDelFlag(@Param("icResiUserId") String icResiUserId);
List<UserChartResultDTO> userChart(@Param("orgId") String orgId, @Param("orgType") String orgType);
/**
* desc:根据维度获取居民信息表的数据
* @param formDTO
* @return
*/
List<HouseIcResiUserResultDTO> getResiUser(RentTenantDataFormDTO formDTO);
}

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

@ -328,4 +328,10 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @return
*/
SyncResiResDTO checkUser(String customerId, String idCard, String agencyId);
/**
* desc:条件获取居民基础信息
* @param formDTO
* @return
*/
List<HouseIcResiUserResultDTO> getHouseMemberList(RentTenantDataFormDTO formDTO);
}

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

@ -210,10 +210,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);
@ -359,7 +356,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);
@ -1491,7 +1488,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcFormOptionsQueryFormDTO optionsQuery = new IcFormOptionsQueryFormDTO();
optionsQuery.setCustomerId(customerId);
optionsQuery.setFormCode(IcFormCodeEnum.RESI_BASE_INFO.getCode());
optionsQuery.setLabel("志愿者类别");
optionsQuery.setColumnName("VOLUNTEER_CATEGORY");
List<IcFormItemOptionsDTO> categorieDtos = getResultDataOrThrowsException(operCustomizeOpenFeignClient.listOptionsByItemConditions(optionsQuery),
ServiceConstant.OPER_CUSTOMIZE_SERVER,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
@ -1846,4 +1843,90 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Override
public List<HouseIcResiUserResultDTO> getHouseMemberList(RentTenantDataFormDTO formDTO) {
//如果是组织 且非顶级组织 则利用pids 查询 本级及下级
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;
}
if (!NumConstant.ZERO_STR.equals(agencyInfo.getPid())) {
String pids = agencyInfo.getPids().concat(StrConstant.COLON).concat(formDTO.getAgencyId());
formDTO.setPids(pids);
}
}
Page<HouseIcResiUserResultDTO> listPage = PageHelper
.startPage(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getIsPage())
.doSelectPage(()->baseDao.getResiUser(formDTO));
//Result<List<OptionResultDTO>> relationshipResult = epmetAdminOpenFeignClient.getRelationshipOption();
//Result<List<OptionResultDTO>> educationResult = epmetAdminOpenFeignClient.getEducationOption();
//Result<List<OptionResultDTO>> nationResult = epmetAdminOpenFeignClient.getNationOption();
List<String> dictTypeList = Arrays.asList(DictTypeEnum.EDUCATION.getCode(), DictTypeEnum.RELATIONSHIP.getCode(), DictTypeEnum.NATION.getCode());
Map<String,Map<String, String>> dictResult = new HashMap<>();
dictTypeList.forEach(dict->{
Result<Map<String, String>> mapResult = epmetAdminOpenFeignClient.dictMap(dict);
if (mapResult!=null && mapResult.success()){
dictResult.put(dict,mapResult.getData());
}
});
Map<String, String> hyzkMap = getOptionMap(formDTO.getCustomerId(),"HYZK");
listPage.getResult().forEach(e->{
e.getHouseMemberList().parallelStream().forEach(o->{
if (StringUtils.isNotBlank(o.getIsParty())){
o.setIsParty(NumConstant.ZERO_STR.equals(o.getIsParty())?StrConstant.NO:StrConstant.YES);
}
if (StringUtils.isNotBlank(o.getGender())){
o.setGender(GenderEnum.getName(o.getGender()));
}
if (StringUtils.isNotBlank(o.getIsTenant())){
o.setIsTenant(NumConstant.ZERO_STR.equals(o.getIsTenant())?StrConstant.NO:StrConstant.YES);
}
if (StringUtils.isNotBlank(o.getIsFloating())){
o.setIsFloating(NumConstant.ZERO_STR.equals(o.getIsFloating())?StrConstant.NO:StrConstant.YES);
}
Map<String, String> mzMap = dictResult.get(DictTypeEnum.NATION.getCode());
Map<String, String> whcdMap = dictResult.get(DictTypeEnum.EDUCATION.getCode());
Map<String, String> yhzgxMap = dictResult.get(DictTypeEnum.RELATIONSHIP.getCode());
if (StringUtils.isNotBlank(o.getMz())) {
o.setMz(mzMap.get(o.getMz()));
}
if (StringUtils.isNotBlank(o.getCulture())) {
o.setCulture(whcdMap.get(o.getCulture()));
}
if (StringUtils.isNotBlank(o.getYhzgx())) {
o.setYhzgx(yhzgxMap.get(o.getYhzgx()));
}
if (StringUtils.isNotBlank(o.getHyzk())) {
o.setHyzk(hyzkMap.get(o.getHyzk()));
}
});
});
return listPage.getResult();
}
/**
* desc:根据字段值获取 options
* @param customerId
* @param columnName
* @return
*/
private Map<String, String> getOptionMap(String customerId,String columnName) {
IcFormOptionsQueryFormDTO optionsForm = new IcFormOptionsQueryFormDTO();
optionsForm.setCustomerId(customerId);
optionsForm.setFormCode(IcFormCodeEnum.RESI_BASE_INFO.getCode());
optionsForm.setColumnName(columnName);
Result<List<IcFormItemOptionsDTO>> listResult = operCustomizeOpenFeignClient.listOptionsByItemConditions(optionsForm);
if (!listResult.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取item失败,"+listResult.getInternalMsg());
}
return listResult.getData().stream()
.collect(Collectors.toMap(IcFormItemOptionsDTO::getOptionValue, IcFormItemOptionsDTO::getOptionLabel, (o1, o2) -> o1));
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java

@ -69,7 +69,7 @@ public class VolunteerServiceImpl implements VolunteerService, ResultDataResolve
IcFormOptionsQueryFormDTO optionsForm = new IcFormOptionsQueryFormDTO();
optionsForm.setCustomerId(customerId);
optionsForm.setFormCode(IcFormCodeEnum.RESI_BASE_INFO.getCode());
optionsForm.setLabel("志愿者类别");
optionsForm.setColumnName("VOLUNTEER_CATEGORY");
String errorMsg = "【志愿者分布】查询志愿者图例失败";
List<IcFormItemOptionsDTO> options = getResultDataOrThrowsException(operCustomizeOpenFeignClient.listOptionsByItemConditions(optionsForm),

BIN
epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_import_template.xls

Binary file not shown.

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

@ -2,7 +2,67 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcResiUserDao">
<resultMap id="homeMemberList" type="com.epmet.dto.result.HouseIcResiUserResultDTO">
<result column="customer_id" property="customerId"/>
<result column="agency_id" property="agencyId"/>
<result column="grid_id" property="gridId"/>
<result column="village_id" property="villageId"/>
<result column="build_id" property="buildId"/>
<result column="unit_id" property="unitId"/>
<result column="home_id" property="homeId"/>
<collection property="houseMemberList" ofType="com.epmet.dto.result.HouseIcResiUserResultDTO$HouseMemberResultDTO">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="mobile" property="mobile"/>
<result column="gender" property="gender"/>
<result column="id_card" property="idCard"/>
<result column="birthday" property="birthday"/>
<result column="hjszd" property="hjszd"/>
<result column="yhzgx" property="yhzgx"/>
<result column="is_party" property="isParty"/>
<result column="is_tenant" property="isTenant"/>
<result column="is_floating" property="isFloating"/>
<result column="gzdw" property="gzdw"/>
<result column="mz" property="mz"/>
<result column="jg" property="jg"/>
<result column="hyzk" property="hyzk"/>
<result column="culture" property="culture"/>
<result column="faith" property="faith"/>
<result column="remarks" property="remarks"/>
</collection>
</resultMap>
<resultMap id="homeMemberList2" type="com.epmet.dto.result.HouseIcResiUserResultDTO">
<result column="customer_id" property="customerId"/>
<result column="agency_id" property="agencyId"/>
<result column="grid_id" property="gridId"/>
<result column="village_id" property="villageId"/>
<result column="build_id" property="buildId"/>
<result column="unit_id" property="unitId"/>
<result column="home_id" property="homeId"/>
<collection property="houseMemberList2" ofType="java.util.LinkedHashMap">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="mobile" property="mobile"/>
<result column="gender" property="gender"/>
<result column="id_card" property="idCard"/>
<result column="birthday" property="birthday"/>
<result column="hjszd" property="hjszd"/>
<result column="yhzgx" property="yhzgx"/>
<result column="is_party" property="isParty"/>
<result column="is_tenant" property="isTenant"/>
<result column="is_floating" property="isFloating"/>
<result column="gzdw" property="gzdw"/>
<result column="mz" property="mz"/>
<result column="jg" property="jg"/>
<result column="hyzk" property="hyzk"/>
<result column="culture" property="culture"/>
<result column="faith" property="faith"/>
<result column="remarks" property="remarks"/>
</collection>
</resultMap>
<insert id="add">
insert into ${tableName}
(
@ -363,19 +423,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 +433,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">
@ -923,5 +971,27 @@
</choose>
GROUP BY is_floating
</select>
<select id="getResiUser" resultMap="homeMemberList">
SELECT
*
FROM ic_resi_user
WHERE
CUSTOMER_ID = #{customerId}
<if test="pids != null and pids.trim() != ''">
and AGENCY_ID = #{agencyId} OR PIDS like CONCAT(#{pids}, '%')
</if>
<if test="gridId != null and gridId.trim() != ''">
and GRID_ID = #{gridId}
</if>
<if test="neighborHoodId != null and neighborHoodId.trim() != ''">
and VILLAGE_ID = #{neighborHoodId}
</if>
<if test="buildingId != null and buildingId.trim() != ''">
and BUILD_ID = #{neighborHoodId}
</if>
<if test="houseId != null and houseId.trim() != ''">
and HOME_ID = #{houseId}
</if>
</select>
</mapper>

Loading…
Cancel
Save