| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.base.Joiner; |
| | | import com.google.common.collect.Lists; |
| | | import com.panzhihua.common.enums.PopulCultureLevelEnum; |
| | | import com.panzhihua.common.enums.PopulHouseUseEnum; |
| | | import com.panzhihua.common.enums.PopulIsOksEnum; |
| | | import com.panzhihua.common.enums.PopulMarriageEnum; |
| | | import com.panzhihua.common.enums.*; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.dtos.community.*; |
| | | import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDTO; |
| | | import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO; |
| | | import com.panzhihua.common.model.dtos.grid.AddComMngHousePopulationDTO; |
| | | import com.panzhihua.common.model.dtos.grid.PageComMngPopulationDTO; |
| | | import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; |
| | | import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationExportDTO; |
| | | import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; |
| | | import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationSubordinateDTO; |
| | | import com.panzhihua.common.model.dtos.grid.admin.PageComMngVillagePopulationDTO; |
| | | import com.panzhihua.common.model.dtos.user.PageInputUserDTO; |
| | | import com.panzhihua.common.model.helper.AESUtil; |
| | | import com.panzhihua.common.model.vos.R; |
| | |
| | | import com.panzhihua.common.model.vos.community.screen.index.*; |
| | | import com.panzhihua.common.model.vos.grid.*; |
| | | import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationListVO; |
| | | import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationVillageVO; |
| | | import com.panzhihua.common.model.vos.grid.admin.ComMngSubordinateVO; |
| | | import com.panzhihua.common.model.vos.grid.admin.excel.ComMngPopulationExportExcelVO; |
| | | import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; |
| | | import com.panzhihua.common.model.vos.screen.ComActPopulationScreenVO; |
| | | import com.panzhihua.common.model.vos.screen.ComMngPopulationAgeVO; |
| | | import com.panzhihua.common.model.vos.user.*; |
| | | import com.panzhihua.common.model.vos.user.ComMngUserTagVO; |
| | | import com.panzhihua.common.utlis.AgeUtils; |
| | | import com.panzhihua.common.utlis.DateUtils; |
| | | import com.panzhihua.common.utlis.Snowflake; |
| | |
| | | import com.panzhihua.service_community.model.dos.*; |
| | | import com.panzhihua.service_community.service.ComMngPopulationHouseUserService; |
| | | import com.panzhihua.service_community.service.ComMngPopulationService; |
| | | import com.panzhihua.service_community.service.ComMngVillageService; |
| | | import com.panzhihua.service_community.service.EventResourceService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | private EventResourceService eventResourceService; |
| | | @Resource |
| | | private BigScreenDAO bigScreenDAO; |
| | | @Resource |
| | | private ComMngUserTagDAO comMngUserTagDAO; |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | if (!vo.getHouseEditDTOList().isEmpty()) { |
| | | for (ComMngPopulationHouseEditDTO houseEditDto : vo.getHouseEditDTOList()) { |
| | | ComMngPopulationHouseUserDO populationHouseUserDO = new ComMngPopulationHouseUserDO(); |
| | | populationHouseUserDO.setId(Snowflake.getId()); |
| | | populationHouseUserDO.setPopulId(populationDO.getId()); |
| | | populationHouseUserDO.setHouseId(houseEditDto.getId()); |
| | | if (houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)) { |
| | |
| | | } else { |
| | | return R.fail(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public R specialInputUserTags(PageInputUserDTO comMngUserTagDTO) { |
| | | IPage<ComMngTagVO> iPage = populationDAO.specialInputUserTags(new Page<>(comMngUserTagDTO.getPageNum() |
| | | , comMngUserTagDTO.getPageSize()), comMngUserTagDTO); |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | @Override |
| | | public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) { |
| | | if (null != comMngTagVO.getId() && comMngTagVO.getId() != 0) { |
| | | //修改 |
| | | ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId()); |
| | | if (null == comMngUserTagDO) { |
| | | return R.fail("该标签不存在"); |
| | | } |
| | | ComMngUserTagDO checkCreditCode = comMngUserTagDAO.selectOne(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())); |
| | | if (null != checkCreditCode && comMngUserTagDO.getId() != checkCreditCode.getId()) { |
| | | return R.fail("该标签已存在,标签名称重复"); |
| | | } |
| | | |
| | | BeanUtils.copyProperties(comMngTagVO, comMngUserTagDO); |
| | | int update = comMngUserTagDAO.updateById(comMngUserTagDO); |
| | | if (update > 0) { |
| | | return R.ok(); |
| | | } |
| | | } else { |
| | | //新增 |
| | | Integer count = comMngUserTagDAO.selectCount(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())); |
| | | if (count > 0) { |
| | | return R.fail("该标签已存在,标签名称重复"); |
| | | } |
| | | ComMngUserTagDO comMngUserTagDO = new ComMngUserTagDO(); |
| | | BeanUtils.copyProperties(comMngTagVO, comMngUserTagDO); |
| | | int insert = comMngUserTagDAO.insert(comMngUserTagDO); |
| | | if (insert > 0) { |
| | | return R.ok(); |
| | | } |
| | | } |
| | | |
| | | return R.fail("添加失败"); |
| | | } |
| | | |
| | | @Override |
| | | public R deleteSpecialInputUserTags(Long id) { |
| | | //查询特殊群体人员 |
| | | ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(id); |
| | | if (comMngUserTagDO == null) { |
| | | return R.fail("该标签不存在"); |
| | | } |
| | | int delete = comMngUserTagDAO.deleteById(id); |
| | | if (delete > 0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail("删除失败"); |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 事件大屏统计接口 |
| | | * |
| | | * @param communityId 社区id |
| | | * @param screenEventDTO 请求参数 |
| | | * @return 统计结果 |
| | | */ |
| | | @Override |
| | | public R getScreenEvent(Long communityId) { |
| | | public R getScreenEvent(BigScreenEventDTO screenEventDTO) { |
| | | |
| | | Long communityId = screenEventDTO.getCommunityId(); |
| | | //创建统计返回参数 |
| | | EventStatisticsVO statisticsVO = new EventStatisticsVO(); |
| | | |
| | | //查询页面左边数据 |
| | | EventLeftStatisticsVO leftStatisticsVO = new EventLeftStatisticsVO(); |
| | | //查询左上数据 |
| | | EventLeftTopStatisticsVO leftTopStatisticsVO = this.baseMapper.getEventScreenLeftTop(communityId); |
| | | EventLeftTopStatisticsVO leftTopStatisticsVO = this.baseMapper.getEventScreenLeftTop(screenEventDTO); |
| | | //查询时间频发月份 |
| | | List<Integer> monthList = this.baseMapper.getFrequentlyEventMonth(communityId); |
| | | leftTopStatisticsVO.setOftenMonth(monthList); |
| | | leftStatisticsVO.setLeftTopStatisticsVO(leftTopStatisticsVO); |
| | | //查询左下数据 |
| | | EventLeftDownStatisticsVO leftDownStatisticsVO = this.baseMapper.getEventScreenLeftDown(communityId); |
| | | EventLeftDownStatisticsVO leftDownStatisticsVO = this.baseMapper.getEventScreenLeftDown(screenEventDTO); |
| | | leftStatisticsVO.setLeftDownStatisticsVO(leftDownStatisticsVO); |
| | | statisticsVO.setLeftStatisticsVO(leftStatisticsVO); |
| | | |
| | |
| | | statisticsVO.setGridStatisticsList(gridStatisticsList); |
| | | |
| | | //查询社区事件列表 |
| | | List<EventGridIncidentStatisticsVO> gridIncidentList = this.baseMapper.getEventScreenEventList(communityId); |
| | | List<EventGridIncidentStatisticsVO> gridIncidentList = this.baseMapper.getEventScreenEventList(screenEventDTO); |
| | | statisticsVO.setGridIncidentList(gridIncidentList); |
| | | |
| | | //查询小区列表 |
| | |
| | | comActPopulationScreenVO.setAgeGroup(ageList); |
| | | } |
| | | |
| | | /** |
| | | * 获取社区网格 |
| | | * |
| | | * @param communityId 社区id |
| | | * @return 网格数据 |
| | | */ |
| | | @Override |
| | | public R getScreenGirds(Long communityId) { |
| | | return R.ok(this.baseMapper.getEventScreenGridData(communityId)); |
| | | } |
| | | |
| | | /** |
| | | * 事件大屏查询事件详情 |
| | | * |
| | | * @param eventDetailDTO 请求参数 |
| | | * @return 事件详情 |
| | | */ |
| | | @Override |
| | | public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) { |
| | | EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO(); |
| | |
| | | return R.ok(statisticsVO); |
| | | } |
| | | |
| | | /** |
| | | * 获取人口数据信息 |
| | | * |
| | | * @param populationListDTO 请求参数 |
| | | * @return 人口数据 |
| | | */ |
| | | @Override |
| | | public R pagePopulationListApp(PagePopulationListDTO populationListDTO){ |
| | | IPage<PopulationListVO> pagePopulationList = this.baseMapper.pagePopulationListApp(new Page(populationListDTO.getPageNum(),populationListDTO.getPageSize()),populationListDTO); |
| | |
| | | return R.ok(pagePopulationList); |
| | | } |
| | | |
| | | /** |
| | | * 根据人口id获取人口详情 |
| | | * |
| | | * @param populationId 人口id |
| | | * @return 人口详情 |
| | | */ |
| | | @Override |
| | | public R getPopulationDetailApp(Long populationId){ |
| | | PopulationDetailVO detail = this.baseMapper.getPopulationDetailApp(populationId); |
| | |
| | | return R.ok(detail); |
| | | } |
| | | |
| | | /** |
| | | * 修复人口加密问题 |
| | | * |
| | | * @return 修复结果 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R getPopulationRepairByApp(){ |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 综治后台-居民列表 |
| | | * @param populationListDTO 请求参数 |
| | | * @return 居民列表 |
| | | */ |
| | | @Override |
| | | public R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO){ |
| | | IPage<ComMngPopulationListVO> populationListIPage = this.baseMapper.getGridPopulationAdminList(new Page(populationListDTO.getPageNum(),populationListDTO.getPageSize()),populationListDTO); |
| | |
| | | return R.ok(populationListIPage); |
| | | } |
| | | |
| | | /** |
| | | * 综治后台-删除居民 |
| | | * @param ids 居民id集合 |
| | | * @return 删除结果 |
| | | */ |
| | | @Override |
| | | public R delGridPopulationAdmin(List<Long> ids){ |
| | | Integer count = this.baseMapper.getPopulationVisitingCount(ids); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 查询平台人口列表 |
| | | * @param populationDTO 请求参数 |
| | | * @return 人口列表 |
| | | */ |
| | | @Override |
| | | public R getBuildingHousePopulationList(PageComMngPopulationDTO populationDTO){ |
| | | |
| | |
| | | return R.ok(populationVOIPage); |
| | | } |
| | | |
| | | /** |
| | | * 综治后台-居民标签栏统计 |
| | | * @return 居民统计 |
| | | */ |
| | | @Override |
| | | public R getGridPopulationStatistics(Long communityId){ |
| | | return R.ok(this.baseMapper.getGridPopulationStatistics(communityId)); |
| | | } |
| | | |
| | | /** |
| | | * 综治后台-居民导出查询居民数据 |
| | | * @param populationExportDTO 请求参数 |
| | | * @return 导出结果 |
| | | */ |
| | | @Override |
| | | public R getGridPopulationExport(ComMngPopulationExportDTO populationExportDTO){ |
| | | //结果集 |
| | | List<ComMngPopulationExportExcelVO> resultPopulationList = new ArrayList<>(); |
| | | //查询人口信息 |
| | | List<ComMngPopulationListVO> populationListVOList = this.baseMapper.getGridPopulationAdminLists(populationExportDTO); |
| | | if(!populationListVOList.isEmpty()){ |
| | | populationListVOList.forEach(population -> { |
| | | ComMngPopulationExportExcelVO populationExportExcelVO = new ComMngPopulationExportExcelVO(); |
| | | BeanUtils.copyProperties(population,populationExportExcelVO); |
| | | if(population.getSex() != null){ |
| | | populationExportExcelVO.setSex(PopulSexEnum.getCnDescByName(population.getSex())); |
| | | } |
| | | if(population.getPoliticalOutlook() != null){ |
| | | populationExportExcelVO.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(population.getPoliticalOutlook())); |
| | | } |
| | | if(population.getIsHouse() != null){ |
| | | if(!population.getIsHouse().equals(0L)){ |
| | | populationExportExcelVO.setIsHouse("是"); |
| | | }else{ |
| | | populationExportExcelVO.setIsHouse("否"); |
| | | } |
| | | } |
| | | if(population.getEventStatus() != null){ |
| | | populationExportExcelVO.setEventStatus(EventStatusEnum.getCnDescByName(population.getEventStatus())); |
| | | } |
| | | try { |
| | | Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); |
| | | populationExportExcelVO.setAge(age); |
| | | }catch (Exception e){ |
| | | log.error("当前人口身份证获取年龄失败,实有人口id:" + population.getId()); |
| | | } |
| | | resultPopulationList.add(populationExportExcelVO); |
| | | }); |
| | | } |
| | | return R.ok(resultPopulationList); |
| | | } |
| | | |
| | | /** |
| | | * 综治后台-居民管理小区列表 |
| | | * @param name 小区名字 |
| | | * @return 小区列表 |
| | | */ |
| | | @Override |
| | | public R relationVillage(String name){ |
| | | List<ComMngPopulationVillageVO> populationVillageList = new ArrayList<>(); |
| | | QueryWrapper<ComMngVillageDO> villageQuery = new QueryWrapper<>(); |
| | | if(StringUtils.isNotEmpty(name)){ |
| | | villageQuery.lambda().like(ComMngVillageDO::getName,name); |
| | | } |
| | | |
| | | List<ComMngVillageDO> villageList = comActVillageDAO.selectList(villageQuery); |
| | | if(!villageList.isEmpty()){ |
| | | villageList.forEach(village -> { |
| | | ComMngPopulationVillageVO populationVillageVO = new ComMngPopulationVillageVO(); |
| | | BeanUtils.copyProperties(village,populationVillageVO); |
| | | populationVillageList.add(populationVillageVO); |
| | | }); |
| | | } |
| | | return R.ok(populationVillageList); |
| | | } |
| | | |
| | | @Override |
| | | public R getVillagePopulationAdmin(PageComMngVillagePopulationDTO villagePopulationDTO){ |
| | | return R.ok(this.baseMapper.getVillagePopulationAdmin(new Page(villagePopulationDTO.getPageNum(),villagePopulationDTO.getPageSize()),villagePopulationDTO)); |
| | | } |
| | | |
| | | } |