Kaynağa Gözat

首页统计添加数据权限

jzh 1 yıl önce
ebeveyn
işleme
880b7d9e9e

+ 3 - 2
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/controller/admin/staff/StaffStatisticController.java

@@ -26,11 +26,12 @@ public class StaffStatisticController {
 
     /**
      * 获取员工统计信息
+     *
      * @return
      */
     @GetMapping("/get")
-    public CommonResult<StatisticInfoVO> getStatisticResult(@RequestParam(value = "deptId",required = false) String deptId) {
-        StatisticInfoVO statisticResult = staffStatisticService.getStatisticResult(deptId);
+    public CommonResult<StatisticInfoVO> getStatisticResult() {
+        StatisticInfoVO statisticResult = staffStatisticService.getStatisticResult(null);
         return success(statisticResult);
     }
 }

+ 1 - 1
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/staff/StaffStatisticService.java

@@ -15,5 +15,5 @@ public interface StaffStatisticService {
      * 获取用户统计信息
      *
      */
-    StatisticInfoVO getStatisticResult(String deptId);
+    StatisticInfoVO getStatisticResult(String userId);
 }

+ 15 - 6
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/service/staff/StaffStatisticServiceImpl.java

@@ -4,7 +4,9 @@ package com.zjugis.module.adm.service.staff;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.zjugis.framework.common.pojo.CommonResult;
+import com.zjugis.framework.datapermission.core.annotation.DataPermission;
 import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
 import com.zjugis.module.adm.controller.admin.staff.vo.records.*;
 import com.zjugis.module.adm.dal.dataobject.staff.CollegeDO;
 import com.zjugis.module.adm.dal.dataobject.staff.StaffRecordSDO;
@@ -13,8 +15,11 @@ import com.zjugis.module.system.api.dept.DeptApi;
 import com.zjugis.module.system.api.dept.DeptLeaderApi;
 import com.zjugis.module.system.api.dept.dto.DeptLeaderRespDTO;
 import com.zjugis.module.system.api.dept.dto.DeptRespDTO;
+import com.zjugis.module.system.api.permission.PermissionApi;
+import com.zjugis.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.zjugis.module.system.api.user.AdminUserApi;
 import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -40,6 +45,9 @@ public class StaffStatisticServiceImpl implements StaffStatisticService {
     @Resource
     private AdminUserApi userApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
     @Resource
     private RecordsMapper recordsMapper;
 
@@ -51,15 +59,16 @@ public class StaffStatisticServiceImpl implements StaffStatisticService {
      * 获取用户统计信息
      */
     @Override
-    public StatisticInfoVO getStatisticResult(String deptId) {
+    public StatisticInfoVO getStatisticResult(String userId) {
+        if (StringUtils.isNotBlank(SecurityFrameworkUtils.getLoginUserId())) {
+            userId = SecurityFrameworkUtils.getLoginUserId();
+        }
 
+        DeptDataPermissionRespDTO dto = permissionApi.getDeptDataPermission(userId).getCheckedData();
         StatisticInfoVO statisticInfoVO = new StatisticInfoVO();
         List<String> userIds = new ArrayList<>();
-        if (StrUtil.isNotEmpty(deptId)) {
-
-            Set<String> deptIds = convertSet(deptApi.getChildDeptList(deptId).getCheckedData(), DeptRespDTO::getId);
-            // 包括自身
-            deptIds.add(deptId);
+        Set<String> deptIds = dto.getDeptIds();
+        if (CollectionUtil.isNotEmpty(deptIds)) {
 
             CommonResult<List<AdminUserRespDTO>> commonResult = userApi.getUserListByDeptIds(deptIds);
             userIds = commonResult.getCheckedData().stream().map(AdminUserRespDTO::getId).filter(Objects::nonNull).collect(Collectors.toList());