From d9815743a32ca02824dee9018f2fc7e15ca5308e Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 20 十月 2022 14:16:39 +0800
Subject: [PATCH] 修改【导办工单管理】权限问题 bug

---
 flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java       |   13 ++
 flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java       |    7 +
 flower_city/src/main/java/com/dg/core/api/ReplyTemplateAppletsController.java       |    7 +
 flower_city/src/main/java/com/dg/core/util/PermissionUtil.java                      |   58 +++++++++++
 flower_city/src/main/resources/mapper/SysUserMapper.xml                             |    6 +
 flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java                    |    3 
 flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java      |   52 +++++-----
 flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java     |    9 +
 flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java    |   50 +++++++--
 flower_city/src/main/java/com/dg/core/db/gen/entity/WorkOrder.java                  |    2 
 flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java |   14 +-
 flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java         |    6 
 flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml                    |    9 +
 flower_city/src/main/java/com/dg/core/api/ElseAccessoryAppletsController.java       |    7 +
 14 files changed, 182 insertions(+), 61 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/api/ElseAccessoryAppletsController.java b/flower_city/src/main/java/com/dg/core/api/ElseAccessoryAppletsController.java
index 7f83665..5d55e7c 100644
--- a/flower_city/src/main/java/com/dg/core/api/ElseAccessoryAppletsController.java
+++ b/flower_city/src/main/java/com/dg/core/api/ElseAccessoryAppletsController.java
@@ -10,6 +10,7 @@
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.service.IElseAccessoryService;
 import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.util.PermissionUtil;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -42,7 +43,11 @@
     public TableDataInfo selectConfigListAll(@RequestParam(value = "Name",required = false) String Name,
                                              @CurrentUser SysUser sysUser)
     {
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids= PermissionUtil.getPermission(sysUser);
+        if(ids==null || ids.size()<1)
+        {
+            return getDataTable("您没有权限查看该数据");
+        }
         List<ElseAccessoryEntity> list = iElseAccessoryService.selectConfigList(Name,ids);
         int num=iElseAccessoryService.countNum(Name,ids);
         return getDataTable(list,num);
diff --git a/flower_city/src/main/java/com/dg/core/api/ReplyTemplateAppletsController.java b/flower_city/src/main/java/com/dg/core/api/ReplyTemplateAppletsController.java
index 79cea4f..3dd277a 100644
--- a/flower_city/src/main/java/com/dg/core/api/ReplyTemplateAppletsController.java
+++ b/flower_city/src/main/java/com/dg/core/api/ReplyTemplateAppletsController.java
@@ -9,6 +9,7 @@
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.service.IOrganizationChartService;
 import com.dg.core.service.IReplyTemplateService;
+import com.dg.core.util.PermissionUtil;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -44,7 +45,11 @@
                                           @CurrentUser SysUser sysUser)
     {
         Page<ReplyTemplateEntity> pageParam = new Page<>(pageNum,pageSize);
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids= PermissionUtil.getPermission(sysUser);
+        if(ids==null || ids.size()<1)
+        {
+            return getDataTable("您没有权限查看该数据");
+        }
         List<ReplyTemplateEntity> list = iReplyTemplateService.selectConfigList(pageParam,pageSize,Name,ids);
         int num=iReplyTemplateService.countNum(Name,ids);
         return getDataTable(list,num);
diff --git a/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java b/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java
index eeb3607..c812741 100644
--- a/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/ElseAccessoryController.java
@@ -8,6 +8,7 @@
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.service.IElseAccessoryService;
 import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.util.PermissionUtil;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,7 +46,11 @@
                                           @CurrentUser SysUser sysUser)
     {
         Page<ElseAccessoryEntity> pageParam = new Page<>(pageNum,pageSize);
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids= PermissionUtil.getPermission(sysUser);
+        if(ids==null || ids.size()<1)
+        {
+            return getDataTable("您没有权限查看该数据");
+        }
         List<ElseAccessoryEntity> list = iElseAccessoryService.selectConfigList(pageParam,pageSize,name,ids);
         int num=iElseAccessoryService.countNum(name,ids);
         return getDataTable(list,num);
@@ -62,7 +67,11 @@
     public TableDataInfo selectConfigListAll(@RequestParam(value = "Name",required = false) String Name,
                                              @CurrentUser SysUser sysUser)
     {
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids= PermissionUtil.getPermission(sysUser);
+        if(ids==null || ids.size()<1)
+        {
+            return getDataTable("您没有权限查看该数据");
+        }
         List<ElseAccessoryEntity> list = iElseAccessoryService.selectConfigList(Name,ids);
         int num=iElseAccessoryService.countNum(Name,ids);
         return getDataTable(list,num);
diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
index 6e448b7..7fd0d50 100644
--- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -10,6 +10,7 @@
 import com.dg.core.service.IGuideEvolveService;
 import com.dg.core.service.IGuideRepairOrderService;
 import com.dg.core.service.IOrganizationChartService;
+import com.dg.core.util.PermissionUtil;
 import com.dg.core.util.SmsUtil;
 import com.dg.core.util.TableDataInfo;
 import com.dg.core.util.WxUtil;
@@ -373,10 +374,21 @@
         Assert.notNull(pageSize, "pageSize 不能为空");
         Page<GuideRepairOrder> pageParam = new Page<>(pageNum,pageSize);
 
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids=null;
+        String userId=null;
+        if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
+        {
+            userId=null;
+            ids= PermissionUtil.getPermission(sysUser);
+        }
+        else
+        {
+            userId=sysUser.getUserId()+"";
+        }
+
         List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,
-                matterName,ids,status);
-        int num=iGuideRepairOrderService.countConfigList(matterName,ids,status);
+                matterName,ids,status,userId);
+        int num=iGuideRepairOrderService.countConfigList(matterName,ids,status,userId);
         return getDataTable(list,num);
     }
 
@@ -387,22 +399,32 @@
     public ResultData getWorkOrder(@CurrentUser SysUser sysUser)
     {
         WorkOrder workOrder=new WorkOrder();
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids=null;
+        String userId=null;
+        if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
+        {
+            userId=null;
+            ids= PermissionUtil.getPermission(sysUser);
+        }
+        else
+        {
+            userId=sysUser.getUserId()+"";
+        }
         //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消  )
-        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null));
-        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null));
-        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null));
-        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null));
-        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null));
-        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null));
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,userId));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null,userId));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null,userId));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null,userId));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null,userId));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null,userId));
 
         //服务状态(1.已解决 2.未解决)
-        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2"));
-        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1"));
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2",userId));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1",userId));
 
         //是否超时 (1 未超时   2已超时) 超时未办结
-        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null));
-        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null));
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null,userId));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null,userId));
         return ResultData.success(workOrder);
     }
 
diff --git a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
index b1b3a6b..fc80055 100644
--- a/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/HomeStatisticsController.java
@@ -55,20 +55,20 @@
     {
         WorkOrder workOrder=new WorkOrder();
         //状态(1待分配  2 待办结 3 已办结 4 待评价 5 已取消)
-        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null));
-        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null,null));
-        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null,null));
-        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null));
-        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null));
-        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null,null));
+        workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null));
+        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",null,null,null,null,null,null,null));
+        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,null,null,null,null,null));
+        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null));
+        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null));
+        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",null,null,null,null,null,null,null));
         // //服务状态(1.已解决 2.未解决)
-        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"2"));
-        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1"));
+        workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"2",null));
+        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null));
 
         //是否超时 (1 未超时   2已超时) 超时未办结
-        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null));
+        workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null));
 //        超时未办结
-        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null,null));
+        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",null,null,"2",null,null,null,null));
         return ResultData.success(workOrder);
     }
 
@@ -80,11 +80,11 @@
         //1 今天   2昨天   3本月   4本年度
         //累计全部 本年 本月 今日 昨日
         TimeWorkOrder timeWorkOrder=new TimeWorkOrder();
-        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,null));
-        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null,null));
-        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null,null));
-        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null,null));
-        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null,null));
+        timeWorkOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,null,null));
+        timeWorkOrder.setYearNum(iGuideRepairOrderService.countStatisticsNum(null,null,"4",null,null,null,null,null));
+        timeWorkOrder.setMonthNum(iGuideRepairOrderService.countStatisticsNum(null,null,"3",null,null,null,null,null));
+        timeWorkOrder.setTodayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"1",null,null,null,null,null));
+        timeWorkOrder.setYesterdayNum(iGuideRepairOrderService.countStatisticsNum(null,null,"2",null,null,null,null,null));
         return ResultData.success(timeWorkOrder);
     }
 
@@ -121,38 +121,38 @@
     {
         EfficiencyEntity entity=new EfficiencyEntity();
         //总工单数
-        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null);
+        int allNum=iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null);
 
         java.text.DecimalFormat weekDf=new java.text.DecimalFormat("##.##%");//传入格式模板
 
-        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null);
+        int bj=iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null);
         if(bj!=0)
         {
             //        好评率=评价为满意的导办工单数量/已办结状态工单数量
-            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null,null)
+            String goodReputationEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,"1",null,null,null)
                     /(float)bj));
             entity.setGoodReputationEfficiency(goodReputationEfficiency);
 
             //      解决率=已解决状态的导办工单数量/已办结状态工单数量
-            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1")
+            String resolveEfficiency=weekDf.format((float)(iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,null,"1",null)
                     /(float)bj));
             entity.setResolveEfficiency(resolveEfficiency);
 
             if(allNum!=0)
             {
 //              办结率=待评价+已办结状态的导办工单数量/总工单数量
-                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null)
+                String workEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,null,null,null,null,null)
                         +bj)/(float)allNum));
                 entity.setWorkEfficiency(workEfficiency);
             }
         }
 
-        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null);
+        int cs=iGuideRepairOrderService.countStatisticsNum(null,null,null,"2",null,null,null,null);
         if(cs!=0)
         {
             //        超时办结率=超时状态下的待评价+已办结状态的导办工单数量/超时状态的导办工单数量
-            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null,null)
-                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null))
+            String timeoutEfficiency=weekDf.format((float)((iGuideRepairOrderService.countStatisticsNum("4",null,null,"2",null,null,null,null)
+                    +iGuideRepairOrderService.countStatisticsNum("3",null,null,null,null,null,null,null))
                     /(float)cs));
             entity.setTimeoutEfficiency(timeoutEfficiency);
 
@@ -174,7 +174,7 @@
     public ResultData<PieChartAll> getPieChart()
     {
         PieChartAll pieChartAll=new PieChartAll();
-        pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null)+"");
+        pieChartAll.setWorkOrderNum(iGuideRepairOrderService.countStatisticsNum("",null,null,null,null,null,null,null)+"");
         pieChartAll.setFingerpostNum(homeStatisticsService.countStatisticsNum(null)+"");
         List<PieChart> workOrderList=new ArrayList<>();
         List<PieChart> fingerpostList=new ArrayList<>();
@@ -198,7 +198,7 @@
             int fingerpostNum=0;
             if(clasIds.size()>0)
             {
-                workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds,null);
+                workOrderNum=iGuideRepairOrderService.countStatisticsNum(null,null,null,null,null,clasIds,null,null);
                 fingerpostNum=homeStatisticsService.countStatisticsNum(clasIds);
             }
             workOrder.setNum(workOrderNum+"");
@@ -352,7 +352,7 @@
             int num=0;
             if(ids!=null&&ids.size()>0)
             {
-                num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,null);
+                num=iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,null,null);
             }
             range.setNum(num+"");
             rangeStatistics.add(range);
diff --git a/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java b/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java
index d8b2ecc..fe90412 100644
--- a/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/ReplyTemplateController.java
@@ -8,6 +8,7 @@
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.service.IOrganizationChartService;
 import com.dg.core.service.IReplyTemplateService;
+import com.dg.core.util.PermissionUtil;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -43,7 +44,11 @@
                                           @CurrentUser SysUser sysUser)
     {
         Page<ReplyTemplateEntity> pageParam = new Page<>(pageNum,pageSize);
-        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+        List<String> ids= PermissionUtil.getPermission(sysUser);
+        if(ids==null || ids.size()<1)
+        {
+            return getDataTable("您没有权限查看该数据");
+        }
         List<ReplyTemplateEntity> list = iReplyTemplateService.selectConfigList(pageParam,pageSize,Name,ids);
         int num=iReplyTemplateService.countNum(Name,ids);
         return getDataTable(list,num);
diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java
index 8da1ee3..4690102 100644
--- a/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java
+++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/SysUser.java
@@ -257,6 +257,7 @@
     @ApiModelProperty("创建人名称")
     private String createName;
 
-
+    @ApiModelProperty("是否是部门领导(1是  2不是)")
+    private String isDivisionHead;
 
 }
diff --git a/flower_city/src/main/java/com/dg/core/db/gen/entity/WorkOrder.java b/flower_city/src/main/java/com/dg/core/db/gen/entity/WorkOrder.java
index b92f859..d758d99 100644
--- a/flower_city/src/main/java/com/dg/core/db/gen/entity/WorkOrder.java
+++ b/flower_city/src/main/java/com/dg/core/db/gen/entity/WorkOrder.java
@@ -13,8 +13,6 @@
 @Data
 public class WorkOrder implements Serializable
 {
-
-
     /**
      * 总数量
      */
diff --git a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
index 7e2bf84..8155944 100644
--- a/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
+++ b/flower_city/src/main/java/com/dg/core/db/gen/mapper/GuideRepairOrderMapper.java
@@ -53,7 +53,8 @@
     List<GuideRepairOrder> selectConfigList(IPage<GuideRepairOrder> page, Integer state,
                                             @Param("matterName") String matterName,
                                             @Param("ids") List<String> ids,
-                                            @Param("status") String status);
+                                            @Param("status") String status,
+                                            @Param("guideUserId") String guideUserId);
 
     /**
      * 获取工单列表(求和)
@@ -62,7 +63,8 @@
      */
     int countConfigList(@Param("matterName") String matterName,
                         @Param("ids") List<String> ids,
-                        @Param("status") String status);
+                        @Param("status") String status,
+                        @Param("guideUserId") String guideUserId);
 
 
     /**
@@ -89,7 +91,8 @@
                            @Param("isTimeout") String isTimeout,
                            @Param("evaluateState") String evaluateState,
                            @Param("classifyIds") List<String> classifyIds,
-                           @Param("serviceState") String serviceState);
+                           @Param("serviceState") String serviceState,
+                           @Param("guideUserId") String guideUserId);
 
     /**
      * 统计工单用
diff --git a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
index e954fb8..cc79de6 100644
--- a/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
+++ b/flower_city/src/main/java/com/dg/core/service/IGuideRepairOrderService.java
@@ -41,7 +41,7 @@
      * @return
      */
     List<GuideRepairOrder> selectConfigList(IPage<GuideRepairOrder> page, Integer state,
-                                            String matterName,List<String> ids,String status);
+                                            String matterName,List<String> ids,String status,String guideUserId);
 
 
     /**
@@ -49,7 +49,7 @@
      * @param matterName
      * @return
      */
-    int countConfigList(String matterName,List<String> ids,String status);
+    int countConfigList(String matterName,List<String> ids,String status,String guideUserId);
 
 
     /**
@@ -71,7 +71,7 @@
      */
     int countStatisticsNum(String state,List<String> ids,String time,String isTimeout,
                            String evaluateState,List<String> classifyIds,
-                           String serviceState);
+                           String serviceState,String guideUserId);
 
     /**
      * 统计数据
diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
index 534597c..1507ff1 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -202,13 +202,14 @@
 
     @Override
     public List<GuideRepairOrder> selectConfigList(IPage<GuideRepairOrder> page, Integer state,
-                                                   String matterName, List<String> ids,String status) {
-        return baseMapper.selectConfigList(page, state, matterName, ids,status);
+                                                   String matterName, List<String> ids,String status,
+                                                   String guideUserId) {
+        return baseMapper.selectConfigList(page, state, matterName, ids,status,guideUserId);
     }
 
     @Override
-    public int countConfigList(String matterName, List<String> ids,String status) {
-        return baseMapper.countConfigList(matterName, ids,status);
+    public int countConfigList(String matterName, List<String> ids,String status,String guideUserId) {
+        return baseMapper.countConfigList(matterName, ids,status,guideUserId);
     }
 
     @Override
@@ -263,8 +264,9 @@
     @Override
     public int countStatisticsNum(String state, List<String> ids, String time,
                                   String isTimeout, String evaluateState,
-                                  List<String> classifyIds,String serviceState) {
-        return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds,serviceState);
+                                  List<String> classifyIds,String serviceState,
+                                  String guideUserId) {
+        return baseMapper.countStatisticsNum(state, ids, time, isTimeout, evaluateState, classifyIds,serviceState,guideUserId);
     }
 
     @Override
diff --git a/flower_city/src/main/java/com/dg/core/util/PermissionUtil.java b/flower_city/src/main/java/com/dg/core/util/PermissionUtil.java
new file mode 100644
index 0000000..ebec6a9
--- /dev/null
+++ b/flower_city/src/main/java/com/dg/core/util/PermissionUtil.java
@@ -0,0 +1,58 @@
+package com.dg.core.util;
+
+import com.dg.core.db.gen.entity.SysUser;
+import com.dg.core.service.IOrganizationChartService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class PermissionUtil
+{
+
+    @Autowired(required = true)
+    static IOrganizationChartService iOrganizationChartService;
+
+
+    public static List<String> getPermission(SysUser sysUser) {
+
+        if (StringUtils.equals("3", sysUser.getRoleIds())) {
+            if (StringUtils.isEmpty(sysUser.getDataPermission())) {
+                return null;
+            }
+            else
+            {
+                List<String> ids = new ArrayList<>();
+                if (sysUser.getDataPermission().indexOf(",")>0)
+                {
+                    String[] idl=sysUser.getDataPermission().split(",");
+                    Collections.addAll(ids,idl);
+                }
+                else
+                {
+                    ids.add(sysUser.getDataPermission());
+                }
+                return ids;
+            }
+        }
+        else if(StringUtils.equals("2", sysUser.getRoleIds()))
+        {
+            //导办人员
+            List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
+            return ids;
+        }
+        else if(StringUtils.equals("1", sysUser.getRoleIds()))
+        {
+            //管理员
+            List<String> ids=iOrganizationChartService.getIds(null);
+            return ids;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
+}
diff --git a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
index 4d0e1a5..472aa0e 100644
--- a/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
+++ b/flower_city/src/main/resources/mapper/GuideRepairOrderMapper.xml
@@ -97,6 +97,9 @@
                     #{param}
                 </foreach>
             </if>
+            <if test="guideUserId != null and guideUserId != ''">
+                AND a.guide_user_id=#{guideUserId}
+            </if>
         </where>
         order by  update_time desc ,  create_time desc
     </select>
@@ -118,6 +121,9 @@
                 <foreach collection="ids" item="param"  open="(" close=")" separator=",">
                     #{param}
                 </foreach>
+            </if>
+            <if test="guideUserId != null and guideUserId != ''">
+                AND a.guide_user_id=#{guideUserId}
             </if>
         </where>
     </select>
@@ -198,6 +204,9 @@
             <if test="evaluateState != null and evaluateState != ''">
                 and evaluate_state=#{evaluateState}
             </if>
+            <if test="guideUserId != null and guideUserId != ''">
+                AND guide_user_id=#{guideUserId}
+            </if>
             <if test="ids != null">
                 and department_id IN
                 <foreach collection="ids" item="param"  open="(" close=")" separator=",">
diff --git a/flower_city/src/main/resources/mapper/SysUserMapper.xml b/flower_city/src/main/resources/mapper/SysUserMapper.xml
index 953fd63..2197db6 100644
--- a/flower_city/src/main/resources/mapper/SysUserMapper.xml
+++ b/flower_city/src/main/resources/mapper/SysUserMapper.xml
@@ -36,6 +36,7 @@
         <result property="transactionNames"      column="transaction_names"      />
         <result property="openid"      column="openid"      />
         <result property="transactionNum"      column="transaction_num"      />
+        <result property="isDivisionHead"      column="is_division_head"      />
     </resultMap>
 
     <sql id="selectSysUserVo">
@@ -81,7 +82,7 @@
             mysql.help_topic b
             where
             b.help_topic_id &lt; (LENGTH(master_ids) - LENGTH(REPLACE(master_ids, ',', '')) + 1))) as master_names,
-               
+            is_division_head,
             transaction_ids,
             transaction_names,
             openid,
@@ -215,6 +216,7 @@
         <if test="transactionIds != null and transactionIds != '' ">,transaction_ids</if>
         <if test="transactionNames != null and transactionNames != '' ">,transaction_names</if>
         <if test="openid != null and openid != '' ">,openid</if>
+        <if test="isDivisionHead != null and isDivisionHead != '' ">,is_division_head</if>
         )values(
         sysdate()
         <if test="userId != null and userId != '' ">,#{userId}</if>
@@ -248,6 +250,7 @@
         <if test="transactionIds != null and transactionIds != '' ">,#{transactionIds}</if>
         <if test="transactionNames != null and transactionNames != '' ">,#{transactionNames}</if>
         <if test="openid != null and openid != '' ">,#{openid}</if>
+        <if test="isDivisionHead != null and isDivisionHead != '' ">,#{isDivisionHead}</if>
         )
     </insert>
 
@@ -285,6 +288,7 @@
             <if test="transactionIds != null and transactionIds != '' ">,transaction_ids=#{transactionIds}</if>
             <if test="transactionNames != null and transactionNames != '' ">,transaction_names=#{transactionNames}</if>
             <if test="openid != null and openid != '' ">,openid=#{openid}</if>
+            <if test="isDivisionHead != null and isDivisionHead != '' ">,is_division_head=#{isDivisionHead}</if>
             ,update_time=sysdate()
         </set>
         where user_id= #{userId}

--
Gitblit v1.7.1