From 039abee6b27058ca46b1e1e82aa0b5407a5dad44 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 28 七月 2025 15:25:26 +0800 Subject: [PATCH] 优化 和修改bug --- springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java index 4e99354..fa6c45d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/AnalyticStatisticsController.java @@ -72,15 +72,16 @@ } wrapper.eq(Complaint::getSuperiorId, query.getDistrictCode()); } - if(query.getStreetId()!=null){ + if(query.getStreetId()!=null && query.getCommunityId()==null){ // 获取街道上一级查看是否有上级权限 ComStreet comStreet = comStreetService.getById(query.getStreetId()); if(comStreet==null){ throw new ServiceException("没有该街道权限"); } // 没有市级 上级区县 本级街道权限 - if(accountLevel==2 || (accountLevel==3 && systemUser.getDistrictsCode().equals(query.getDistrictCode().toString()))){ - wrapper.eq(Complaint::getSuperiorId, query.getStreetId()); + if(accountLevel==2 || (accountLevel==3 && systemUser.getStreetId().equals(query.getStreetId().toString()))){ + List<Long> collect = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, comStreet.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + wrapper.eq(Complaint::getSuperiorId, query.getStreetId()).or().eq(Complaint::getLastSuperiorId,query.getStreetId()).or(w->w.in(Complaint::getSuperiorId,collect).eq(Complaint::getNowLevel,4)).or(w->w.in(Complaint::getLastSuperiorId,collect).eq(Complaint::getLastLevel,4)); }else { throw new ServiceException("没有该街道权限"); } @@ -94,7 +95,7 @@ } // 判断是否有上面的4个权限 - if(accountLevel==2 || (accountLevel==3 && systemUser.getDistrictsCode().equals(comAct.getStreetId().toString()) || accountLevel==4 && systemUser.getCommunityId().equals(comAct.getCommunityId()))){ + if(accountLevel==2 || (accountLevel==3 && systemUser.getStreetId().equals(comAct.getStreetId().toString()) || accountLevel==4 && systemUser.getCommunityId().equals(comAct.getCommunityId()))){ wrapper.eq(Complaint::getSuperiorId, query.getCommunityId()); }else { throw new ServiceException("没有该社区权限"); @@ -103,18 +104,27 @@ // 都为空 查他有的 if(query.getCityCode()==null && query.getDistrictCode()==null && query.getStreetId()==null && query.getCommunityId()==null){ - if(systemUser.getSystemRoleId()==1){ - wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel()); + if(systemUser.getSystemRoleId()==1 || systemUser.getSystemRoleId()==2){ + if(systemUser.getSystemRoleId()==1){ + wrapper.and(w->w.ne(Complaint::getProblemType,"检举控告").or().isNull(Complaint::getProblemType)); + } + if(accountLevel==3){ + String streetId = systemUser.getStreetId(); + List<Long> ids = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, streetId)).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel()).eq(Complaint::getSuperiorId,streetId).or(wrapper1 ->wrapper1.in(Complaint::getSuperiorId,ids).eq(Complaint::getNowLevel,4)); + } + if(accountLevel==4){ + wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel()).eq(Complaint::getSuperiorId,systemUser.getCommunityId()); + } }else { wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel()) .eq(Complaint::getAssignPersonId,systemUser.getOneDepartmentId()); } } - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<Complaint> complaints =complaintService.list(wrapper); // 第一部分数据 - AnalyticStatisticsOneVo analyticStatisticsOneVo = complaintService.analyticStatisticsOne(query,complaints,simpleDateFormat); + AnalyticStatisticsOneVo analyticStatisticsOneVo = complaintService.analyticStatisticsOne(query,complaints,simpleDateFormat,systemUser.getAccountLevel()); // 第二部分数据 List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query.getTime(),complaints,simpleDateFormat); @@ -184,7 +194,7 @@ }) public R<?> getNextRegion(@RequestParam String id, @RequestParam Integer type){ if(type==1){ - List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getAreaCode, id)); + List<ComStreet> list3 = comStreetService.list(new LambdaQueryWrapper<ComStreet>().eq(ComStreet::getAppId, "wx0cef797390444b75")); return R.ok(list3); } if(type==2){ -- Gitblit v1.7.1