From 9b814c7d3c9b831658f541a083bbb7b845661035 Mon Sep 17 00:00:00 2001 From: wyf Date: Tue, 22 Apr 2025 01:41:13 +0000 Subject: [PATCH] SVN r504 SVN-Revision: r504 --- 插件库/Lskj.Business/Impl/ReportImpl.cs | 47 ++++++++++++------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/插件库/Lskj.Business/Impl/ReportImpl.cs b/插件库/Lskj.Business/Impl/ReportImpl.cs index 896a46c..b6454e4 100644 --- a/插件库/Lskj.Business/Impl/ReportImpl.cs +++ b/插件库/Lskj.Business/Impl/ReportImpl.cs @@ -37,8 +37,26 @@ namespace Lskj.Business.Impl /// public static DataTable GetReportDetailPages(string menuCode) { - string sqlValue = "select * from p_systemDlltabDetail where tab=@tab and isVisible=0 order by orderid"; - return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@tab", menuCode) }); + string sqlTemplate = @"WITH UserRoles AS ( + SELECT r.roleName + FROM p_systemRoleOperSetTab AS ro + JOIN p_systemRoleSetTab AS r ON r.id = ro.roleId + WHERE ro.operatorname = '{0}' + ) + SELECT pm.* + FROM p_systemDlltabDetail AS pm WITH (NOLOCK) + WHERE ISNULL(pm.isvisible, 0) = 0 + AND pm.tab = '{1}' + AND ( + ISNULL(pm.privilegeOper, '') = '' + OR CHARINDEX(',' + '{0}' + ',', ',' + pm.privilegeOper + ',') > 0 + OR EXISTS ( + SELECT 1 + FROM UserRoles AS ur + WHERE CHARINDEX('{{&' + ur.roleName + '&}}', pm.privilegeOper) > 0) + ) ORDER BY pm.orderid;"; + string sqlValue = string.Format(sqlTemplate, ERPInfo.Instance.UserName, menuCode); + return SqlHelper.ExecuteDataTable(sqlValue); } /// /// 说明:获取报表明细列 @@ -55,7 +73,7 @@ namespace Lskj.Business.Impl /// public static DataTable GetReportDetailColumns(string menuCode, string detailId) { - SqlParameter[] param = + SqlParameter[] param = { new SqlParameter("@modid",SqlDbType.VarChar,50), new SqlParameter("@detailid",SqlDbType.Int,4), @@ -178,25 +196,4 @@ namespace Lskj.Business.Impl new SqlParameter("@moduleCode",SqlDbType.VarChar,50), new SqlParameter("@Privilege",SqlDbType.Int,4), new SqlParameter("@StepCode",SqlDbType.VarChar,50), - new SqlParameter("@PrimaryValue",SqlDbType.VarChar,50), - new SqlParameter("@settingTableName",SqlDbType.VarChar,50), - new SqlParameter("@ConfirmId",SqlDbType.VarChar,50), - }; - param[0].Value = ERPInfo.Instance.UserId; - param[1].Value = ERPInfo.Instance.UserName; - param[2].Value = SysModel.ModuleId; - param[3].Value = SysModel.ModuleCode; - param[4].Value = SysModel.Privilege; - param[5].Value = SysModel.StepCode; - param[6].Value = SysModel.PrimaryValue; - param[7].Value = SettingTableName; - param[8].Value = SysModel.ConfirmId; ; - - ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_Get_NewDesignPlatform_BasicFileAudit", "cacheSYSConfig", param); - - return ds; - - } - - } -} + \ No newline at end of file