From c40be027ef8068b9a77bb24c94291dee25f563d8 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 19 八月 2021 09:28:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationRehabilitationExcelListen.java | 267 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 194 insertions(+), 73 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationRehabilitationExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationRehabilitationExcelListen.java index c459757..e735adf 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationRehabilitationExcelListen.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationRehabilitationExcelListen.java @@ -1,5 +1,7 @@ package com.panzhihua.common.listen; +import cn.hutool.core.date.DateException; +import cn.hutool.core.date.DateUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.context.AnalysisContext; @@ -30,6 +32,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -116,10 +119,10 @@ log.info("开始导入刑释人员数据"); log.info("表格总数据:" + list.size()); if (list.size() == 0) { - throw new ServiceException("500", "导入数据为空!"); + throw new ServiceException("000", "导入数据为空!"); } ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); - String key = Constants.REHABILITATION_POPULATION_ERROR_LIST + communityId; + String key = Constants.REHABILITATION_POPULATION_ERROR_LIST; Map<String,String> dictMap = dictionaryR.getData().stream().collect(Collectors.toMap(BcDictionaryVO::getDictName,BcDictionaryVO::getDictValue)); // Map<String,Integer> dictMap = new HashMap<>(); @@ -130,6 +133,7 @@ int index = 2; try { + String[] parsePatterns = new String[]{"yyyy-MM-dd", "yyyy-M-dd", "yyyy-MM-d", "yyyy-M-d", "yyyy/MM/dd", "yyyy/M/dd", "yyyy/MM/d", "yyyy/M/d"}; ArrayList<ComMngPopulationRehabilitationExcelVO> voList = Lists.newArrayList(); // List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>(); ArrayList<ComMngPopulationRehabilitationMistakeExcelVO> mistakes = Lists.newArrayList(); @@ -139,54 +143,53 @@ vo.setSerialNumber(oneData.get(0)); } //姓名和身份证都为空,为空户,无需操作,否则就解析年龄,性别,出生年月日 - if(StringUtils.isNotEmpty(oneData.get(1)) || StringUtils.isNotEmpty(oneData.get(3))){ - if(StringUtils.isEmpty(oneData.get(1))){ - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - index++; - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("名字不可为空,请填写姓名"); - mistakes.add(mistake); - continue; - } - vo.setName(oneData.get(1)); - if(StringUtils.isEmpty(oneData.get(3))){ - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - index++; - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("身份证号不可为空,请填写身份证"); - mistakes.add(mistake); - continue; - } + if(StringUtils.isEmpty(oneData.get(1))){ + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("名字不可为空,请填写姓名"); + mistakes.add(mistake); + continue; + } + vo.setName(oneData.get(1)); + if(StringUtils.isEmpty(oneData.get(3))){ + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("身份证号不可为空,请填写身份证"); + mistakes.add(mistake); + continue; + } - //判断身份证号码位数 - if(oneData.get(3).length() != 18){ - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - index++; - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("身份证号位数有误,请检查身份证号码是否正确"); - mistakes.add(mistake); - continue; - } - vo.setCardNo(oneData.get(3).toUpperCase()); - //根据身份证号码解析年龄以及性别 - //获取用户生日 - String birthday = vo.getCardNo().substring(6, 14); - if(StringUtils.isNotEmpty(birthday)){ - String year = birthday.substring(0,4); - String month = birthday.substring(4,6); - String day = birthday.substring(6,8); - vo.setBirthday(year + "-" + month + "-" + day); - } + //判断身份证号码位数 + if(oneData.get(3).length() != 18){ + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("身份证号位数有误,请检查身份证号码是否正确"); + mistakes.add(mistake); + continue; + } + vo.setCardNo(oneData.get(3).toUpperCase()); + //根据身份证号码解析年龄以及性别 + //获取用户生日 + String birthday = vo.getCardNo().substring(6, 14); + if(StringUtils.isNotEmpty(birthday)){ + String year = birthday.substring(0,4); + String month = birthday.substring(4,6); + String day = birthday.substring(6,8); + vo.setBirthday(year + "-" + month + "-" + day); + } // //设置用户年龄 // vo.setAge(AgeUtils.getAgeFromBirthTime(birthday)); - //获取用户性别 - int sex = Integer.parseInt(vo.getCardNo().substring(16, 17)); - if(sex%2 == 1){ - vo.setSex(PopulSexEnum.nan.getCode()); - }else{ - vo.setSex(PopulSexEnum.nv.getCode()); - } + //获取用户性别 + int sex = Integer.parseInt(vo.getCardNo().substring(16, 17)); + if(sex%2 == 1){ + vo.setSex(PopulSexEnum.nan.getCode()); + }else{ + vo.setSex(PopulSexEnum.nv.getCode()); } + if(StringUtils.isNotEmpty(oneData.get(2))){ vo.setNation(oneData.get(2)); } @@ -214,33 +217,39 @@ continue; } vo.setDoorNo(oneData.get(7).trim()); - if(StringUtils.isEmpty(oneData.get(8))){ - index++; - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("楼排号不可为空"); - mistakes.add(mistake); - continue; +// if(StringUtils.isEmpty(oneData.get(8))){ +// index++; +// ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); +// setRehabilitationMistake(oneData, mistake); +// mistake.setMistake("楼排号不可为空"); +// mistakes.add(mistake); +// continue; +// } + if(StringUtils.isNotEmpty(oneData.get(8))) { + vo.setFloor(oneData.get(8).trim()); } - vo.setFloor(oneData.get(8).trim()); - if(StringUtils.isEmpty(oneData.get(9))){ - index++; - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("单元号不可为空"); - mistakes.add(mistake); - continue; +// if(StringUtils.isEmpty(oneData.get(9))){ +// index++; +// ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); +// setRehabilitationMistake(oneData, mistake); +// mistake.setMistake("单元号不可为空"); +// mistakes.add(mistake); +// continue; +// } + if(StringUtils.isNotEmpty(oneData.get(9))) { + vo.setUnitNo(oneData.get(9).trim()); } - vo.setUnitNo(oneData.get(9).trim()); - if(StringUtils.isEmpty(oneData.get(10))){ - index++; - ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); - setRehabilitationMistake(oneData, mistake); - mistake.setMistake("户室不可为空"); - mistakes.add(mistake); - continue; +// if(StringUtils.isEmpty(oneData.get(10))){ +// index++; +// ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); +// setRehabilitationMistake(oneData, mistake); +// mistake.setMistake("户室不可为空"); +// mistakes.add(mistake); +// continue; +// } + if(StringUtils.isNotEmpty(oneData.get(10))) { + vo.setHouseNo(oneData.get(10).trim()); } - vo.setHouseNo(oneData.get(10).trim()); if(StringUtils.isNotEmpty(oneData.get(11))){ Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(11)); if(isOk.equals(-1)){ @@ -341,10 +350,105 @@ vo.setIsRehab(PopulHouseUseEnum.getCodeByName("否")); } if(StringUtils.isNotEmpty(oneData.get(21))){ - vo.setRemark(oneData.get(21).trim()); + Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(21)); + if(isOk.equals(-1)){ + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("您填写的是否累惯犯有误"); + mistakes.add(mistake); + continue; + } + vo.setIsRecidivist(isOk); + }else { + vo.setIsRecidivist(PopulHouseUseEnum.getCodeByName("否")); + } + if(StringUtils.isNotEmpty(oneData.get(22))){ + vo.setOriginalTerm(oneData.get(22).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(23))){ + vo.setSentenceBegin(DateUtil.parse(oneData.get(23).trim())); + } + if(StringUtils.isNotEmpty(oneData.get(24))){ + vo.setOriginalCharge(oneData.get(24).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(25))){ + vo.setSentenceEnd(DateUtil.parse(oneData.get(25).trim())); + } + if(StringUtils.isNotEmpty(oneData.get(26))){ + vo.setSentencePlace(oneData.get(26).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(27))){ + vo.setRiskAssessment(oneData.get(27).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(28))){ + vo.setJoinDate(DateUtil.parse(oneData.get(28).trim())); + } + if(StringUtils.isNotEmpty(oneData.get(29))){ + vo.setJoinSituation(oneData.get(29).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(30))){ + Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(30)); + if(isOk.equals(-1)){ + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("您填写的是否重新犯罪有误"); + mistakes.add(mistake); + continue; + } + vo.setIsAgainCrime(isOk); + }else { + vo.setIsAgainCrime(PopulHouseUseEnum.getCodeByName("否")); + } + if(StringUtils.isNotEmpty(oneData.get(31))){ + vo.setAgainCrimeName(oneData.get(31).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(32))){ + vo.setPlaceSituation(oneData.get(32).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(33))){ + vo.setPlaceDate(DateUtil.parse(oneData.get(33).trim())); + } + if(StringUtils.isNotEmpty(oneData.get(34))){ + vo.setNotPlaceReason(oneData.get(34).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(35))){ + try { + vo.setHelpBegin(DateUtil.parse(oneData.get(35).trim())); + } catch (DateException e) { + log.info("处理数据时失败"); + e.printStackTrace(); + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("您填写的帮教开始日期有误"); + mistakes.add(mistake); + continue; + } + } + if(StringUtils.isNotEmpty(oneData.get(36))){ + try { + vo.setHelpEnd(DateUtil.parse(oneData.get(36).trim())); + } catch (DateException e) { + log.info("处理数据时失败"); + e.printStackTrace(); + ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); + index++; + setRehabilitationMistake(oneData, mistake); + mistake.setMistake("您填写的帮教结束日期有误"); + mistakes.add(mistake); + continue; + } + } + if(StringUtils.isNotEmpty(oneData.get(37))){ + vo.setHelpSituation(oneData.get(37).trim()); + } + if(StringUtils.isNotEmpty(oneData.get(38))){ + vo.setRemark(oneData.get(38).trim()); } vo.getUserTagStr().add("刑满释放"); - for (int i = 22; i < headSize; i++) { + for (int i = 39; i < headSize; i++) { if (oneData.get(i) != null && oneData.get(i).equals("是")) { vo.getUserTagStr().add(headData.get(i).substring(0,headData.get(i).indexOf("("))); } @@ -434,7 +538,24 @@ vo.setPatientRelation(map.get(18)); vo.setRehabReasonAndType(map.get(19)); vo.setIsRehab(map.get(20)); - vo.setRemark(map.get(21)); + vo.setIsRecidivist(map.get(21)); + vo.setOriginalTerm(map.get(22)); + vo.setSentenceBegin(map.get(23)); + vo.setOriginalCharge(map.get(24)); + vo.setSentenceEnd(map.get(25)); + vo.setSentencePlace(map.get(26)); + vo.setRiskAssessment(map.get(27)); + vo.setJoinDate(map.get(28)); + vo.setJoinSituation(map.get(29)); + vo.setIsAgainCrime(map.get(30)); + vo.setAgainCrimeName(map.get(31)); + vo.setPlaceSituation(map.get(32)); + vo.setPlaceDate(map.get(33)); + vo.setNotPlaceReason(map.get(34)); + vo.setHelpBegin(map.get(35)); + vo.setHelpEnd(map.get(36)); + vo.setHelpSituation(map.get(37)); + vo.setRemark(map.get(38)); } private R mistakeExportPopulation(List<ComMngPopulationMistakeExcelVO> vo) { -- Gitblit v1.7.1