| | |
| | | } |
| | | } |
| | | |
| | | if(comMngPopulationVO.getType()!=null){ |
| | | switch (comMngPopulationVO.getType()){ |
| | | case 1 : comMngPopulationVO.setAgeStart("80"); |
| | | comMngPopulationVO.setAgeEnd("89"); |
| | | break; |
| | | case 2 : comMngPopulationVO.setAgeStart("90"); |
| | | comMngPopulationVO.setAgeEnd("99"); |
| | | break; |
| | | case 3 : comMngPopulationVO.setAgeStart("100"); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { |
| | | String ageStartTime = DateUtils.getDateFormatString( |
| | | DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); |
| | |
| | | populDO.setPoliticalOutlookName( |
| | | PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); |
| | | populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); |
| | | if(populDO.getAge()>=80&&populDO.getAge()<=89){ |
| | | populDO.setType(1); |
| | | } |
| | | if(populDO.getAge()>=90&&populDO.getAge()<=99){ |
| | | populDO.setType(2); |
| | | } |
| | | if(populDO.getAge()>=100){ |
| | | populDO.setType(3); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | @Override |
| | | public R exportOld(ComMngPopulationDTO comMngPopulationVO) { |
| | | if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { |
| | | String ageStartTime = DateUtils.getDateFormatString( |
| | | DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); |
| | | if (StringUtils.isNotEmpty(ageStartTime)) { |
| | | comMngPopulationVO.setAgeStartTime(ageStartTime); |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeEnd())) { |
| | | String ageEndTime = DateUtils.getDateFormatString( |
| | | DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeEnd()))), "yyyy-MM-dd"); |
| | | if (StringUtils.isNotEmpty(ageEndTime)) { |
| | | comMngPopulationVO.setAgeEndTime(ageEndTime); |
| | | } |
| | | } |
| | | if (comMngPopulationVO.getAgeStartTime() != null && !"".equals(comMngPopulationVO.getAgeStartTime()) |
| | | && comMngPopulationVO.getAgeEndTime() != null && !"".equals(comMngPopulationVO.getAgeEndTime())) { |
| | | if (comMngPopulationVO.getAgeStartTime().equals(comMngPopulationVO.getAgeEndTime())) { |
| | | Date endAge = |
| | | DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); |
| | | String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); |
| | | if (StringUtils.isNotEmpty(ageStartTime)) { |
| | | comMngPopulationVO.setAgeStartTimeEnd(ageStartTime); |
| | | } |
| | | } else { |
| | | Date endAge = |
| | | DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); |
| | | String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); |
| | | if (StringUtils.isNotEmpty(ageStartTime)) { |
| | | comMngPopulationVO.setAgeEndTimeEnd(ageStartTime); |
| | | } |
| | | } |
| | | } |
| | | List<ComMngPopulationVO> comMngPopulationVOS=this.comMngPopulationDAO.exportOld(comMngPopulationVO); |
| | | if(!comMngPopulationVOS.isEmpty()){ |
| | | comMngPopulationVOS.forEach(populDO -> { |
| | | if (StringUtils.isNotEmpty(populDO.getBirthday())) { |
| | | populDO.setAge(AgeUtils.getAgeFromBirthTimes(populDO.getBirthday())); |
| | | populDO.setRelationName(PopulRelationEnum.getCnDescByName(populDO.getRelation())); |
| | | populDO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(populDO.getCultureLevel())); |
| | | populDO.setPoliticalOutlookName( |
| | | PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); |
| | | populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); |
| | | if(populDO.getAge()>=80&&populDO.getAge()<=89){ |
| | | populDO.setType(1); |
| | | } |
| | | if(populDO.getAge()>=90&&populDO.getAge()<=99){ |
| | | populDO.setType(2); |
| | | } |
| | | if(populDO.getAge()>=100){ |
| | | populDO.setType(3); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(comMngPopulationVOS); |
| | | } |
| | | |
| | | /** |
| | |
| | | private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO, |
| | | Long communityId, Long userId) { |
| | | BeanUtils.copyProperties(vo, populationDO); |
| | | Integer personType = vo.getPersonType(); |
| | | if (nonNull(personType)) { |
| | | populationDO.setPersonType(personType.toString()); |
| | | } |
| | | // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> |
| | | // userTagStr.split("\\(")[0]).collect(Collectors.toList()); |
| | | // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 |
| | |
| | | ComMngVillageDO comMngVillageDO, Long userId) { |
| | | ComMngPopulationDO populationDO = new ComMngPopulationDO(); |
| | | BeanUtils.copyProperties(vo, populationDO); |
| | | Integer personType = vo.getPersonType(); |
| | | if (nonNull(personType)) { |
| | | populationDO.setPersonType(personType.toString()); |
| | | } |
| | | populationDO.setId(Snowflake.getId()); |
| | | // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> |
| | | // userTagStr.split("\\(")[0]).collect(Collectors.toList()); |
| | |
| | | return R.ok(indexInfo); |
| | | } |
| | | |
| | | /** |
| | | * 历史数据人员类型填充 |
| | | * @param list |
| | | * @param communityId |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R filledPopulationPersonType(List<ComMngPopulationServeExcelVO> list, Long communityId, Long userId) { |
| | | // 需要修改的人口集合 |
| | | List<ComMngPopulationDO> updateList = new ArrayList<>(); |
| | | log.info("开始处理导入数据"); |
| | | List<ComMngPopulationMistakeExcelVO> mistakes = new ArrayList<>(); |
| | | try { |
| | | // 查询所有人口数据放入HashMap中 |
| | | List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null); |
| | | HashMap<String, Object> populationMap = new HashMap<>(); |
| | | populationList.forEach(population -> { |
| | | String key = population.getCardNo(); |
| | | populationMap.put(key, population); |
| | | }); |
| | | for (ComMngPopulationServeExcelVO vo : list) { |
| | | // 判断实有人口是否已存在 |
| | | log.info("开始查询实有人口是否已存在"); |
| | | ComMngPopulationDO populationDO = null; |
| | | String populationKey = vo.getCardNo(); |
| | | if (!isOnly(populationKey, populationMap)) { |
| | | // 存在实有人口信息,则更新人员类型 |
| | | populationDO = (ComMngPopulationDO)populationMap.get(populationKey); |
| | | Integer personType = vo.getPersonType(); |
| | | if (nonNull(personType)) { |
| | | populationDO.setPersonType(personType.toString()); |
| | | } |
| | | updateList.add(populationDO); |
| | | } else { |
| | | // 不存在实有人口,返回 |
| | | ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); |
| | | BeanUtils.copyProperties(vo, mistake); |
| | | setMistake(mistake, vo); |
| | | mistake.setMistake("人口信息不存在,请下载实有人口模板导入"); |
| | | mistakes.add(mistake); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.info("出现错误,错误原因:" + e.getMessage()); |
| | | } |
| | | if (!updateList.isEmpty()) { |
| | | log.info("执行数据库更新人口"); |
| | | this.baseMapper.updateAll(updateList); |
| | | log.info("数据库更新人口完成"); |
| | | } |
| | | if (!mistakes.isEmpty()) { |
| | | log.info("返回错误数据"); |
| | | return R.fail(mistakes); |
| | | } |
| | | return R.ok(mistakes); |
| | | } |
| | | |
| | | private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo) { |
| | | mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); |
| | | mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); |