| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.panzhihua.common.controller.BaseController; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; |
| | | import com.panzhihua.sangeshenbian.model.entity.*; |
| | |
| | | @Resource |
| | | private IComActService comActService; |
| | | |
| | | |
| | | |
| | | @PostMapping("/data") |
| | | @ApiOperation(value = "分析统计", tags = {"三个身边后台-分析统计"}) |
| | | public R<AnalyticStatisticsDataVo> data(@Valid @RequestBody AnalyticStatisticsQuery query){ |
| | |
| | | } |
| | | |
| | | LambdaQueryWrapper<Complaint> wrapper = new LambdaQueryWrapper<Complaint>(); |
| | | SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(null); |
| | | if(query.getCityCode()!=null){ |
| | | // 判断是否有市级权限 |
| | | if(systemUserLevel==null){ |
| | | throw new ServiceException("没有市级权限"); |
| | | } |
| | | wrapper.eq(Complaint::getCityCode, query.getCityCode()); |
| | | } |
| | | if(query.getDistrictCode()!=null){ |
| | | // 判断是否有区县权限 |
| | | List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(query.getDistrictCode().toString())).collect(Collectors.toList()); |
| | | // 没有市权限 也没有该区权限 |
| | | if(systemUserLevels2.size()==0 && systemUserLevel==null){ |
| | | throw new ServiceException("没有该区县权限"); |
| | | } |
| | | wrapper.eq(Complaint::getDistrictsCode, query.getDistrictCode()); |
| | | } |
| | | if(query.getStreetId()!=null){ |
| | | // 获取街道上一级查看是否有上级权限 |
| | | ComStreet comStreet = comStreetService.getById(query.getStreetId()); |
| | | if(comStreet==null){ |
| | | throw new ServiceException("没有该街道权限"); |
| | | } |
| | | List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(comStreet.getAreaCode().toString())).collect(Collectors.toList()); |
| | | // 判断是否有街道权限 |
| | | List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3 && e.getStreetId().equals(query.getStreetId().toString())).collect(Collectors.toList()); |
| | | // 没有市级 上级区县 本级街道权限 |
| | | if(systemUserLevels3.size()==0 && systemUserLevel==null && systemUserLevels2.size()==0){ |
| | | throw new ServiceException("没有该街道权限"); |
| | | } |
| | | wrapper.eq(Complaint::getStreetId, query.getStreetId()); |
| | | } |
| | | if(query.getCommunityId()!=null){ |
| | | |
| | | ComAct comAct = comActService.getById(query.getCommunityId()); |
| | | if (comAct == null) { |
| | | throw new ServiceException("没有该社区权限"); |
| | | } |
| | | // 查看是否有上级街道权限 |
| | | List<SystemUserLevel> systemUserLevels2 = listBySystemUsers.stream().filter(e -> e.getLevel() == 3 && e.getStreetId().equals(comAct.getStreetId().toString())).collect(Collectors.toList()); |
| | | |
| | | // 查看是否有上级区权限 |
| | | List<SystemUserLevel> systemUserLevels3 = listBySystemUsers.stream().filter(e -> e.getLevel() == 2 && e.getDistrictsCode().equals(comAct.getAreaCode())).collect(Collectors.toList()); |
| | | |
| | | // 查看是否有本级权限 |
| | | List<SystemUserLevel> systemUserLevels4 = listBySystemUsers.stream().filter(e -> e.getLevel() == 4 && e.getCommunityId().equals(query.getCommunityId())).collect(Collectors.toList()); |
| | | |
| | | // 判断是否有上面的4个权限 |
| | | if(systemUserLevels4.size()==0 && systemUserLevels3.size()==0 && systemUserLevels2.size()==0 && systemUserLevel==null){ |
| | | throw new ServiceException("没有该社区权限"); |
| | | } |
| | | wrapper.eq(Complaint::getCommunityId, query.getCommunityId()); |
| | | } |
| | | // 都为空 查他有的 |
| | | if(query.getCityCode()==null && query.getDistrictCode()==null && query.getStreetId()==null && query.getCommunityId()==null){ |
| | | // 看是否直接是市级账号 |
| | | SystemUserLevel systemUserLevel = listBySystemUsers.stream().filter(e -> e.getLevel() == 1).findFirst().orElse(null); |
| | | if(systemUserLevel==null){ |
| | | List<String> districtsCodes=new ArrayList<>(); |
| | | List<String> streetIds=new ArrayList<>(); |
| | |
| | | // 查询所有的县 街道 社区 |
| | | List<BcRegion> list = bcRegionService.list(new LambdaQueryWrapper<BcRegion>().eq(BcRegion::getParentId, 510400)); |
| | | |
| | | List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getAreaCode, 510400)); |
| | | List<ComStreet> list1 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getCityCode, 510400)); |
| | | |
| | | List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getState,0).eq(ComAct::getAreaCode, 510400)); |
| | | List<ComAct> list2 = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getState,0).eq(ComAct::getCityCode, 510400)); |
| | | analyticStatisticsRegionVo.setBcRegions(list); |
| | | analyticStatisticsRegionVo.setComStreets(list1); |
| | | analyticStatisticsRegionVo.setComActs(list2); |
| | |
| | | if(collect1.size()==0){ |
| | | collect1.add("0"); |
| | | } |
| | | |
| | | // 区县街道 |
| | | List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().in(ComStreet::getStreetId, collect1)); |
| | | |