From ec584b22c5756b8a2bdad9dcd0830c52d698784d Mon Sep 17 00:00:00 2001 From: xyh <18782104331@139.com> Date: 星期五, 11 六月 2021 20:24:30 +0800 Subject: [PATCH] 实有人口导入 --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java | 130 +++++++++++++++++++++++++++---------------- 1 files changed, 81 insertions(+), 49 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java index bdfc8fe..e0b179d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java @@ -3,25 +3,20 @@ import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; +import com.panzhihua.common.constants.BcDictionaryConstants; import com.panzhihua.common.enums.*; import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO; import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO; -import com.panzhihua.common.model.vos.community.ComMngVillageServeExcelVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.*; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.util.ObjectUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -81,6 +76,15 @@ * 不是固定的列只能手动处理 */ private void saveData() { + R<List<BcDictionaryVO>> dictionaryR = communityService.listDictionaryByKey(BcDictionaryConstants.FAMILY); + + Map<String,String> dictMap = dictionaryR.getData().stream().collect(Collectors.toMap(BcDictionaryVO::getDictName,BcDictionaryVO::getDictValue)); +// Map<String,Integer> dictMap = new HashMap<>(); +// for(BcDictionaryVO vo : dictionaryR.getData()){ +// dictMap.put(vo.getDictName(),Integer.valueOf(vo.getDictValue())); +// } + + int index = 2; try { ArrayList<ComMngPopulationServeExcelVO> voList = Lists.newArrayList(); @@ -100,7 +104,7 @@ vo.setName(oneData.get(0)); if(StringUtils.isEmpty(oneData.get(1))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第2列"); + importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1)); importErrorVO.setErrorMsg("身份证号不可为空,请填写身份证号"); populationImportErrorVOList.add(importErrorVO); index++; @@ -110,7 +114,7 @@ //判断身份证号码位数 if(oneData.get(1).length() != 18){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第2列"); + importErrorVO.setErrorPosition("第" + index + "行,第2列"+oneData.get(1)); importErrorVO.setErrorMsg("身份证号位数有误,请检查身份证号码是否正确"); populationImportErrorVOList.add(importErrorVO); index++; @@ -149,16 +153,7 @@ vo.setNation(oneData.get(2)); } if(StringUtils.isNotEmpty(oneData.get(3))){ - Integer isOk = PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第4列"); - importErrorVO.setErrorMsg("您填写的政治面貌有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setPoliticalOutlook(isOk); + vo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3))); } if(StringUtils.isNotEmpty(oneData.get(4))){ Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(4)); @@ -172,18 +167,42 @@ } vo.setIsRent(isOk); } - //TODO 先存中文后期改为枚举 if(StringUtils.isNotEmpty(oneData.get(5))){ - Integer isOk = PopulRelationEnum.getCodeByName(oneData.get(5)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第6列"); - importErrorVO.setErrorMsg("您填写的与户主关系有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; + String ra = oneData.get(5); + if(Objects.equals(ra,"女儿")){ + ra = "女"; + }else if(Objects.equals(ra,"儿子")){ + ra = "子"; + }else if(Objects.equals(ra,"大女")){ + ra = "长女"; + }else if(Objects.equals(ra,"二女")){ + ra = "次女"; + }else if(Objects.equals(ra,"非亲属")){ + ra = "其他"; + }else if(Objects.equals(ra,"姐")){ + ra = "姐姐"; + }else if(Objects.equals(ra,"户主")){ + ra = "本人"; + }else if(Objects.equals(ra,"妻子")){ + ra = "妻"; + }else if(Objects.equals(ra,"哥") || Objects.equals(ra,"哥哥")){ + ra = "兄"; } - vo.setRelation(isOk); + + + String relation = dictMap.get(ra); + if(StringUtils.isEmpty(relation)){ + vo.setRelationStr(ra); +// ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); +// importErrorVO.setErrorPosition("第" + index + "行,第6列"); +// importErrorVO.setErrorMsg("您填写的与户主关系有误"); +// populationImportErrorVOList.add(importErrorVO); +// index++; +// continue; + }else{ + vo.setRelation(Integer.valueOf(relation)); + } + } if(StringUtils.isEmpty(oneData.get(6))){ ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); @@ -280,28 +299,41 @@ vo.setNativePlace(oneData.get(17).trim()); } if(StringUtils.isNotEmpty(oneData.get(18))){ - Integer isOk = PopulCultureLevelEnum.getCodeByName(oneData.get(18)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第19列"); - importErrorVO.setErrorMsg("您填写的文化程度有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; - } - vo.setCultureLevel(isOk); + vo.setCultureLevel(PopulCultureLevelEnum.getCodeByName(oneData.get(18))); } if(StringUtils.isNotEmpty(oneData.get(19))){ - Integer isOk = PopulMarriageEnum.getCodeByName(oneData.get(19)); - if(isOk.equals(-1)){ - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorPosition("第" + index + "行,第20列"); - importErrorVO.setErrorMsg("您填写的婚姻状况有误"); - populationImportErrorVOList.add(importErrorVO); - index++; - continue; + String ma = oneData.get(19); + + if(Objects.equals("已",ma)){ + ma = "已婚"; + }else if(Objects.equals("未",ma)){ + ma = "未婚"; + }else if(Objects.equals("初",ma)){ + ma = "初婚"; + }else if(Objects.equals("再",ma)){ + ma = "再婚"; + }else if(Objects.equals("复",ma)){ + ma = "复婚"; + }else if(Objects.equals("丧",ma)){ + ma = "丧偶"; + }else if(Objects.equals("离",ma)){ + ma = "离婚"; + }else if(Objects.equals("分",ma)){ + ma = "分居"; } - vo.setMarriage(isOk); + Integer isOk = PopulMarriageEnum.getCodeByName(ma); + if(isOk.equals(-1)){ + vo.setMarriageStr(ma); +// ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); +// importErrorVO.setErrorPosition("第" + index + "行,第20列"); +// importErrorVO.setErrorMsg("您填写的婚姻状况有误"); +// populationImportErrorVOList.add(importErrorVO); +// index++; +// continue; + }else{ + vo.setMarriage(isOk); + } + } if(StringUtils.isNotEmpty(oneData.get(20))){ vo.setHealthy(oneData.get(20).trim()); -- Gitblit v1.7.1