Browse Source

居民信息采集-bug修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
fdca6ed377
  1. 28
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelSelectionDto.java
  2. 36
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java
  3. 238
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/HousingInformationController.java
  4. 16
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PopulationInformationDao.java
  5. 28
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BasePopulationInformationExcel.java
  6. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BasePopulationInformationExportExcel.java
  7. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BaseResidentInformationExcel.java
  8. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BaseResidentInformationExportExcel.java
  9. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/FamilyInformationExcel.java
  10. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/HouseBusinessInfoExcel.java
  11. 16
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PopulationInformationService.java
  12. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HouseResidentServiceImpl.java
  13. 412
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java
  14. 52
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PopulationInformationServiceImpl.java
  15. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HouseBusinessInfoDao.xml
  16. 1
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HousingInformationDao.xml
  17. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PopulationInformationDao.xml

28
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelSelectionDto.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.commons.tools.utils;
import lombok.Data;
/**
* @author songyunpeng
* @Description excel导出模板的下拉列表实体
* @create 2020-09-03
*/
@Data
public class ExcelSelectionDto {
/**
* sheet页索引 0开始
*/
private Integer sheetIndex;
/**
* 区域中第一个单元格的列号 (下标0开始)
*/
private Integer firstCol;
/**
* 区域中最后一个单元格的列号
*/
private Integer lastCol;
/**
* 下拉数据
*/
private String[] excelSelections;
}

36
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java

@ -13,9 +13,12 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.web.multipart.MultipartFile;
@ -94,7 +97,7 @@ public class ExcelUtils {
* @param sheetNames sheet名字列表
*/
public static void exportExcelToTargetWithSheets(HttpServletResponse response, String fileName, List<String> sheetNames,
List<Class<?>> targetClassList,Collection<?>... sourceList) throws Exception {
List<Class<?>> targetClassList,List<ExcelSelectionDto> excelSelectionDtos,Collection<?>... sourceList) throws Exception {
if(sheetNames.size()!=targetClassList.size() && targetClassList.size()!=sourceList.length){
throw new RenException("参数传递出错");
}
@ -111,7 +114,7 @@ public class ExcelUtils {
deptDataMap.put("data", sourceList[i]);
sheetsList.add(deptDataMap);
}
exportExcelWithSheets(response,fileName,sheetsList);
exportExcelWithSheets(response,fileName,sheetsList,excelSelectionDtos);
}
@ -124,7 +127,7 @@ public class ExcelUtils {
* @param fileName 文件名
* @param sheetsList 多sheet组装
*/
public static void exportExcelWithSheets(HttpServletResponse response, String fileName, List<Map<String, Object>> sheetsList) throws IOException {
public static void exportExcelWithSheets(HttpServletResponse response, String fileName, List<Map<String, Object>> sheetsList,List<ExcelSelectionDto> excelSelectionDtos) throws IOException {
if(StringUtils.isBlank(fileName)){
//当前日期
@ -136,6 +139,12 @@ public class ExcelUtils {
} catch (Exception ex) {
workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF);
}
//插入下拉列表
if(excelSelectionDtos!=null && excelSelectionDtos.size()>0){
for (ExcelSelectionDto excelSelectionDto : excelSelectionDtos) {
selectList(workbook, excelSelectionDto.getSheetIndex(),excelSelectionDto.getFirstCol(), excelSelectionDto.getLastCol(), excelSelectionDto.getExcelSelections());
}
}
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
@ -164,5 +173,26 @@ public class ExcelUtils {
}
return hssfWorkbook;
}
/**
* firstRow 開始行號 根据此项目默认为2(下标0开始)
* lastRow 根据此项目默认为最大65535
* firstCol 区域中第一个单元格的列号 (下标0开始)
* lastCol 区域中最后一个单元格的列号
* strings 下拉内容
* */
public static void selectList(Workbook workbook,Integer sheetIndex,int firstCol,int lastCol,String[] strings ){
Sheet sheet = workbook.getSheetAt(sheetIndex);
// 生成下拉列表
// 只对(x,x)单元格有效
CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(1, 65535, firstCol, lastCol);
// 生成下拉框内容
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(strings);
HSSFDataValidation dataValidation = new HSSFDataValidation(cellRangeAddressList, dvConstraint);
// 对sheet页生效
sheet.addValidationData(dataValidation);
}
}

238
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/HousingInformationController.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.ExcelSelectionDto;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
@ -27,13 +28,14 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.BasePopulationInformationExportDto;
import com.elink.esua.epdc.dto.BaseResidentInformationExportDto;
import com.elink.esua.epdc.dto.HousingInformationDTO;
import com.elink.esua.epdc.constant.PopulationDictConstant;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.SysPopulationSimpleDictFormDTO;
import com.elink.esua.epdc.excel.BasePopulationInformationExcel;
import com.elink.esua.epdc.excel.BasePopulationInformationExportExcel;
import com.elink.esua.epdc.excel.BaseResidentInformationExcel;
import com.elink.esua.epdc.excel.BaseResidentInformationExportExcel;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.service.HousingInformationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -41,10 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
@ -61,6 +60,9 @@ public class HousingInformationController {
@Autowired
private HousingInformationService housingInformationService;
@Autowired
private AdminFeignClient adminFeignClient;
@GetMapping("page")
public Result<PageData<HousingInformationDTO>> page(@RequestParam Map<String, Object> params){
PageData<HousingInformationDTO> page = housingInformationService.listOfPage(params);
@ -99,21 +101,21 @@ public class HousingInformationController {
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
//查询房屋和人口信息
List<BasePopulationInformationExportDto> basePopulationInformationExcelList = housingInformationService.selectBasePopulationInformationExcelList(params);
List<Class<?>> classes = new ArrayList<>(2);
classes.add(BasePopulationInformationExportExcel.class);
classes.add(BaseResidentInformationExportExcel.class);
List<String> sheetNames = new ArrayList<>(2);
sheetNames.add("房屋信息和户主信息");
sheetNames.add("居民信息");
if(basePopulationInformationExcelList == null || basePopulationInformationExcelList.size()==0){
throw new RenException("数据为空");
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息导出",sheetNames,classes,new ArrayList<>(), new ArrayList<>(),new ArrayList<>());
}
//根据获取的户主ID查询居住人信息
Map<String,List<BasePopulationInformationExportDto>> baseMap = basePopulationInformationExcelList.stream().collect(Collectors.groupingBy(BasePopulationInformationExportDto::getId));
//获取所有的户主ID
Set<String> houseHeadIds = baseMap.keySet();
List<BaseResidentInformationExportDto> baseResidentInformationExportDtoList = housingInformationService.selectBaseResidentInformationExcelList(houseHeadIds);
List<Class<?>> classes = new ArrayList<>(2);
classes.add(BasePopulationInformationExportExcel.class);
classes.add(BaseResidentInformationExportExcel.class);
List<String> sheetNames = new ArrayList<>(2);
sheetNames.add("房屋信息和户主信息");
sheetNames.add("居民信息");
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息导出",sheetNames,classes, ConvertUtils.sourceToTarget(basePopulationInformationExcelList, BasePopulationInformationExportExcel.class),ConvertUtils.sourceToTarget(baseResidentInformationExportDtoList,BaseResidentInformationExportExcel.class));
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息导出",sheetNames,classes,new ArrayList<>(), ConvertUtils.sourceToTarget(basePopulationInformationExcelList, BasePopulationInformationExportExcel.class),ConvertUtils.sourceToTarget(baseResidentInformationExportDtoList,BaseResidentInformationExportExcel.class));
}
/**
@ -142,7 +144,7 @@ public class HousingInformationController {
List<BasePopulationInformationExcel> basePopulationInformationExcels = new ArrayList<>(1);
List<BaseResidentInformationExcel> baseResidentInformationExcels = new ArrayList<>(1);
BasePopulationInformationExcel basePopulationInformationExcel = new BasePopulationInformationExcel();
basePopulationInformationExcel.setHouseAddress("XX家园XX号楼XX单元XXX");
basePopulationInformationExcel.setHouseAddress("XX小区XX号楼XX单元");
basePopulationInformationExcel.setBuyingTime("2020-02-02");
basePopulationInformationExcel.setHouseArea(new BigDecimal("0"));
basePopulationInformationExcel.setPropertyOwner("");
@ -157,7 +159,6 @@ public class HousingInformationController {
basePopulationInformationExcel.setLegalRepresentative("");
basePopulationInformationExcel.setEnterprisePhone("");
basePopulationInformationExcel.setResidentsName("");
basePopulationInformationExcel.setResidentsSex("");
basePopulationInformationExcel.setResidentsNation("");
basePopulationInformationExcel.setEducationLevel("");
basePopulationInformationExcel.setPoliticsStatus("");
@ -183,13 +184,13 @@ public class HousingInformationController {
basePopulationInformationExcel.setMotorVehicleCategory("");
basePopulationInformationExcel.setDogStatus("");
BaseResidentInformationExcel baseResidentInformationExcel = new BaseResidentInformationExcel();
baseResidentInformationExcel.setResidentsIdentityNo("");
baseResidentInformationExcel.setHouseHeadRelation("");
baseResidentInformationExcel.setResidentsName("");
baseResidentInformationExcel.setResidentsSex("");
baseResidentInformationExcel.setResidentsNation("");
baseResidentInformationExcel.setCurrentEmployer("");
baseResidentInformationExcel.setCurrentAddress("");
baseResidentInformationExcel.setResidentsIdentityNo("XX");
baseResidentInformationExcel.setHouseHeadRelation("XX");
baseResidentInformationExcel.setResidentsName("XX");
baseResidentInformationExcel.setResidentsSex("");
baseResidentInformationExcel.setResidentsNation("");
baseResidentInformationExcel.setCurrentEmployer("XX");
baseResidentInformationExcel.setCurrentAddress("XX");
basePopulationInformationExcels.add(basePopulationInformationExcel);
baseResidentInformationExcels.add(baseResidentInformationExcel);
List<Class<?>> classes = new ArrayList<>(2);
@ -198,7 +199,194 @@ public class HousingInformationController {
List<String> sheetNames = new ArrayList<>(2);
sheetNames.add("房屋信息和户主信息");
sheetNames.add("居民信息");
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息录入模板",sheetNames,classes,basePopulationInformationExcels,baseResidentInformationExcels);
//设置待选项
List<ExcelSelectionDto> excelSelectionDtos = new ArrayList<>();
//获取字典信息
SysPopulationSimpleDictFormDTO sysPopulationSimpleDictFormDTO = new SysPopulationSimpleDictFormDTO();
List<String> dicTypes = new ArrayList<>();
Collections.addAll(dicTypes, PopulationDictConstant.ACCOUNT_TYPE, PopulationDictConstant.BODY_STATUS, PopulationDictConstant.EDUCATION_LEVEL
, PopulationDictConstant.EMPLOYMENT_STATUS, PopulationDictConstant.FAMILY_CATEGORY, PopulationDictConstant.GENDER, PopulationDictConstant.HELP_STATUS, PopulationDictConstant.MARITAL_STATUS
, PopulationDictConstant.MOTOR_VEHICLE_CATEGORY, PopulationDictConstant.POLITICS_STATUS, PopulationDictConstant.UNEMPLOYMENT_REASON);
sysPopulationSimpleDictFormDTO.setDicTypes(dicTypes);
Result<List<SysPopulationSimpleDictDTO>> listResult = adminFeignClient.listPopulationSimple(sysPopulationSimpleDictFormDTO);
if (listResult == null || !listResult.success()) {
throw new RenException("获取字典信息失败");
}
List<SysPopulationSimpleDictDTO> sysPopulationSimpleDictDTOS = listResult.getData();
ExcelSelectionDto houseUse = new ExcelSelectionDto();
houseUse.setSheetIndex(0);
houseUse.setFirstCol(7);
houseUse.setLastCol(7);
houseUse.setExcelSelections(new String[]{"自住","租赁","经营"});
ExcelSelectionDto houseHead = new ExcelSelectionDto();
houseHead.setSheetIndex(0);
houseHead.setFirstCol(16);
houseHead.setLastCol(16);
houseHead.setExcelSelections(new String[]{"男","女"});
ExcelSelectionDto educationLevel = new ExcelSelectionDto();
educationLevel.setSheetIndex(0);
educationLevel.setFirstCol(19);
educationLevel.setLastCol(19);
ExcelSelectionDto politicsStatus = new ExcelSelectionDto();
politicsStatus.setSheetIndex(0);
politicsStatus.setFirstCol(20);
politicsStatus.setLastCol(20);
ExcelSelectionDto bodyStatus = new ExcelSelectionDto();
bodyStatus.setSheetIndex(0);
bodyStatus.setFirstCol(25);
bodyStatus.setLastCol(25);
ExcelSelectionDto maritalStatus = new ExcelSelectionDto();
maritalStatus.setSheetIndex(0);
maritalStatus.setFirstCol(26);
maritalStatus.setLastCol(26);
ExcelSelectionDto accountType = new ExcelSelectionDto();
accountType.setSheetIndex(0);
accountType.setFirstCol(27);
accountType.setLastCol(27);
ExcelSelectionDto militaryService = new ExcelSelectionDto();
militaryService.setSheetIndex(0);
militaryService.setFirstCol(28);
militaryService.setLastCol(28);
militaryService.setExcelSelections(new String[]{"是","否"});
ExcelSelectionDto employedStatus = new ExcelSelectionDto();
employedStatus.setSheetIndex(0);
employedStatus.setFirstCol(30);
employedStatus.setLastCol(30);
ExcelSelectionDto unEmployedReason = new ExcelSelectionDto();
unEmployedReason.setSheetIndex(0);
unEmployedReason.setFirstCol(33);
unEmployedReason.setLastCol(33);
ExcelSelectionDto reEmployedPermit = new ExcelSelectionDto();
reEmployedPermit.setSheetIndex(0);
reEmployedPermit.setFirstCol(34);
reEmployedPermit.setLastCol(34);
reEmployedPermit.setExcelSelections(new String[]{"有","无"});
ExcelSelectionDto unEmployedRegister = new ExcelSelectionDto();
unEmployedRegister.setSheetIndex(0);
unEmployedRegister.setFirstCol(35);
unEmployedRegister.setLastCol(35);
unEmployedRegister.setExcelSelections(new String[]{"是","否"});
ExcelSelectionDto familyCategory = new ExcelSelectionDto();
familyCategory.setSheetIndex(0);
familyCategory.setFirstCol(37);
familyCategory.setLastCol(37);
ExcelSelectionDto helpStatus = new ExcelSelectionDto();
helpStatus.setSheetIndex(0);
helpStatus.setFirstCol(38);
helpStatus.setLastCol(38);
ExcelSelectionDto motorVehicleCategory = new ExcelSelectionDto();
motorVehicleCategory.setSheetIndex(0);
motorVehicleCategory.setFirstCol(40);
motorVehicleCategory.setLastCol(40);
ExcelSelectionDto dogStatus = new ExcelSelectionDto();
dogStatus.setSheetIndex(0);
dogStatus.setFirstCol(41);
dogStatus.setLastCol(41);
dogStatus.setExcelSelections(new String[]{"有","无"});
ExcelSelectionDto houseHeadRelation = new ExcelSelectionDto();
houseHeadRelation.setSheetIndex(1);
houseHeadRelation.setFirstCol(1);
houseHeadRelation.setLastCol(1);
houseHeadRelation.setExcelSelections(new String[]{"子女","夫妻","父母","其他"});
ExcelSelectionDto residentSex = new ExcelSelectionDto();
residentSex.setSheetIndex(1);
residentSex.setFirstCol(3);
residentSex.setLastCol(3);
residentSex.setExcelSelections(new String[]{"男","女"});
//遍历赋值选项
for (SysPopulationSimpleDictDTO sysPopulationSimpleDictDTO : sysPopulationSimpleDictDTOS) {
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.EDUCATION_LEVEL)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
educationLevel.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.POLITICS_STATUS)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
politicsStatus.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.BODY_STATUS)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
bodyStatus.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.MARITAL_STATUS)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
maritalStatus.setExcelSelections(data);
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.ACCOUNT_TYPE)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
accountType.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.EMPLOYMENT_STATUS)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
employedStatus.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.UNEMPLOYMENT_REASON)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
unEmployedReason.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.FAMILY_CATEGORY)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
familyCategory.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.HELP_STATUS)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
helpStatus.setExcelSelections(data);
continue;
}
if(sysPopulationSimpleDictDTO.getDicType().equals(PopulationDictConstant.MOTOR_VEHICLE_CATEGORY)){
List<SysSimpleDictDTO> sysSimpleDicts = sysPopulationSimpleDictDTO.getSysSimpleDicts();
String[] data = new String[sysSimpleDicts.size()];
for (int i = 0;i<sysSimpleDicts.size();i++) {
data[i] = sysSimpleDicts.get(i).getDictName();
}
motorVehicleCategory.setExcelSelections(data);
continue;
}
}
Collections.addAll(excelSelectionDtos,houseUse,houseHead,educationLevel,politicsStatus,bodyStatus,maritalStatus,accountType,employedStatus,unEmployedReason,familyCategory,helpStatus,motorVehicleCategory,dogStatus,unEmployedRegister,reEmployedPermit,militaryService,houseHeadRelation,residentSex);
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息录入模板",sheetNames,classes,excelSelectionDtos,basePopulationInformationExcels,baseResidentInformationExcels);
}
}

16
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PopulationInformationDao.java

@ -84,4 +84,20 @@ public interface PopulationInformationDao extends BaseDao<PopulationInformationE
* @return com.elink.esua.epdc.dto.PopulationInfoOverviewDTO
**/
PopulationInfoOverviewDTO getPopulationInfoOverview();
/**
* @Description 清空入党时间
* @Author songyunpeng
* @Date 2020/9/4
* @Param [id]
* @return void
**/
void setJionTimeToNull(@Param("id") String id);
/**
* @Description 清空失业登记时间
* @Author songyunpeng
* @Date 2020/9/4
* @Param [id]
* @return void
**/
void setUnemploymentRegisterTimeToNull(@Param("id")String id);
}

28
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BasePopulationInformationExcel.java

@ -44,10 +44,10 @@ public class BasePopulationInformationExcel {
@Excel(name = "产权人姓名")
private String propertyOwner;
@Excel(name = "产权人身份证号")
@Excel(name = "产权人身份证号",width = 20)
private String propertyOwnerIdentityNo;
@Excel(name = "产权人联系电话")
@Excel(name = "产权人联系电话",width = 20)
private String propertyOwnerMobile;
@Excel(name = "产权证")
@ -59,31 +59,29 @@ public class BasePopulationInformationExcel {
@Excel(name = "承租人姓名")
private String tenantName;
@Excel(name = "承租人电话")
@Excel(name = "承租人电话",width = 20)
private String tenantPhone;
@Excel(name = "承租人身份证号")
@Excel(name = "承租人身份证号",width = 20)
private String tenantIdentityNo;
@Excel(name = "企业名称")
@Excel(name = "企业名称",width = 20)
private String enterpriseName;
@Excel(name = "社会统一代码")
@Excel(name = "社会统一代码",width = 20)
private String socialUniformCode;
@Excel(name = "法人代表")
private String legalRepresentative;
@Excel(name = "电话")
@Excel(name = "电话",width = 20)
private String enterprisePhone;
@Excel(name = "户主姓名")
private String residentsName;
@Excel(name = "性别")
private String residentsSex;
@Excel(name = "出生年月")
private Date residentsBirthday;
@Excel(name = "民族")
@ -98,13 +96,13 @@ public class BasePopulationInformationExcel {
@Excel(name = "入党时间")
private String joinTime;
@Excel(name = "组织关系所在地")
@Excel(name = "组织关系所在地",width = 20)
private String organizationalRelationshipLocation;
@Excel(name = "身份证号码")
@Excel(name = "身份证号码",width = 20)
private String residentsIdentityNo;
@Excel(name = "户主联系电话")
@Excel(name = "户主联系电话",width = 20)
private String residentsPhone;
@Excel(name = "身体状况")
@ -119,7 +117,7 @@ public class BasePopulationInformationExcel {
@Excel(name = "服兵役",replace = {"否_0","是_1"})
private String militaryService;
@Excel(name = "户籍地")
@Excel(name = "户籍地",width = 20)
private String householdRegistrationPlace;
@Excel(name = "就业情况")
@ -128,10 +126,10 @@ public class BasePopulationInformationExcel {
@Excel(name = "现工作单位")
private String currentEmployer;
@Excel(name = "现单位地址")
@Excel(name = "现单位地址",width = 20)
private String currentEmployerAddress;
@Excel(name = "失业原因")
@Excel(name = "失业原因",width = 20)
private String unemploymentReason;
@Excel(name = "再就业优惠证",replace = {"无_0","有_1"})

4
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BasePopulationInformationExportExcel.java

@ -91,7 +91,7 @@ public class BasePopulationInformationExportExcel {
@Excel(name = "民族")
private String residentsNation;
@Excel(name = "文化程度")
@Excel(name = "文化程度",replace = {"博士_0","硕士_1","本科_2","大专_3","中专和中技_4","技工学校_5","高中_6","初中_7","小学_8","文盲与半文盲_9"})
private String educationLevel;
@Excel(name = "政治面貌",replace = {"群众_0","党员_1"})
@ -145,7 +145,7 @@ public class BasePopulationInformationExportExcel {
@Excel(name = "失业登记时间")
private String unemploymentRegisterTime;
@Excel(name = "家庭类别",replace = {"普通家庭_0","军烈_2","优抚_3","困难家庭_6"})
@Excel(name = "家庭类别",replace = {"普通家庭_0","军烈家庭_1","优抚家庭_2","困难家庭_3"})
private String familyCategory;
@Excel(name = "救助情况",replace = {"低保_0","大病_1","廉租_2","教育_3","临时_4","其他_5"})

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BaseResidentInformationExcel.java

@ -44,7 +44,7 @@ public class BaseResidentInformationExcel {
@Excel(name = "民族")
private String residentsNation;
@Excel(name = "现工作单位")
@Excel(name = "现工作单位或学校")
private String currentEmployer;
@Excel(name = "现居住地")

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/BaseResidentInformationExportExcel.java

@ -47,7 +47,7 @@ public class BaseResidentInformationExportExcel {
@Excel(name = "民族")
private String residentsNation;
@Excel(name = "现工作单位")
@Excel(name = "现工作单位或学校")
private String currentEmployer;
@Excel(name = "现居住地")

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/FamilyInformationExcel.java

@ -29,7 +29,7 @@ import lombok.Data;
@Data
public class FamilyInformationExcel {
@Excel(name = "所属辖区")
@Excel(name = "辖区范围")
private String gridNames;
@Excel(name = "户主姓名")

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/excel/HouseBusinessInfoExcel.java

@ -42,7 +42,7 @@ public class HouseBusinessInfoExcel {
@Excel(name = "企业名称")
private String enterpriseName;
@Excel(name = "社会统一代码")
@Excel(name = "企业注册号")
private String socialUniformCode;

16
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PopulationInformationService.java

@ -143,4 +143,20 @@ public interface PopulationInformationService extends BaseService<PopulationInfo
* @return com.elink.esua.epdc.dto.PopulationInfoOverviewDTO
**/
PopulationInfoOverviewDTO getPopulationInfoOverview();
/**
* @Description 清空入党时间
* @Author songyunpeng
* @Date 2020/9/4
* @Param [id]
* @return void
**/
void setJionTimeToNull(String id);
/**
* @Description 清空失业登记时间
* @Author songyunpeng
* @Date 2020/9/4
* @Param [id]
* @return void
**/
void setUnemploymentRegisterTimeToNull(String id);
}

15
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HouseResidentServiceImpl.java

@ -41,10 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 房屋人员关系表
@ -337,6 +334,9 @@ public class HouseResidentServiceImpl extends BaseServiceImpl<HouseResidentDao,
public PageData<PopulationInformationDTO> listPage(Map<String, Object> params) {
IPage<PopulationInformationDTO> page = getPage(params);
PopulationInformationDTO populationInformationDTO = populationInformationService.getHouseHeadInfo(params.get("houseId") + "");
if(populationInformationDTO==null){
return new PageData<>(new ArrayList<>(), page.getTotal());
}
params.put("houseHeadId",populationInformationDTO.getId());
List<PopulationInformationDTO> list = baseDao.selectListOfPopulationInformationDTO(params);
return new PageData<>(list, page.getTotal());
@ -344,12 +344,15 @@ public class HouseResidentServiceImpl extends BaseServiceImpl<HouseResidentDao,
@Override
public Result saveWithoutIdentifyNo(HouseResidentDTO dto) {
//先取房屋的户主ID
PopulationInformationDTO houseHeadInfo = populationInformationService.getHouseHeadInfo(dto.getHouseId());
if(houseHeadInfo==null){
return new Result().error("请先填写户主信息!");
}
PopulationInformationEntity populationInformationEntity = ConvertUtils.sourceToTarget(dto,PopulationInformationEntity.class);
populationInformationService.insert(populationInformationEntity);
HouseResidentEntity houseResidentEntity = new HouseResidentEntity();
//居住人与户主关联,与房屋不关联
//取房屋的户主ID
PopulationInformationDTO houseHeadInfo = populationInformationService.getHouseHeadInfo(dto.getHouseId());
houseResidentEntity.setResidentId(populationInformationEntity.getId());
houseResidentEntity.setHouseHeadRelation(dto.getHouseHeadRelation());
houseResidentEntity.setHouseHeadId(houseHeadInfo.getId());

412
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java

@ -132,11 +132,18 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
@Override
@Transactional(rollbackFor = Exception.class)
public Result save(HousingInformationDTO dto) {
if (StringUtils.isNotBlank(dto.getPropertyOwnerIdentityNo())) {
//判断产权人身份证是否合法
String result = IdentityNoUtils.IdentityNoVerification(dto.getPropertyOwnerIdentityNo());
if (result != null) {
return new Result().error("产权人身份证不合法:"+result);
}
}
if (HouseUseConstant.RENT.equals(dto.getHouseUse())) {
//判断身份证是否合法
String result = IdentityNoUtils.IdentityNoVerification(dto.getTenantIdentityNo());
if (result != null) {
return new Result().error(result);
return new Result().error("承租人人身份证不合法:"+result);
}
}
HousingInformationEntity entity = ConvertUtils.sourceToTarget(dto, HousingInformationEntity.class);
@ -152,11 +159,18 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
@Override
@Transactional(rollbackFor = Exception.class)
public Result update(HousingInformationDTO dto) {
if (StringUtils.isNotBlank(dto.getPropertyOwnerIdentityNo())) {
//判断产权人身份证是否合法
String result = IdentityNoUtils.IdentityNoVerification(dto.getPropertyOwnerIdentityNo());
if (result != null) {
return new Result().error("产权人身份证不合法:"+result);
}
}
if (HouseUseConstant.RENT.equals(dto.getHouseUse())) {
//判断身份证是否合法
String result = IdentityNoUtils.IdentityNoVerification(dto.getTenantIdentityNo());
if (result != null) {
return new Result().error(result);
return new Result().error("承租人人身份证不合法:"+result);
}
}
HousingInformationEntity entity = ConvertUtils.sourceToTarget(dto, HousingInformationEntity.class);
@ -320,9 +334,9 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
if (epdcPartyErrorResultDTOS.size() > 0) {
return new Result().ok(epdcPartyErrorResultDTOS);
}
savePopulationList(basePopulationInformationExcels, parentAndAllDeptDTO);
if(basePopulationInformationExcels.size()>0){
savePopulationList(basePopulationInformationExcels, parentAndAllDeptDTO);
}
} else if (numSheet == 1) {//检验和新增居住人信息
List<BaseResidentInformationExcel> baseResidentInformationExcels = ExcelImportUtil.importExcel(f, BaseResidentInformationExcel.class, importParams);
// 校验数据
@ -330,8 +344,9 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
if (epdcPartyErrorResultDTOS.size() > 0) {
return new Result().ok(epdcPartyErrorResultDTOS);
}
saveResidentList(baseResidentInformationExcels);
if(baseResidentInformationExcels.size()>0){
saveResidentList(baseResidentInformationExcels);
}
}
}
} catch (Exception e1) {
@ -359,6 +374,12 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
**/
private void saveResidentList(List<BaseResidentInformationExcel> baseResidentInformationExcels) {
for (BaseResidentInformationExcel baseResidentInformationExcel : baseResidentInformationExcels) {
//查找户主ID
PopulationInformationEntity infoByIdentityNo = populationInformationService.getInfoByIdentityNo(baseResidentInformationExcel.getResidentsIdentityNo());
if (infoByIdentityNo == null) {
//查找不到户主则跳过此人
continue;
}
//插入居民信息
PopulationInformationEntity populationInformationEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, PopulationInformationEntity.class);
populationInformationEntity.setResidentsIdentityNo(null);
@ -366,10 +387,9 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
//插入房屋人员关联关系表
HouseResidentEntity houseResidentEntity = ConvertUtils.sourceToTarget(baseResidentInformationExcel, HouseResidentEntity.class);
houseResidentEntity.setResidentId(populationInformationEntity.getId());
//查找户主ID
PopulationInformationEntity infoByIdentityNo = populationInformationService.getInfoByIdentityNo(baseResidentInformationExcel.getResidentsIdentityNo());
houseResidentEntity.setHouseHeadId(infoByIdentityNo.getId());
houseResidentEntity.setIsHouseHead("0");
houseResidentEntity.setHouseHeadRelation(baseResidentInformationExcel.getHouseHeadRelation());
houseResidentDao.insert(houseResidentEntity);
}
@ -385,10 +405,10 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
**/
private void savePopulationList(List<BasePopulationInformationExcel> basePopulationInformationExcels, ParentAndAllDeptDTO parentAndAllDeptDTO) {
//插入房屋信息
List<HousingInformationEntity> housingInformationEntityList = new ArrayList<>();
List<HousingInformationEntity> housingInformationEntityList = new ArrayList<>();
for (BasePopulationInformationExcel basePopulationInformationExcel : basePopulationInformationExcels) {
HousingInformationEntity housingInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HousingInformationEntity.class);
HousingInformationEntity housingInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel, HousingInformationEntity.class);
housingInformationEntity.setGridId(parentAndAllDeptDTO.getGridId());
housingInformationEntity.setParentDeptIds(parentAndAllDeptDTO.getParentDeptIds());
housingInformationEntity.setParentDeptNames(parentAndAllDeptDTO.getParentDeptNames());
@ -407,13 +427,15 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
List<PopulationInformationEntity> insertPopulationInfo = new ArrayList<>();
//房屋户主信息 -- 户主更新
List<HouseResidentEntity> houseResidentEntityList = new ArrayList<>();
//房屋户主信息 -- 户主新增
List<HouseResidentEntity> insetHouseResidentEntityList = new ArrayList<>();
a:for (HousingInformationEntity housingInformationEntity : housingInformationEntityList) {
//身份证校验
List<String> identifyNoValidation = new ArrayList<>();
//存储 key:身份证 value 房子ID 身份证是可重复的
List<Map<String, String>> HouseResidentInfos = new ArrayList<>();
a:
for (HousingInformationEntity housingInformationEntity : housingInformationEntityList) {
for (BasePopulationInformationExcel basePopulationInformationExcel : basePopulationInformationExcels) {
//以产权证为唯一标识
if(housingInformationEntity.getPropertyOwnerCard().equals(basePopulationInformationExcel.getPropertyOwnerCard())){
if (housingInformationEntity.getPropertyOwnerCard().equals(basePopulationInformationExcel.getPropertyOwnerCard())) {
if (HouseUseConstant.RENT.equals(housingInformationEntity.getHouseUse())) {
//房屋租赁信息
HouseRentInfoEntity houseRentInfoEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel, HouseRentInfoEntity.class);
@ -431,6 +453,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
if (oldPopulationInformationEntity != null) {
//身份证在列表已存在,则更新户主信息
populationInformationEntity.setId(oldPopulationInformationEntity.getId());
//先检验下户主的一些信息
validateHouseHeadInfo(populationInformationEntity, basePopulationInformationExcel);
updatePopulationInfo.add(populationInformationEntity);
//插入房屋人员关联关系表
HouseResidentEntity houseResidentEntity = new HouseResidentEntity();
@ -439,12 +463,20 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
houseResidentEntity.setIsHouseHead("1");
houseResidentEntityList.add(houseResidentEntity);
} else {
insertPopulationInfo.add(populationInformationEntity);
//插入房屋人员关联关系表 - 先不插入人的ID
HouseResidentEntity houseResidentEntity = new HouseResidentEntity();
houseResidentEntity.setHouseId(housingInformationEntity.getId());
houseResidentEntity.setIsHouseHead("1");
insetHouseResidentEntityList.add(houseResidentEntity);
//先检验下户主的一些信息
validateHouseHeadInfo(populationInformationEntity, basePopulationInformationExcel);
//将新增的人员的身份证存到List,防止excel中重复的身份证增加不同的户主信息
if (!identifyNoValidation.contains(populationInformationEntity.getResidentsIdentityNo())) {
//如果不包含,才新增进去。也就是说如果重复的身份证,只取第一条信息作为户主信息
insertPopulationInfo.add(populationInformationEntity);
}
identifyNoValidation.add(populationInformationEntity.getResidentsIdentityNo());
//方便下面新增房屋人员关系表,此时存储所有的户主身份证+房子ID
Map<String, String> houseResidentInfo = new HashMap<>();
houseResidentInfo.put(populationInformationEntity.getResidentsIdentityNo(), housingInformationEntity.getId());
HouseResidentInfos.add(houseResidentInfo);
}
continue a;
}
@ -465,14 +497,85 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
//插入人口信息
if (insertPopulationInfo.size() > 0) {
populationInformationService.insertBatch(insertPopulationInfo);
//遍历存储的身份证+房子ID对应信息,组装房屋人员关系
for (Map<String, String> houseResidentInfo : HouseResidentInfos) {
Set<Map.Entry<String, String>> set = houseResidentInfo.entrySet();
for (Map.Entry<String, String> entry : set) {
String identifyNo = entry.getKey();
String houseId = entry.getValue();
//根据身份证取户主ID
for (PopulationInformationEntity populationInformationEntity : insertPopulationInfo) {
if (populationInformationEntity.getResidentsIdentityNo().equals(identifyNo)) {
HouseResidentEntity houseResidentEntity = new HouseResidentEntity();
houseResidentEntity.setHouseId(houseId);
houseResidentEntity.setResidentId(populationInformationEntity.getId());
houseResidentEntity.setIsHouseHead("1");
houseResidentEntityList.add(houseResidentEntity);
break;
}
}
}
}
}
//插入房屋人员关系
if (houseResidentEntityList.size() > 0) {
houseResidentService.insertBatch(houseResidentEntityList);
}
}
/**
* @return void
* @Description 校验excel新增时户主的一些信息
* @Author songyunpeng
* @Date 2020/9/4
* @Param [populationInformationEntity]
**/
private void validateHouseHeadInfo(PopulationInformationEntity populationInformationEntity, BasePopulationInformationExcel basePopulationInformationExcel) {
//赋值失业登记时间
if (StringUtils.isNotBlank(basePopulationInformationExcel.getUnemploymentRegisterTime())) {
populationInformationEntity.setUnemploymentRegisterTime(DateUtil.parse(basePopulationInformationExcel.getUnemploymentRegisterTime()));
}
for (int i = 0; i<insertPopulationInfo.size();i++) {
insetHouseResidentEntityList.get(i).setResidentId(insertPopulationInfo.get(i).getId());
//赋值入党时间
if (StringUtils.isNotBlank(basePopulationInformationExcel.getJoinTime())) {
populationInformationEntity.setJoinTime(DateUtil.parse(basePopulationInformationExcel.getJoinTime()));
}
insetHouseResidentEntityList.addAll(houseResidentEntityList);
//插入房屋人员关系表
if(insetHouseResidentEntityList.size()>0){
houseResidentService.insertBatch(insetHouseResidentEntityList);
//如果状态为群众。清空excel中多余的入党时间和组织关系所在地
if ("0".equals(basePopulationInformationExcel.getPoliticsStatus())) {
if(StringUtils.isNotBlank(populationInformationEntity.getId())){
//ID不为空为更新,此时手动置空入党时间
populationInformationService.setJionTimeToNull(populationInformationEntity.getId());
}
populationInformationEntity.setJoinTime(null);
populationInformationEntity.setOrganizationalRelationshipLocation("");
}
if ("0".equals(basePopulationInformationExcel.getEmploymentStatus())) {
//如果选在岗,则清空失业原因,再就业优惠政,失业登记和失业登记时间
populationInformationEntity.setUnemploymentReason("");
populationInformationEntity.setReemploymentPermit("");
populationInformationEntity.setUnemploymentRegister("");
if(StringUtils.isNotBlank(populationInformationEntity.getId())){
//ID不为空为更新,此时手动置空失业登记时间时间
populationInformationService.setUnemploymentRegisterTimeToNull(populationInformationEntity.getId());
}
populationInformationEntity.setUnemploymentRegisterTime(null);
} else if ("1".equals(basePopulationInformationExcel.getEmploymentStatus())) {
//如果选择失业,也清空 工作单位 和工作单位地址
populationInformationEntity.setCurrentEmployer("");
populationInformationEntity.setCurrentEmployerAddress("");
//如果失业且失业登记为否,清空失业登记时间
if ("0".equals(populationInformationEntity.getUnemploymentRegister())) {
if(StringUtils.isNotBlank(populationInformationEntity.getId())){
//ID不为空为更新,此时手动置空失业登记时间时间
populationInformationService.setUnemploymentRegisterTimeToNull(populationInformationEntity.getId());
}
populationInformationEntity.setUnemploymentRegisterTime(null);
}
}
if(basePopulationInformationExcel.getMotorVehicleNum()==0){
//如果机动车数量为0 清空机动车类型
populationInformationEntity.setMotorVehicleCategory("");
}
}
@ -489,35 +592,30 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
EpdcPopulationErrorResultDTO errorLineInfoDto;
for (int i = 0; i < basePopulationInformationExcels.size(); i++) {
BaseResidentInformationExcel baseResidentInformationExcel = basePopulationInformationExcels.get(i);
String residentsIdentityNo = baseResidentInformationExcel.getResidentsIdentityNo();
String houseHeadRelation = baseResidentInformationExcel.getHouseHeadRelation();
String residentsName = baseResidentInformationExcel.getResidentsName();
String residentsSex = baseResidentInformationExcel.getResidentsSex();
String residentsNation = baseResidentInformationExcel.getResidentsNation();
String currentEmployer = baseResidentInformationExcel.getCurrentEmployer();
String currentAddress = baseResidentInformationExcel.getCurrentAddress();
String residentsIdentityNo = baseResidentInformationExcel.getResidentsIdentityNo()==null?null:baseResidentInformationExcel.getResidentsIdentityNo().trim();
String houseHeadRelation = baseResidentInformationExcel.getHouseHeadRelation()==null?null:baseResidentInformationExcel.getHouseHeadRelation().trim();
String residentsName = baseResidentInformationExcel.getResidentsName()==null?null:baseResidentInformationExcel.getResidentsName().trim();
String residentsSex = baseResidentInformationExcel.getResidentsSex()==null?null:baseResidentInformationExcel.getResidentsSex().trim();
String residentsNation = baseResidentInformationExcel.getResidentsNation()==null?null:baseResidentInformationExcel.getResidentsNation().trim();
String currentEmployer = baseResidentInformationExcel.getCurrentEmployer()==null?null:baseResidentInformationExcel.getCurrentEmployer().trim();
String currentAddress = baseResidentInformationExcel.getCurrentAddress()==null?null:baseResidentInformationExcel.getCurrentAddress().trim();
if (StringUtils.isBlank(residentsIdentityNo)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("户主身份证号为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}/*else if(StringUtils.isNotBlank((residentsIdentityNo))){
PopulationInformationEntity infoByIdentityNo = populationInformationService.getInfoByIdentityNo(residentsIdentityNo);
if(infoByIdentityNo==null){
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("该户主不存在");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}
}*/
}else if(StringUtils.isNotBlank((residentsIdentityNo))){
baseResidentInformationExcel.setResidentsIdentityNo(residentsIdentityNo);
}
if (StringUtils.isBlank(houseHeadRelation)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("与户主关系为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((houseHeadRelation))){
baseResidentInformationExcel.setHouseHeadRelation(houseHeadRelation);
}
if (StringUtils.isNotBlank(houseHeadRelation) && !"0".equals(houseHeadRelation) && !"1".equals(houseHeadRelation) && !"2".equals(houseHeadRelation) && !"3".equals(houseHeadRelation)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -532,6 +630,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("姓名为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsName))){
baseResidentInformationExcel.setResidentsName(residentsName);
}
if (StringUtils.isBlank(residentsSex)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -539,6 +639,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("性别为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsSex))){
baseResidentInformationExcel.setResidentsSex(residentsSex);
}
if (StringUtils.isNotBlank(residentsSex) && !"0".equals(residentsSex) && !"1".equals(residentsSex)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -553,6 +655,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("民族为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsNation))){
baseResidentInformationExcel.setResidentsNation(residentsNation);
}
if (StringUtils.isBlank(currentEmployer)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -560,6 +664,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("工作单位或学校地址为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((currentEmployer))){
baseResidentInformationExcel.setCurrentEmployer(currentEmployer);
}
if (StringUtils.isBlank(currentAddress)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -567,6 +673,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("现居住地址为空");
errorLineInfoDto.setSheetName("居住人信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((currentAddress))){
baseResidentInformationExcel.setCurrentAddress(currentAddress);
}
}
@ -586,55 +694,57 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
// 不匹配信息
List<EpdcPopulationErrorResultDTO> errorLineInfoList = new ArrayList<>();
EpdcPopulationErrorResultDTO errorLineInfoDto;
Map<String,String> isPropertyOwnerCard = new ConcurrentHashMap<>();
Map<String, String> isPropertyOwnerCard = new ConcurrentHashMap<>();
for (int i = 0; i < basePopulationInformationExcels.size(); i++) {
BasePopulationInformationExcel basePopulationInformationExcel = basePopulationInformationExcels.get(i);
String houseAddress = basePopulationInformationExcel.getHouseAddress();
String buyingTime = basePopulationInformationExcel.getBuyingTime();
String houseAddress = basePopulationInformationExcel.getHouseAddress()==null?null:basePopulationInformationExcel.getHouseAddress().trim();
String buyingTime = basePopulationInformationExcel.getBuyingTime()==null?null:basePopulationInformationExcel.getBuyingTime().trim();
BigDecimal houseArea = basePopulationInformationExcel.getHouseArea();
String propertyOwner = basePopulationInformationExcel.getPropertyOwner();
String propertyOwnerIdentityNo = basePopulationInformationExcel.getPropertyOwnerIdentityNo();
String propertyOwnerMobile = basePopulationInformationExcel.getPropertyOwnerMobile();
String propertyOwnerCard = basePopulationInformationExcel.getPropertyOwnerCard();
String houseUse = basePopulationInformationExcel.getHouseUse();
String tenantName = basePopulationInformationExcel.getTenantName();
String tenantIdentityNo = basePopulationInformationExcel.getTenantIdentityNo();
String tenantPhone = basePopulationInformationExcel.getTenantPhone();
String enterpriseName = basePopulationInformationExcel.getEnterpriseName();
String legalRepresentative = basePopulationInformationExcel.getLegalRepresentative();
String enterprisePhone = basePopulationInformationExcel.getEnterprisePhone();
String socialUniformCode = basePopulationInformationExcel.getSocialUniformCode();
String residentsName = basePopulationInformationExcel.getResidentsName();
String residentsNation = basePopulationInformationExcel.getResidentsNation();
String educationLevel = basePopulationInformationExcel.getEducationLevel();
String politicsStatus = basePopulationInformationExcel.getPoliticsStatus();
String joinTime = basePopulationInformationExcel.getJoinTime();
String organizationalRelationshipLocation = basePopulationInformationExcel.getOrganizationalRelationshipLocation();
String residentsIdentityNo = basePopulationInformationExcel.getResidentsIdentityNo();
String residentsPhone = basePopulationInformationExcel.getResidentsPhone();
String bodyStatus = basePopulationInformationExcel.getBodyStatus();
String maritalStatus = basePopulationInformationExcel.getMaritalStatus();
String accountType = basePopulationInformationExcel.getAccountType();
String militaryService = basePopulationInformationExcel.getMilitaryService();
String householdRegistrationPlace = basePopulationInformationExcel.getHouseholdRegistrationPlace();
String employmentStatus = basePopulationInformationExcel.getEmploymentStatus();
String currentEmployer = basePopulationInformationExcel.getCurrentEmployer();
String currentEmployerAddress = basePopulationInformationExcel.getCurrentEmployerAddress();
String unemploymentReason = basePopulationInformationExcel.getUnemploymentReason();
String reemploymentPermit = basePopulationInformationExcel.getReemploymentPermit();
String unemploymentRegister = basePopulationInformationExcel.getUnemploymentRegister();
String unemploymentRegisterTime = basePopulationInformationExcel.getUnemploymentRegisterTime();
String familyCategory = basePopulationInformationExcel.getFamilyCategory();
String helpStatus = basePopulationInformationExcel.getHelpStatus();
String propertyOwner = basePopulationInformationExcel.getPropertyOwner()==null?null:basePopulationInformationExcel.getPropertyOwner().trim();
String propertyOwnerIdentityNo = basePopulationInformationExcel.getPropertyOwnerIdentityNo()==null?null:basePopulationInformationExcel.getPropertyOwnerIdentityNo().trim();
String propertyOwnerMobile = basePopulationInformationExcel.getPropertyOwnerMobile()==null?null:basePopulationInformationExcel.getPropertyOwnerMobile().trim();
String propertyOwnerCard = basePopulationInformationExcel.getPropertyOwnerCard()==null?null:basePopulationInformationExcel.getPropertyOwnerCard().trim();
String houseUse = basePopulationInformationExcel.getHouseUse()==null?null:basePopulationInformationExcel.getHouseUse().trim();
String tenantName = basePopulationInformationExcel.getTenantName()==null?null:basePopulationInformationExcel.getTenantName().trim();
String tenantIdentityNo = basePopulationInformationExcel.getTenantIdentityNo()==null?null:basePopulationInformationExcel.getTenantIdentityNo().trim();
String tenantPhone = basePopulationInformationExcel.getTenantPhone()==null?null:basePopulationInformationExcel.getTenantPhone().trim();
String enterpriseName = basePopulationInformationExcel.getEnterpriseName()==null?null:basePopulationInformationExcel.getEnterpriseName().trim();
String legalRepresentative = basePopulationInformationExcel.getLegalRepresentative()==null?null:basePopulationInformationExcel.getLegalRepresentative().trim();
String enterprisePhone = basePopulationInformationExcel.getEnterprisePhone()==null?null:basePopulationInformationExcel.getEnterprisePhone().trim();
String socialUniformCode = basePopulationInformationExcel.getSocialUniformCode()==null?null:basePopulationInformationExcel.getSocialUniformCode().trim();
String residentsName = basePopulationInformationExcel.getResidentsName()==null?null:basePopulationInformationExcel.getResidentsName().trim();
String residentsNation = basePopulationInformationExcel.getResidentsNation()==null?null:basePopulationInformationExcel.getResidentsNation().trim();
String educationLevel = basePopulationInformationExcel.getEducationLevel()==null?null:basePopulationInformationExcel.getEducationLevel().trim();
String politicsStatus = basePopulationInformationExcel.getPoliticsStatus()==null?null:basePopulationInformationExcel.getPoliticsStatus().trim();
String joinTime = basePopulationInformationExcel.getJoinTime()==null?null:basePopulationInformationExcel.getJoinTime().trim();
String organizationalRelationshipLocation = basePopulationInformationExcel.getOrganizationalRelationshipLocation()==null?null:basePopulationInformationExcel.getOrganizationalRelationshipLocation().trim();
String residentsIdentityNo = basePopulationInformationExcel.getResidentsIdentityNo()==null?null:basePopulationInformationExcel.getResidentsIdentityNo().trim();
String residentsPhone = basePopulationInformationExcel.getResidentsPhone()==null?null:basePopulationInformationExcel.getResidentsPhone().trim();
String bodyStatus = basePopulationInformationExcel.getBodyStatus()==null?null:basePopulationInformationExcel.getBodyStatus().trim();
String maritalStatus = basePopulationInformationExcel.getMaritalStatus()==null?null:basePopulationInformationExcel.getMaritalStatus().trim();
String accountType = basePopulationInformationExcel.getAccountType()==null?null:basePopulationInformationExcel.getAccountType().trim();
String militaryService = basePopulationInformationExcel.getMilitaryService()==null?null:basePopulationInformationExcel.getMilitaryService().trim();
String householdRegistrationPlace = basePopulationInformationExcel.getHouseholdRegistrationPlace()==null?null:basePopulationInformationExcel.getHouseholdRegistrationPlace().trim();
String employmentStatus = basePopulationInformationExcel.getEmploymentStatus()==null?null:basePopulationInformationExcel.getEmploymentStatus().trim();
String currentEmployer = basePopulationInformationExcel.getCurrentEmployer()==null?null:basePopulationInformationExcel.getCurrentEmployer().trim();
String currentEmployerAddress = basePopulationInformationExcel.getCurrentEmployerAddress()==null?null:basePopulationInformationExcel.getCurrentEmployerAddress().trim();
String unemploymentReason = basePopulationInformationExcel.getUnemploymentReason()==null?null:basePopulationInformationExcel.getUnemploymentReason().trim();
String reemploymentPermit = basePopulationInformationExcel.getReemploymentPermit()==null?null:basePopulationInformationExcel.getReemploymentPermit().trim();
String unemploymentRegister = basePopulationInformationExcel.getUnemploymentRegister()==null?null:basePopulationInformationExcel.getUnemploymentRegister().trim();
String unemploymentRegisterTime = basePopulationInformationExcel.getUnemploymentRegisterTime()==null?null:basePopulationInformationExcel.getUnemploymentRegisterTime().trim();
String familyCategory = basePopulationInformationExcel.getFamilyCategory()==null?null:basePopulationInformationExcel.getFamilyCategory().trim();
String helpStatus = basePopulationInformationExcel.getHelpStatus()==null?null:basePopulationInformationExcel.getHelpStatus().trim();
Integer motorVehicleNum = basePopulationInformationExcel.getMotorVehicleNum();
String motorVehicleCategory = basePopulationInformationExcel.getMotorVehicleCategory();
String dogStatus = basePopulationInformationExcel.getDogStatus();
String motorVehicleCategory = basePopulationInformationExcel.getMotorVehicleCategory()==null?null:basePopulationInformationExcel.getMotorVehicleCategory().trim();
String dogStatus = basePopulationInformationExcel.getDogStatus()==null?null:basePopulationInformationExcel.getDogStatus().trim();
if (StringUtils.isBlank(houseAddress)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("房屋地址为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((houseAddress))){
basePopulationInformationExcel.setHouseAddress(houseAddress);
}
if (StringUtils.isBlank(buyingTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -642,6 +752,24 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("购房时间为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else if (StringUtils.isNotBlank(buyingTime)) {
if (!IdentityNoUtils.isStrDate(buyingTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("日期格式应为yyyy-MM-dd HH:mm:ss");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else {
if (DateUtil.parse(buyingTime).after(new Date())) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("购房时间不能大于当前时间");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
}
basePopulationInformationExcel.setBuyingTime(buyingTime);
}
if (houseArea == null) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -656,6 +784,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("产权人为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((propertyOwner))){
basePopulationInformationExcel.setPropertyOwner(propertyOwner);
}
if (StringUtils.isBlank(propertyOwnerIdentityNo)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -663,6 +793,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("产权人身份证号为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((propertyOwnerIdentityNo))){
basePopulationInformationExcel.setPropertyOwnerIdentityNo(propertyOwnerIdentityNo);
}
if (StringUtils.isBlank(propertyOwnerMobile)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -670,6 +802,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("产权人电话为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((propertyOwnerMobile))){
basePopulationInformationExcel.setPropertyOwnerMobile(propertyOwnerMobile);
}
if (StringUtils.isBlank(propertyOwnerCard)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -677,7 +811,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("产权证为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank(propertyOwnerCard)){
} else if (StringUtils.isNotBlank(propertyOwnerCard)) {
for (HousingInformationDTO housingInformationDTO : housingInformationDTOS) {
if (housingInformationDTO.getPropertyOwnerCard().equals(propertyOwnerCard)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -687,14 +821,15 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoList.add(errorLineInfoDto);
}
}
if(isPropertyOwnerCard.containsKey(propertyOwnerCard)){
if (isPropertyOwnerCard.containsKey(propertyOwnerCard)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i+2) + "");
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("产权证在EXCEL已存在");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
isPropertyOwnerCard.put(propertyOwnerCard,(i+2)+"");
isPropertyOwnerCard.put(propertyOwnerCard, (i + 2) + "");
basePopulationInformationExcel.setPropertyOwnerCard(propertyOwnerCard);
}
if (StringUtils.isBlank(houseUse)) {
@ -703,6 +838,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("房屋用途为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((houseUse))){
basePopulationInformationExcel.setHouseUse(houseUse);
}
if (StringUtils.isNotBlank(houseUse) && !"0".equals(houseUse) && !"1".equals(houseUse) && !"2".equals(houseUse)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -718,6 +855,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("承租人为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((tenantName))){
basePopulationInformationExcel.setTenantName(tenantName);
}
if (StringUtils.isBlank(tenantPhone)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -725,6 +864,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("承租人电话为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((tenantPhone))){
basePopulationInformationExcel.setTenantPhone(tenantPhone);
}
if (StringUtils.isBlank(tenantIdentityNo)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -733,6 +874,18 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
if (StringUtils.isNotBlank(tenantIdentityNo)) {
String result = IdentityNoUtils.IdentityNoVerification(tenantIdentityNo);
if (result != null) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("承租人身份证号有误");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
basePopulationInformationExcel.setTenantIdentityNo(tenantIdentityNo);
}
} else if (HouseUseConstant.BUSINESS.equals(houseUse)) {
if (StringUtils.isBlank(enterpriseName)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -740,6 +893,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("企业名称为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((enterpriseName))){
basePopulationInformationExcel.setEnterpriseName(enterpriseName);
}
if (StringUtils.isBlank(legalRepresentative)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -747,6 +902,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("法人为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((legalRepresentative))){
basePopulationInformationExcel.setLegalRepresentative(legalRepresentative);
}
if (StringUtils.isBlank(enterprisePhone)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -754,6 +911,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("企业联系电话为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((enterprisePhone))){
basePopulationInformationExcel.setEnterprisePhone(enterprisePhone);
}
if (StringUtils.isBlank(socialUniformCode)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -761,6 +920,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("社会统一代码为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((socialUniformCode))){
basePopulationInformationExcel.setSocialUniformCode(socialUniformCode);
}
}
if (StringUtils.isBlank(residentsName)) {
@ -769,6 +930,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主姓名为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsName))){
basePopulationInformationExcel.setResidentsName(residentsName);
}
if (StringUtils.isBlank(residentsNation)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -776,6 +939,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("民族为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsNation))){
basePopulationInformationExcel.setResidentsNation(residentsNation);
}
if (StringUtils.isBlank(educationLevel)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -840,6 +1005,23 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("入党时间为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else if (StringUtils.isNotBlank(joinTime)) {
if (!IdentityNoUtils.isStrDate(joinTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("日期格式应为yyyy-MM-dd HH:mm:ss");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else {
if (DateUtil.parse(joinTime).after(new Date())) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("入党时间不能大于当前时间");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
}
basePopulationInformationExcel.setJoinTime(joinTime);
}
if (StringUtils.isBlank(organizationalRelationshipLocation)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -847,6 +1029,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("组织关系所在地为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((organizationalRelationshipLocation))){
basePopulationInformationExcel.setOrganizationalRelationshipLocation(organizationalRelationshipLocation);
}
}
if (StringUtils.isBlank(residentsIdentityNo)) {
@ -864,10 +1048,11 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主身份证号码有误");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else{
} else {
basePopulationInformationExcel.setResidentsSex(IdentityNoUtils.getSex(residentsIdentityNo));
basePopulationInformationExcel.setResidentsBirthday(DateUtil.parse(IdentityNoUtils.getBirthday(residentsIdentityNo)));
}
basePopulationInformationExcel.setResidentsIdentityNo(residentsIdentityNo);
}
if (StringUtils.isBlank(residentsPhone)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -875,6 +1060,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主联系电话为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((residentsPhone))){
basePopulationInformationExcel.setResidentsPhone(residentsPhone);
}
if (StringUtils.isBlank(bodyStatus)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -931,6 +1118,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
}
if (StringUtils.isBlank(accountType)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -958,6 +1146,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
}
if (StringUtils.isBlank(militaryService)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -965,6 +1154,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主是否服兵役为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((militaryService))){
basePopulationInformationExcel.setMilitaryService(militaryService);
}
if (StringUtils.isNotBlank(militaryService) && !"0".equals(militaryService) && !"1".equals(militaryService)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -979,6 +1170,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主户籍地为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((householdRegistrationPlace))){
basePopulationInformationExcel.setHouseholdRegistrationPlace(householdRegistrationPlace);
}
if (StringUtils.isBlank(employmentStatus)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -1014,6 +1207,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主现工作单位为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((currentEmployer))){
basePopulationInformationExcel.setCurrentEmployer(currentEmployer);
}
if (StringUtils.isBlank(currentEmployerAddress)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -1021,6 +1216,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主现单位地址为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((currentEmployerAddress))){
basePopulationInformationExcel.setCurrentEmployerAddress(currentEmployerAddress);
}
} else if ("失业".equals(employmentStatus)) {
if (StringUtils.isBlank(unemploymentReason)) {
@ -1056,6 +1253,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主是否有再就业优惠证为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((reemploymentPermit))){
basePopulationInformationExcel.setReemploymentPermit(reemploymentPermit);
}
if (StringUtils.isNotBlank(reemploymentPermit) && !"0".equals(reemploymentPermit) && !"1".equals(reemploymentPermit)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -1070,6 +1269,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("户主是否失业登记为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank((unemploymentRegister))){
basePopulationInformationExcel.setUnemploymentRegister(unemploymentRegister);
}
if (StringUtils.isNotBlank(unemploymentRegister) && !"0".equals(unemploymentRegister) && !"1".equals(unemploymentRegister)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
@ -1078,12 +1279,31 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
if (StringUtils.isBlank(unemploymentRegisterTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("户主失业登记时间为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
if(StringUtils.isNotBlank(unemploymentRegister) && "1".equals(unemploymentRegister)){
if (StringUtils.isBlank(unemploymentRegisterTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("户主失业登记时间为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else if (StringUtils.isNotBlank(unemploymentRegisterTime)) {
if (!IdentityNoUtils.isStrDate(unemploymentRegisterTime)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("日期格式应为yyyy-MM-dd HH:mm:ss");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
} else {
if (DateUtil.parse(unemploymentRegisterTime).after(new Date())) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();
errorLineInfoDto.setErrorLine((i + 2) + "");
errorLineInfoDto.setErrorInfo("失业登记时间不能大于当前时间");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}
}
basePopulationInformationExcel.setUnemploymentRegisterTime(unemploymentRegisterTime);
}
}
}
if (StringUtils.isBlank(familyCategory)) {
@ -1181,6 +1401,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl<HousingInform
errorLineInfoDto.setErrorInfo("宠物犬情况为空");
errorLineInfoDto.setSheetName("房屋信息和户主信息");
errorLineInfoList.add(errorLineInfoDto);
}else if(StringUtils.isNotBlank(dogStatus)){
basePopulationInformationExcel.setDogStatus(dogStatus);
}
if (StringUtils.isNotBlank(dogStatus) && !"0".equals(dogStatus) && !"1".equals(dogStatus)) {
errorLineInfoDto = new EpdcPopulationErrorResultDTO();

52
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PopulationInformationServiceImpl.java

@ -17,7 +17,6 @@
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
@ -147,7 +146,8 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
//置空其他选择信息-防止导出时数据出错
if("0".equals(dto.getPoliticsStatus())){
//如果表单选择的是群众,则清空入党时间和组织关系所在地
entity.setJoinTime(DateUtil.parse("0000-00-00"));
this.setJionTimeToNull(entity.getId());
entity.setJoinTime(null);
entity.setOrganizationalRelationshipLocation("");
}
if("0".equals(dto.getEmploymentStatus())){
@ -155,7 +155,24 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
entity.setUnemploymentReason("");
entity.setReemploymentPermit("");
entity.setUnemploymentRegister("");
entity.setUnemploymentRegisterTime(DateUtil.parse("0000-00-00"));
this.setUnemploymentRegisterTimeToNull(entity.getId());
entity.setUnemploymentRegisterTime(null);
}
if("1".equals(dto.getEmploymentStatus())){
//如果选择为失业,则置空工作单位和工作地址
entity.setCurrentEmployer("");
entity.setCurrentEmployerAddress("");
if("0".equals(dto.getUnemploymentRegister())){
//如果表单选择的是失业 且就业登记为否 则也置空失业登记时间
this.setUnemploymentRegisterTimeToNull(entity.getId());
entity.setUnemploymentRegisterTime(null);
}
}
if(dto.getMotorVehicleNum()==0){
//如果机动车数量为0 清空机动车类型
entity.setMotorVehicleCategory("");
}
updateById(entity);
return new Result();
@ -181,7 +198,8 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
//置空其他选择信息-防止导出时数据出错
if("0".equals(dto.getPoliticsStatus())){
//如果表单选择的是群众,则清空入党时间和组织关系所在地
entity.setJoinTime(DateUtil.parse("0000-00-00"));
this.setJionTimeToNull(entity.getId());
entity.setJoinTime(null);
entity.setOrganizationalRelationshipLocation("");
}
if("0".equals(dto.getEmploymentStatus())){
@ -189,9 +207,21 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
entity.setUnemploymentReason("");
entity.setReemploymentPermit("");
entity.setUnemploymentRegister("");
entity.setUnemploymentRegisterTime(DateUtil.parse("0000-00-00"));
entity.setUnemploymentRegisterTime(null);
this.setUnemploymentRegisterTimeToNull(entity.getId());
}
updateById(entity);
if("1".equals(dto.getEmploymentStatus())){
//如果选择为失业,则置空工作单位和工作地址
entity.setCurrentEmployer("");
entity.setCurrentEmployerAddress("");
if("0".equals(dto.getUnemploymentRegister())){
//如果表单选择的是失业 且就业登记为否 则也置空失业登记时间
this.setUnemploymentRegisterTimeToNull(entity.getId());
entity.setUnemploymentRegisterTime(null);
}
}
this.updateById(entity);
return new Result();
}
}
@ -239,4 +269,14 @@ public class PopulationInformationServiceImpl extends BaseServiceImpl<Population
return baseDao.getPopulationInfoOverview();
}
@Override
public void setJionTimeToNull(String id) {
baseDao.setJionTimeToNull(id);
}
@Override
public void setUnemploymentRegisterTimeToNull(String id) {
baseDao.setUnemploymentRegisterTimeToNull(id);
}
}

6
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HouseBusinessInfoDao.xml

@ -36,9 +36,9 @@
and (t1.grid_id = #{gridId}
OR find_in_set(#{gridId},t1.ALL_DEPT_IDS))
</if>
<if test="enterpriseName != '' and enterpriseName != null">and t.ENTERPRISE_NAME like concat('%',#{enterpriseName},'%') </if>
<if test="socialUniformCode != '' and socialUniformCode != null">and t.SOCIAL_UNIFORM_CODE like concat('%',#{socialUniformCode},'%') </if>
<if test="legalRepresentative != '' and legalRepresentative != null">and t.LEGAL_REPRESENTATIVE like concat('%',#{legalRepresentative},'%') </if>
<if test="enterpriseName!= null and enterpriseName != '' ">and t.ENTERPRISE_NAME like concat('%',#{enterpriseName},'%') </if>
<if test="socialUniformCode != null and socialUniformCode != '' ">and t.SOCIAL_UNIFORM_CODE like concat('%',#{socialUniformCode},'%') </if>
<if test="legalRepresentative != null and legalRepresentative != '' ">and t.LEGAL_REPRESENTATIVE like concat('%',#{legalRepresentative},'%') </if>
order by t.CREATED_TIME desc
</select>

1
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/HousingInformationDao.xml

@ -108,6 +108,7 @@
SUBSTRING_INDEX(t.ALL_DEPT_NAMES, '-', -1) as gridName,
t3.TENANT_NAME,
t3.TENANT_PHONE,
t3.TENANT_IDENTITY_NO,
t4.ENTERPRISE_NAME,
t4.SOCIAL_UNIFORM_CODE,
t4.LEGAL_REPRESENTATIVE,

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PopulationInformationDao.xml

@ -43,6 +43,12 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="setJionTimeToNull">
update epdc_population_information set JOIN_TIME = null where ID = #{id}
</update>
<update id="setUnemploymentRegisterTimeToNull">
update epdc_population_information set UNEMPLOYMENT_REGISTER_TIME = null where ID = #{id}
</update>
<select id="getInfoByIdentityNo" resultType="com.elink.esua.epdc.entity.PopulationInformationEntity">
select * from epdc_population_information where RESIDENTS_IDENTITY_NO = #{residentsIdentityNo} and DEL_FLAG = '0' limit 1
</select>
@ -90,7 +96,7 @@
resultType="com.elink.esua.epdc.dto.PopulationInformationDTO">
select
t.ID,t.RESIDENTS_NAME,t.RESIDENTS_SEX,t.RESIDENTS_PHONE,t.RESIDENTS_IDENTITY_NO,t.RESIDENTS_NATION,t.HOUSEHOLD_REGISTRATION_PLACE,
group_concat(substring_index(t2.ALL_DEPT_NAMES,'-',-1)) as gridNames,t.HELP_STATUS,t.FAMILY_CATEGORY,group_concat(t2.HOUSE_ADDRESS) as houseAddress
group_concat(DISTINCT substring_index(t2.ALL_DEPT_NAMES,'-',-1)) as gridNames,t.HELP_STATUS,t.FAMILY_CATEGORY,group_concat(t2.HOUSE_ADDRESS) as houseAddress
from epdc_population_information t
left join epdc_house_resident t1 on t.ID = t1.RESIDENT_ID
left join epdc_housing_information t2 on t1.HOUSE_ID = t2.ID

Loading…
Cancel
Save