diff --git a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
index f962420..bc79e35 100644
--- a/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
+++ b/插件库/Lskj.Business/Impl/BaseModuleImpl.cs
@@ -1201,8 +1201,26 @@ namespace Lskj.Business.Impl
{
try
{
- string sqlValue = "select * from p_systemDlltabDetail where tab=@tab and (charindex('," + ERPInfo.Instance.UserName + ",',','+privilegeOper+',')>0 or isnull(privilegeOper,'')='') and ISNULL(isVisible,0)=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);
}
catch (Exception)
{
@@ -1260,29 +1278,4 @@ namespace Lskj.Business.Impl
/// 确认意见.
/// System.Int32.
public static bool isParamComplete(string storedName, string[] Param)
- {
- string whereConfig = string.Empty;
- for (int i = 0; i < Param.Length; i++)
- {
- whereConfig += string.Format(" LOWER(PARAMETER_NAME)=LOWER('{0}') or", Param[i]);
- }
- string sql = string.Format("SELECT PARAMETER_NAME AS [参数名称] FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='{1}' and ({0})", whereConfig.Substring(0, whereConfig.Length - 2), storedName);
- return SqlHelper.ExecuteDataTable(sql).Rows.Count == Param.Length;
- }
-
- ///
- /// 创建只读列
- ///
- ///
- ///
- public static DataTable getDetail_Details(string key)
- {
- string sql = string.Format("select * from p_systembillsourcedetail where sourceid=0 and sourcekey='{0}' and mxflag=1 and isnull(isVisible,0)=0 order by orderid", key);
- return GetDataTableResult(sql);
- }
-
-
-
-
- }
-}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/插件库/Lskj.Business/Impl/BillImpl.cs b/插件库/Lskj.Business/Impl/BillImpl.cs
index f24eaa9..27b3ed1 100644
--- a/插件库/Lskj.Business/Impl/BillImpl.cs
+++ b/插件库/Lskj.Business/Impl/BillImpl.cs
@@ -54,7 +54,7 @@ namespace Lskj.Business.Impl
int result = ExecSqlValue(detailSql, true);
if (result > 0)
{
- SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) :new SqlParameter("@msg", SqlDbType.VarChar, 2000);
+ SqlParameter pMsg = ERPInfo.Instance.ChangeParameterType ? new SqlParameter("@msg", SqlDbType.NVarChar, 4000) : new SqlParameter("@msg", SqlDbType.VarChar, 2000);
pMsg.Direction = ParameterDirection.Output;
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
@@ -590,15 +590,30 @@ namespace Lskj.Business.Impl
conditions = "and isnull(mxflag,0)=0";
}
string cond = !string.IsNullOrEmpty(sourceCond) ? string.Format(" and id in ({0})", sourceCond.Trim(',')) : string.Empty;
- string sqlValue = string.Format("select * from p_systembillsource where typeCode=@typeCode" + cond + " and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{0}' + ',', ',' + viewOper + ',')>0) order by orderid", ERPInfo.Instance.UserName);
- string sqlDetail = string.Format(@"SELECT id,sourceId,fieldName,sysName,userName,orderid,isVisible,sourceKey,privilegeView,DataFormat,isSum,ifmerge,{2}
- isnull(CASE WHEN isVisible=1 OR (ISNULL(b.userList,'')='' AND ISNULL(a.PrivilegeView,'')<>'') THEN 0 ELSE width END,0) width
- FROM p_systembillsourcedetail a
- LEFT JOIN (
- SELECT userList,privTypeId from p_systemPrivilege b where modId = '{0}'
- AND CHARINDEX(',' + '{1}' + ',', ',' + userList + ',') > 0
- ) b on CHARINDEX(',' + CAST(b.privTypeId AS VARCHAR(5)) + ',',',' + PrivilegeView + ',') > 0
- where sourceId in (select id from p_systembillsource where typeCode=@typeCode" + cond + " and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{1}' + ',', ',' + viewOper + ',')>0)) {3} order by sourceId,orderid", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
+ string sqlValue = string.Format(@"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 * from p_systembillsource where typeCode=@typeCode" + cond +
+ @" and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{0}' + ',', ',' + viewOper + ',')>0 OR EXISTS (
+ SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) order by orderid", ERPInfo.Instance.UserName);
+ string sqlDetail = string.Format(@"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 id,sourceId,fieldName,sysName,userName,orderid,isVisible,sourceKey,privilegeView,DataFormat,isSum,ifmerge,{2}
+ isnull(CASE WHEN isVisible=1 OR (ISNULL(b.userList,'')='' AND ISNULL(a.PrivilegeView,'')<>'') THEN 0 ELSE width END,0) width
+ FROM p_systembillsourcedetail a
+ LEFT JOIN (
+ SELECT userList,privTypeId from p_systemPrivilege b where modId = '{0}'
+ AND CHARINDEX(',' + '{1}' + ',', ',' + userList + ',') > 0
+ ) b on CHARINDEX(',' + CAST(b.privTypeId AS VARCHAR(5)) + ',',',' + PrivilegeView + ',') > 0
+ where sourceId in (select id from p_systembillsource where typeCode=@typeCode" + cond + @" and isnull(isVisible,0)=0 and (isnull(viewOper,'')='' or CHARINDEX(',' + '{1}' + ',', ',' + viewOper + ',')>0) OR EXISTS (
+ SELECT 1 FROM UserRoles AS ur WHERE CHARINDEX('{{&' + ur.roleName + '&}}', viewOper) > 0)) {3} order by sourceId,orderid", menuCode, ERPInfo.Instance.UserName, otherfield, conditions);
htTable["master"] = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
htTable["detail"] = SqlHelper.ExecuteDataTable(sqlDetail, new SqlParameter[] { new SqlParameter("@typeCode", menuCode) });
diff --git a/插件库/Lskj.Business/Impl/PowerImpl.cs b/插件库/Lskj.Business/Impl/PowerImpl.cs
index 89f4874..3fec086 100644
--- a/插件库/Lskj.Business/Impl/PowerImpl.cs
+++ b/插件库/Lskj.Business/Impl/PowerImpl.cs
@@ -23,14 +23,15 @@ namespace Lskj.Business.Impl
/// DataTable.
public static DataTable GetPurview(string condition)
{
- if (string.IsNullOrWhiteSpace(condition)) {
+ if (string.IsNullOrWhiteSpace(condition))
+ {
string allSql = string.Format("select * from p_formmenuconfigtab where len(MenuStruct)>2");
return GetDataTableResult(allSql);
}
string sqlValue = string.Format("select * from p_formmenuconfigtab where len(MenuStruct)>2 and menuId in({0})", condition);
return GetDataTableResult(sqlValue);
}
-
+
///
/// 说明:获取子系统表
/// 创建人:王一帆
@@ -46,7 +47,7 @@ namespace Lskj.Business.Impl
string sqlValue = "select * from P_SubSystemTab where UseEd='1'";
return GetDataTableResult(sqlValue);
}
-
+
///
/// 说明:获取子系统表模块
/// 创建人:王一帆
@@ -57,9 +58,9 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// DataTable.
- public static DataTable GetSystemsTable(string way,bool isChildren)
+ public static DataTable GetSystemsTable(string way, bool isChildren)
{
- string sqlValue = isChildren ? "select * from p_formmenuconfigtab where " + way:"select * from p_formmenuconfigtab where ParentMenuId='-1' and LEN(MenuStruct)=2 " + way;
+ string sqlValue = isChildren ? "select * from p_formmenuconfigtab where " + way : "select * from p_formmenuconfigtab where ParentMenuId='-1' and LEN(MenuStruct)=2 " + way;
return GetDataTableResult(sqlValue);
}
///
@@ -108,7 +109,7 @@ namespace Lskj.Business.Impl
{
string where = string.Empty;
if (!string.IsNullOrEmpty(depid))
- where = string.Format(" where operatorid='{0}'",depid);
+ where = string.Format(" where operatorid='{0}'", depid);
if (!string.IsNullOrEmpty(mf))
where = string.Format(" and (loginaccount like '%{0}%' or employeename like '%{0}%' or dbo.P_getpy(employeename) like '%{0}%')", mf);
@@ -215,13 +216,15 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// System.Int32.
- public static bool SaveRoleOperDate(string OperId, string OperName, string departemnt, string readdate, string editdate,bool IsBrowse)
+ public static bool SaveRoleOperDate(string OperId, string OperName, string departemnt, string readdate, string editdate, bool IsBrowse)
{
string sqlValue = string.Empty;
- if (IsBrowse) {
+ if (IsBrowse)
+ {
sqlValue = string.Format(" if exists (select * from p_systemRoleOperSetTab s where s.operatorid='{0}') update p_systemRoleOperSetTab set ReadPurview='{4}' where operatorid = '{0}' ELSE insert into p_systemRoleOperSetTab (roleId,roleOperatorId,operatorid,operatorname,operatedate,department,ReadPurview,EditPurview) values ('0','{0}','{0}','{1}','{2}','{3}','{4}','{5}')", OperId, OperName, DateTime.Now, departemnt, readdate, "");
}
- else {
+ else
+ {
sqlValue = string.Format(" if exists (select * from p_systemRoleOperSetTab s where s.operatorid='{0}') update p_systemRoleOperSetTab set EditPurview='{5}' where operatorid = '{0}' ELSE insert into p_systemRoleOperSetTab (roleId,roleOperatorId,operatorid,operatorname,operatedate,department,ReadPurview,EditPurview) values ('0','{0}','{0}','{1}','{2}','{3}','{4}','{5}')", OperId, OperName, DateTime.Now, departemnt, "", editdate);
}
@@ -281,10 +284,10 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// System.Int32.
- public static bool DropDate(int OperId,string JobNumber,string OperName, string departemnt, string id)
+ public static bool DropDate(int OperId, string JobNumber, string OperName, string departemnt, string id)
{
- string sqlValue = string.Format("INSERT INTO p_systemRoleOperSetTab (roleId, roleOperatorId,operatorid,operatorname,department,operatedate,JobNumber) VALUES ('{0}','{1}','{1}','{2}','{3}','{4}','{5}')", id, OperId, OperName, departemnt, DateTime.Now,JobNumber);
+ string sqlValue = string.Format("INSERT INTO p_systemRoleOperSetTab (roleId, roleOperatorId,operatorid,operatorname,department,operatedate,JobNumber) VALUES ('{0}','{1}','{1}','{2}','{3}','{4}','{5}')", id, OperId, OperName, departemnt, DateTime.Now, JobNumber);
return ExecSqlValue(sqlValue) > 0;
}
///
@@ -312,7 +315,7 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// System.Int32.
- public static bool deletRoleDate(string id,string roleId)
+ public static bool deletRoleDate(string id, string roleId)
{
string sqlValue = string.Format("DELETE FROM p_systemRoleOperSetTab WHERE operatorid = '{0}' and roleId='{1}'", id, roleId);
return ExecSqlValue(sqlValue) > 0;
@@ -349,7 +352,7 @@ namespace Lskj.Business.Impl
where = string.Format(" where (员工姓名 like '%{0}%' or dbo.P_getpy(员工姓名) like '%{0}%')", mc);
if (!string.IsNullOrEmpty(dc))
{
- where +=string.IsNullOrWhiteSpace(mc)?string.Format(" where 员工工号 like '%{0}%'",dc):string.Format(" and 员工工号 like '%{0}%'",dc);
+ where += string.IsNullOrWhiteSpace(mc) ? string.Format(" where 员工工号 like '%{0}%'", dc) : string.Format(" and 员工工号 like '%{0}%'", dc);
}
string sqlValue = "select 员工ID,员工工号,员工姓名,所属部门 from P_employeeBaseView " + where;
return GetDataTableResult(sqlValue);
@@ -366,7 +369,7 @@ namespace Lskj.Business.Impl
/// System.Int32.
public static bool intnewOper(string OperName)
{
- string sqlValue = string.Format("INSERT INTO p_systemRoleSetTab (roleName,operatedate) VALUES ('{0}','{1}')", OperName,DateTime.Now);
+ string sqlValue = string.Format("INSERT INTO p_systemRoleSetTab (roleName,operatedate) VALUES ('{0}','{1}')", OperName, DateTime.Now);
return ExecSqlValue(sqlValue) > 0;
}
///
@@ -379,9 +382,9 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// System.Int32.
- public static bool UpdOper(string OperName,string id)
+ public static bool UpdOper(string OperName, string id)
{
- string sqlValue = string.Format("Update p_systemRoleSetTab set roleName='{0}',operatedate='{1}' where id={2} ", OperName, DateTime.Now,id);
+ string sqlValue = string.Format("Update p_systemRoleSetTab set roleName='{0}',operatedate='{1}' where id={2} ", OperName, DateTime.Now, id);
return ExecSqlValue(sqlValue) > 0;
}
@@ -396,7 +399,7 @@ namespace Lskj.Business.Impl
/// 版本:1.0
///
/// System.Int32.
- public static DataTable GetAllModulesData()
+ public static DataTable GetAllModulesData()
{
string sqlValue = "select convert(varchar(50), SubSysId)+'_'+ MenuStruct ID ,MenuId,MenuCaption,PurviewId,'0' as Editflag ,'0' as Readflag,DllFilename from P_FormMenuConfigTab order by MenuId";
return GetDataTableResult(sqlValue);
@@ -461,9 +464,9 @@ namespace Lskj.Business.Impl
public static DataTable GetBillAboveData(string tab)
{
//string Sql = string.Format(@" select * from
- // (select top 1000 formkey,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper,'0' as OperValue,'0' as ViewValue from p_systembillInfo
- // where 1=1 and isnull(isvisible,0)=0 order by orderid ) a
- // where 1=1 and typeCode='{0}'", tab);
+ // (select top 1000 formkey,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper,'0' as OperValue,'0' as ViewValue from p_systembillInfo
+ // where 1=1 and isnull(isvisible,0)=0 order by orderid ) a
+ // where 1=1 and typeCode='{0}'", tab);
string Sql = string.Format(@" select * from
(select formkey,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper from p_systembillInfo
where 1=1 and isnull(isvisible,0)=0) a
@@ -485,9 +488,9 @@ namespace Lskj.Business.Impl
public static DataTable GetBillDetailData(string tab)
{
//string Sql = string.Format(@" select * from
- // (select top 1000 DataFormat,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper,'0' as OperValue,'0' as ViewValue from p_systembilldetail
- // where 1=1 and isnull(isvisible,0)=0 and width>0 order by orderid )a
- // where 1=1 and typeCode='{0}' ", tab);
+ // (select top 1000 DataFormat,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper,'0' as OperValue,'0' as ViewValue from p_systembilldetail
+ // where 1=1 and isnull(isvisible,0)=0 and width>0 order by orderid )a
+ // where 1=1 and typeCode='{0}' ", tab);
string Sql = string.Format(@" select * from
(select DataFormat,typeCode,id,orderid,fieldName,sysName,userName,fieldTypeId,nullable,isVisible,edited, width, defaultValue,UserBak,UserOpname,UserOpDt,privilegeView,privilegeOper from p_systembilldetail
where 1=1 and isnull(isvisible,0)=0 and width>0 )a
@@ -497,27 +500,28 @@ namespace Lskj.Business.Impl
}
//获得全部权限人员
- public static string getAllPersonnel(string name)
+ public static string getAllPersonnel(string name)
{
- if(string.IsNullOrWhiteSpace(name)) return "";
+ if (string.IsNullOrWhiteSpace(name)) return "";
//获得所有角色
List condition = ReplaceHelper.GetParamFields(name);
- DataTable dataTable=GetWorkRole("", "");
+ DataTable dataTable = GetWorkRole("", "");
- foreach (string role in condition)
+ foreach (string role in condition)
{
string newName = string.Empty;
string roleName = role.Replace("{&", "").Replace("&}", "");
- DataRow[] drs = dataTable.Select("roleName='"+ roleName + "'");
+ DataRow[] drs = dataTable.Select("roleName='" + roleName + "'");
if (drs.Length < 1) continue;
string id = drs[0]["id"] + "";
DataTable PersonnelDt = GetWorkUsers(id);
- foreach (DataRow dr in PersonnelDt.Rows) {
+ foreach (DataRow dr in PersonnelDt.Rows)
+ {
newName += dr["员工姓名"] + ",";
}
- name=name.Replace(role, newName.TrimEnd(','));//
+ name = name.Replace(role, newName.TrimEnd(','));
}
@@ -585,7 +589,7 @@ namespace Lskj.Business.Impl
/// System.Int32.
public static bool deletPermissionClassification(string id)
{
- if (BaseImpl.HasExistsColumn("p_systemPrivilege", "roleid"))
+ if (BaseImpl.HasExistsColumn("p_systemPrivilege", "roleid"))
{
string sqlValue = string.Format("DELETE FROM p_systemPrivilege WHERE roleid = '{0}'", id);
return ExecSqlValue(sqlValue) > 0;
@@ -650,7 +654,7 @@ namespace Lskj.Business.Impl
///
///
///
- public static void SetRolePermissionclassification(string roleid,string roleName, DataTable Module)
+ public static void SetRolePermissionclassification(string roleid, string roleName, DataTable Module)
{
BaseImpl.HasExistsColumn("p_systemPrivilege", "roleid", "int");
@@ -676,7 +680,7 @@ namespace Lskj.Business.Impl
NewModule.Add(PurviewId);
}
}
- DataTable dataTable= GetDataTableResult(string.Format("select * from p_systemPrivilege where roleid='{0}'", roleid));
+ DataTable dataTable = GetDataTableResult(string.Format("select * from p_systemPrivilege where roleid='{0}'", roleid));
foreach (DataRow item in dataTable.Rows)
{
string PurviewId = item["modId"] + "";
@@ -687,7 +691,7 @@ namespace Lskj.Business.Impl
}
string Sql = string.Empty;
- List AddList= NewModule.Except(OldModule).ToList();
+ List AddList = NewModule.Except(OldModule).ToList();
List DeleteList = OldModule.Except(NewModule).ToList();
//添加新增的权限模块
@@ -698,7 +702,7 @@ namespace Lskj.Business.Impl
if (dr != null) privTypeId = int.Parse(dr["privTypeId"] + "") + 1;
Sql += string.Format(" insert into p_systemPrivilege(privTypeId,privTypeName,modId,userList,remark,roleid) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}'); ",
- privTypeId + "", roleName, item, text,"", roleid);
+ privTypeId + "", roleName, item, text, "", roleid);
}
//删除移除的权限模块
foreach (string item in DeleteList)
@@ -709,27 +713,4 @@ namespace Lskj.Business.Impl
//拼接添加权限分类sql
//List moduleNumbers = new List();
- //string Sql = string.Format("delete p_systemPrivilege where roleid='{0}';", roleid);
- //foreach (DataRow item in Module.Rows)
- //{
- // string PurviewId = item["PurviewId"] + "";
- // if (!string.IsNullOrWhiteSpace(PurviewId) && !moduleNumbers.Contains(PurviewId))
- // {
- // moduleNumbers.Add(PurviewId);
- // DataRow dr= GetDataRowResult(string.Format("select top 1 privTypeId from p_systemPrivilege where modId='{0}' order by privTypeId desc ", PurviewId));
- // int privTypeId =1;
- // if (dr != null) privTypeId = int.Parse(dr["privTypeId"] + "") + 1;
-
- // Sql += string.Format(" insert into p_systemPrivilege(privTypeId,privTypeName,modId,userList,remark,roleid) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}'); ",
- // privTypeId+"", roleName, PurviewId, text,"", roleid);
- // }
-
- //}
-
- //ExecSqlValue(Sql);
-
- }
-
-
- }
-}
+ //string Sql = string.Format("delete p_sy
\ No newline at end of file