Browse Source

居民信息采集-bug修改

feature/syp_points
songyunpeng 5 years ago
parent
commit
0fa1ff505c
  1. 270
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/HousingInformationController.java
  2. BIN
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/excel/居民信息录入模板.xls

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

@ -20,7 +20,6 @@ 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;
@ -31,9 +30,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
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;
@ -45,9 +42,11 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
@ -234,8 +233,6 @@ public class HousingInformationController {
return housingInformationService.importPopulationInfo(file,gridId);
}
/**
* @Description 导出模板
* @Author songyunpeng
@ -244,248 +241,23 @@ public class HousingInformationController {
* @return void
**/
@GetMapping("exportModule")
public void exportModule(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<BasePopulationInformationExcel> basePopulationInformationExcels = new ArrayList<>(1);
List<BaseResidentInformationExcel> baseResidentInformationExcels = new ArrayList<>(1);
BasePopulationInformationExcel basePopulationInformationExcel = new BasePopulationInformationExcel();
basePopulationInformationExcel.setHouseAddress("XX小区XX号楼XX单元");
basePopulationInformationExcel.setBuyingTime("2020-02-02");
basePopulationInformationExcel.setHouseArea(new BigDecimal("0"));
basePopulationInformationExcel.setPropertyOwner("");
basePopulationInformationExcel.setPropertyOwnerIdentityNo("");
basePopulationInformationExcel.setPropertyOwnerMobile("");
basePopulationInformationExcel.setHouseUse("");
basePopulationInformationExcel.setTenantName("");
basePopulationInformationExcel.setTenantPhone("");
basePopulationInformationExcel.setTenantIdentityNo("");
basePopulationInformationExcel.setEnterpriseName("");
basePopulationInformationExcel.setSocialUniformCode("");
basePopulationInformationExcel.setLegalRepresentative("");
basePopulationInformationExcel.setEnterprisePhone("");
basePopulationInformationExcel.setResidentsName("");
basePopulationInformationExcel.setResidentsNation("");
basePopulationInformationExcel.setEducationLevel("");
basePopulationInformationExcel.setPoliticsStatus("");
basePopulationInformationExcel.setJoinTime("2020-02-02");
basePopulationInformationExcel.setOrganizationalRelationshipLocation("");
basePopulationInformationExcel.setResidentsIdentityNo("");
basePopulationInformationExcel.setResidentsPhone("");
basePopulationInformationExcel.setBodyStatus("");
basePopulationInformationExcel.setMaritalStatus("");
basePopulationInformationExcel.setAccountType("");
basePopulationInformationExcel.setMilitaryService("");
basePopulationInformationExcel.setHouseholdRegistrationPlace("");
basePopulationInformationExcel.setEmploymentStatus("");
basePopulationInformationExcel.setCurrentEmployer("");
basePopulationInformationExcel.setCurrentEmployerAddress("");
basePopulationInformationExcel.setUnemploymentReason("");
basePopulationInformationExcel.setReemploymentPermit("");
basePopulationInformationExcel.setUnemploymentRegister("");
basePopulationInformationExcel.setUnemploymentRegisterTime("2020-02-02");
basePopulationInformationExcel.setFamilyCategory("");
basePopulationInformationExcel.setHelpStatus("");
basePopulationInformationExcel.setMotorVehicleNum(0);
basePopulationInformationExcel.setMotorVehicleCategory("");
basePopulationInformationExcel.setDogStatus("");
BaseResidentInformationExcel baseResidentInformationExcel = new BaseResidentInformationExcel();
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);
classes.add(basePopulationInformationExcel.getClass());
classes.add(baseResidentInformationExcel.getClass());
List<String> sheetNames = new ArrayList<>(2);
sheetNames.add("房屋信息和户主信息");
sheetNames.add("居民信息");
//设置待选项
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 educationLevel = new ExcelSelectionDto();
educationLevel.setSheetIndex(0);
educationLevel.setFirstCol(17);
educationLevel.setLastCol(17);
ExcelSelectionDto politicsStatus = new ExcelSelectionDto();
politicsStatus.setSheetIndex(0);
politicsStatus.setFirstCol(18);
politicsStatus.setLastCol(18);
ExcelSelectionDto bodyStatus = new ExcelSelectionDto();
bodyStatus.setSheetIndex(0);
bodyStatus.setFirstCol(23);
bodyStatus.setLastCol(23);
ExcelSelectionDto maritalStatus = new ExcelSelectionDto();
maritalStatus.setSheetIndex(0);
maritalStatus.setFirstCol(24);
maritalStatus.setLastCol(24);
ExcelSelectionDto accountType = new ExcelSelectionDto();
accountType.setSheetIndex(0);
accountType.setFirstCol(25);
accountType.setLastCol(25);
ExcelSelectionDto militaryService = new ExcelSelectionDto();
militaryService.setSheetIndex(0);
militaryService.setFirstCol(26);
militaryService.setLastCol(26);
militaryService.setExcelSelections(new String[]{"是","否"});
ExcelSelectionDto employedStatus = new ExcelSelectionDto();
employedStatus.setSheetIndex(0);
employedStatus.setFirstCol(28);
employedStatus.setLastCol(28);
ExcelSelectionDto unEmployedReason = new ExcelSelectionDto();
unEmployedReason.setSheetIndex(0);
unEmployedReason.setFirstCol(31);
unEmployedReason.setLastCol(31);
ExcelSelectionDto reEmployedPermit = new ExcelSelectionDto();
reEmployedPermit.setSheetIndex(0);
reEmployedPermit.setFirstCol(32);
reEmployedPermit.setLastCol(32);
reEmployedPermit.setExcelSelections(new String[]{"有","无"});
ExcelSelectionDto unEmployedRegister = new ExcelSelectionDto();
unEmployedRegister.setSheetIndex(0);
unEmployedRegister.setFirstCol(33);
unEmployedRegister.setLastCol(33);
unEmployedRegister.setExcelSelections(new String[]{"是","否"});
ExcelSelectionDto familyCategory = new ExcelSelectionDto();
familyCategory.setSheetIndex(0);
familyCategory.setFirstCol(35);
familyCategory.setLastCol(35);
ExcelSelectionDto helpStatus = new ExcelSelectionDto();
helpStatus.setSheetIndex(0);
helpStatus.setFirstCol(36);
helpStatus.setLastCol(36);
ExcelSelectionDto motorVehicleCategory = new ExcelSelectionDto();
motorVehicleCategory.setSheetIndex(0);
motorVehicleCategory.setFirstCol(38);
motorVehicleCategory.setLastCol(38);
ExcelSelectionDto dogStatus = new ExcelSelectionDto();
dogStatus.setSheetIndex(0);
dogStatus.setFirstCol(39);
dogStatus.setLastCol(39);
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,educationLevel,politicsStatus,bodyStatus,maritalStatus,accountType,employedStatus,unEmployedReason,familyCategory,helpStatus,motorVehicleCategory,dogStatus,unEmployedRegister,reEmployedPermit,militaryService,houseHeadRelation,residentSex);
ExcelUtils.exportExcelToTargetWithSheets(response, "居民信息录入模板",sheetNames,classes,excelSelectionDtos,basePopulationInformationExcels,baseResidentInformationExcels);
}
public void exportModule(HttpServletResponse res) throws Exception{
//获取要下载的模板名称
String fileName = "居民信息录入模板";
//设置要下载的文件的名称
res.setCharacterEncoding("UTF-8");
res.setHeader("content-Type", "application/vnd.ms-excel");
res.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls");
//获取文件的路径
InputStream input = this.getClass().getResourceAsStream("/excel/居民信息录入模板.xls");
OutputStream out = res.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
input.close();
}
}

BIN
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/excel/居民信息录入模板.xls

Binary file not shown.
Loading…
Cancel
Save