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