|
@@ -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());
|