数据权限的bug修改
This commit is contained in:
+17
@@ -28,6 +28,8 @@ import javax.annotation.Resource;
|
||||
import com.mhd.common.core.web.controller.BaseController;
|
||||
import com.mhd.common.core.web.domain.AjaxResult;
|
||||
import com.mhd.common.core.web.page.TableDataInfo;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
@@ -99,6 +101,21 @@ public class ExpenseAccountApi extends BaseController{
|
||||
public AjaxResult selectOtherExpenseAccount(SearchExpenseAccountDTO searchExpenseAccountDTO){
|
||||
SearchExpenseAccountDO searchExpenseAccountDO = new SearchExpenseAccountDO();
|
||||
BeanUtils.copyProperties(searchExpenseAccountDTO,searchExpenseAccountDO);
|
||||
|
||||
// 数据权限:根据组织ID实现数据隔离
|
||||
// organizationId=2827(南光)时,查询所有组织的数据;其他组织只查询自己的数据
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
if (loginUser != null && loginUser.getOrganizationPo() != null) {
|
||||
Long loginUserOrganizationId = loginUser.getOrganizationPo().getOrganizationId();
|
||||
if (loginUserOrganizationId != null && loginUserOrganizationId.equals(2827L)) {
|
||||
// 南光组织(organizationId=2827):可以查询所有组织的数据,不设置 organizationId 过滤条件
|
||||
searchExpenseAccountDO.setOrganizationId(null);
|
||||
} else {
|
||||
// 其他组织:只查询自己组织的数据
|
||||
searchExpenseAccountDO.setOrganizationId(loginUserOrganizationId);
|
||||
}
|
||||
}
|
||||
|
||||
return AjaxResult.success(expenseAccountApplicationService.selectOtherExpenseAccount(searchExpenseAccountDO));
|
||||
|
||||
}
|
||||
|
||||
@@ -254,6 +254,15 @@
|
||||
<if test="searchExpenseAccountDO.societyStatus != null ">
|
||||
and a.society_status = #{searchExpenseAccountDO.societyStatus}
|
||||
</if>
|
||||
<!-- 数据权限:南光组织(organizationId=2827)查全部,其他组织查自己 -->
|
||||
<!-- 如果 organizationId 为 null,表示查询所有组织的数据(不添加组织过滤条件) -->
|
||||
<if test="searchExpenseAccountDO.organizationId != null">
|
||||
<!-- 如果设置了 organizationId,添加 organization_id 条件 -->
|
||||
and a.organization_id = #{searchExpenseAccountDO.organizationId}
|
||||
and a.organization_name IS NOT NULL
|
||||
and a.organization_name != ''
|
||||
and LENGTH(TRIM(a.organization_name)) > 0
|
||||
</if>
|
||||
and a.del_flag=1
|
||||
order by show_seq
|
||||
</select>
|
||||
|
||||
Reference in New Issue
Block a user