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 |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 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 63e088b..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("没有该社区权限");
@@ -105,15 +106,15 @@
         if(query.getCityCode()==null && query.getDistrictCode()==null && query.getStreetId()==null && query.getCommunityId()==null){
             if(systemUser.getSystemRoleId()==1 || systemUser.getSystemRoleId()==2){
                 if(systemUser.getSystemRoleId()==1){
-                    wrapper.ne(Complaint::getProblemType,"检举");
+                    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()).or(wrapper1 ->wrapper1.in(Complaint::getSuperiorId,ids).eq(Complaint::getNowLevel,4));
+                    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());
+                    wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel()).eq(Complaint::getSuperiorId,systemUser.getCommunityId());
                 }
             }else {
                 wrapper.eq(Complaint::getNowLevel,systemUser.getAccountLevel())
@@ -193,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