huanghongfa
2021-04-15 ea5adbd1ab134c61dd281b8ae9965f4a780ddf84
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -12,6 +12,8 @@
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.AgeUtils;
import com.panzhihua.common.utlis.IdCardUtil;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,40 +84,80 @@
            ArrayList<ComMngPopulationServeExcelVO> voList = Lists.newArrayList();
            for (Map<Integer, String> oneData : list) {
                ComMngPopulationServeExcelVO vo = new ComMngPopulationServeExcelVO();
                if(oneData.get(0) == null){
                    throw new ServiceException("500", "名字不可为空:第" + index + "行,第1列");
                }
                vo.setName(oneData.get(0));
                vo.setSex(PopulSexEnum.getCodeByName(oneData.get(1)));
                if(oneData.get(2) == null){
                    throw new ServiceException("500", "年龄不可为空:第" + index + "行,第3列");
                if(oneData.get(1) == null){
                    throw new ServiceException("500", "身份证号不可为空:第" + index + "行,第2列");
                }
                vo.setAge(Integer.valueOf(oneData.get(2)));
                if(oneData.get(3) == null){
                    throw new ServiceException("500", "是否租住不可为空:第" + index + "行,第4列");
                vo.setCardNo(oneData.get(1));
                //根据身份证号码解析年龄以及性别
                if(IdCardUtil.strongVerifyIdNumber(vo.getCardNo())){
                    //获取用户生日
                    String birthday = vo.getCardNo().substring(6, 14);
                    //设置用户年龄
                    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());
                    }
                }else{
                    throw new ServiceException("500", "身份证号码有误:第" + index + "行,第3列");
                }
                vo.setIsRent(PopulIsOkEnum.getCodeByName(oneData.get(3)));
                vo.setRoad(oneData.get(4));
                if(oneData.get(5) == null){
                    throw new ServiceException("500", "门牌号不可为空:第" + index + "行,第6列");
                if(oneData.get(2) != null){
                    vo.setNation(oneData.get(2));
                }
                vo.setDoorNo(Integer.valueOf(oneData.get(5)));
                vo.setFloor(oneData.get(6));
                if(oneData.get(7) == null){
                    throw new ServiceException("500", "单元号不可为空:第" + index + "行,第8列");
                if(oneData.get(3) != null){
                    vo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCodeByName(oneData.get(3)));
                }
                vo.setUnitNo(Integer.valueOf(oneData.get(7)));
                if(oneData.get(8) == null){
                    throw new ServiceException("500", "户室不可为空:第" + index + "行,第9列");
                if(oneData.get(4) != null){
                    vo.setIsRent(PopulIsOkEnum.getCodeByName(oneData.get(4)));
                }
                vo.setHouseNo(Integer.valueOf(oneData.get(8)));
                vo.setNation(oneData.get(9));
                if(oneData.get(10) == null){
                    throw new ServiceException("500", "政治面貌不可为空:第" + index + "行,第11列");
                if(oneData.get(5) != null){
                    vo.setRelation(oneData.get(5));
                }
                vo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCodeByName(oneData.get(10)));
                vo.setCardNo(oneData.get(11));
                vo.setPhone(oneData.get(12));
                vo.setNativePlace(oneData.get(13));
                vo.setWorkCompany(oneData.get(14));
                for (int i = 15; i < headSize; i++) {
                if(oneData.get(6) != null){
                    vo.setRoad(oneData.get(6));
                }
                if(oneData.get(7) != null){
                    vo.setDoorNo(Integer.valueOf(oneData.get(7)));
                }
                if(oneData.get(8) != null){
                    vo.setFloor(oneData.get(8));
                }
                if(oneData.get(9) != null){
                    vo.setUnitNo(Integer.valueOf(oneData.get(9)));
                }
                if(oneData.get(10) != null){
                    vo.setHouseNo(Integer.valueOf(oneData.get(10)));
                }
                if(oneData.get(11) != null){
                    vo.setPhone(oneData.get(11));
                }
                if(oneData.get(12) != null){
                    vo.setNativePlace(oneData.get(12));
                }
                if(oneData.get(13) != null){
                    vo.setCultureLevel(oneData.get(13));
                }
                if(oneData.get(14) != null){
                    vo.setMarriage(oneData.get(14));
                }
                if(oneData.get(15) != null){
                    vo.setHealthy(oneData.get(15));
                }
                if(oneData.get(16) != null){
                    vo.setWorkCompany(oneData.get(16));
                }
                if(oneData.get(17) != null){
                    vo.setRemark(oneData.get(17));
                }
                for (int i = 18; i < headSize; i++) {
                    if (oneData.get(i) != null && oneData.get(i).equals("是")) {
                        vo.getUserTagStr().add(headData.get(i));
                    }