소스 검색

请款页面数据权限调整

yzc 1 년 전
부모
커밋
35c45ee395
1개의 변경된 파일18개의 추가작업 그리고 2개의 파일을 삭제
  1. 18 2
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRequestFundsServiceImpl.java

+ 18 - 2
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRequestFundsServiceImpl.java

@@ -27,6 +27,7 @@ import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +35,7 @@ import org.springframework.stereotype.Service;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 
@@ -62,6 +64,8 @@ public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFu
 
     @Autowired
     private AccountManagementService accountManagementService;
+    @Autowired
+    private ISysRoleService sysRoleService;
 
     /**
      * 查询请款列表
@@ -83,8 +87,20 @@ public class AccountRequestFundsServiceImpl extends ServiceImpl<AccountRequestFu
         wrapper.orderByAsc("case arf.status when 10 then 1 when 30 then 2 else 3 END");
         // 同状态按发起时间倒序排序
         wrapper.orderByDesc("arf.create_time");
-        // 添加权限自己看自己
-        wrapper.eq("arf.create_user", SecurityUtils.getUserId());
+        //-----------------------------------------------------------------------
+        //添加权限过滤
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        Set<String> permissionList = sysRoleService.selectRolePermissionByUserId(SecurityUtils.getUserId());
+        DynamicDataSourceContextHolder.poll();
+        if (ObjectUtil.isNotEmpty(permissionList)) {
+            //if in[总经理、财务主管、出纳]可查看所有数据else只能看自己的
+            if (!permissionList.contains("ceo") && !permissionList.contains("financeOfficer") && !permissionList.contains("cashier")) {
+                // 添加权限自己看自己
+                wrapper.eq("arf.create_user", SecurityUtils.getUserId());
+            }
+        }
+        //-----------------------------------------------------------------------
+
 
         // 归属公司
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getCorporationId()), "arf.corporation_id", dto.getCorporationId());