using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace Lskj.PubPower { public class PowerImpl : BaseImpl { /// /// 说明:获取只读或操作权限表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetPurview(string 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); } /// /// 说明:获取子系统表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetSystemsTitle() { string sqlValue = "select * from P_SubSystemTab where UseEd='1'"; return GetDataTableResult(sqlValue); } /// /// 说明:获取子系统表模块 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. 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; return GetDataTableResult(sqlValue); } /// /// 说明:获取员工表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetWorkEmployee() { string sqlValue = "select * from P_employeeBaseView"; return GetDataTableResult(sqlValue); } /// /// 说明:获取角色表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetWorkRole(string depid, string mf) { string where = string.Empty; if (!string.IsNullOrEmpty(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); string sqlValue = "select * from p_systemRoleSetTab" + where; return GetDataTableResult(sqlValue); } /// /// 说明:获取人员权限表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetWorkUsers(string roleId) { string where = string.Empty; if (!string.IsNullOrEmpty(roleId)) where = " where roleId=" + roleId; string sqlValue = "select roleOperatorId as 员工ID,JobNumber as 员工工号,emp.employeename as 员工姓名,department as 所属部门 from p_systemRoleOperSetTab ro left join p_employeetab emp on ro.roleOperatorId=emp.employeeid" + where; return GetDataTableResult(sqlValue); } /// /// 说明:获取表树形结构表 /// 创建人:王一帆 /// 创建日期:2019-09-27 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetMenuTreeViewData() { string sqlValue = @" WITH tmenu(id,MenuCaption,ParentId,menuid,SubSysId,level) as ( SELECT convert(varchar(50), menu.SubSysId)+'_'+ MenuStruct id,MenuCaption,CONVERT(varchar(50), -CONVERT(int, menu.SubSysId)) ParentId,menu.menuid,menu.SubSysId,1 level FROM p_formmenuconfigtab menu inner join P_SubSystemTab sub on menu.SubSysId=sub.SubSysId and ISNULL(UseEd,0)=1 where ISNULL(UseFlag,1)=1 and LEN(menustruct)=2 UNION ALL SELECT convert(varchar(50), a.SubSysId)+'_'+A.MenuStruct id, A.MenuCaption,CONVERT(varchar(50),convert(varchar(50), a.SubSysId)+'_'+ SUBSTRING(a.MenuStruct,1,case when LEN(a.MenuStruct)>2 then LEN(a.MenuStruct)-2 else 0 end)) ParentId,a.MenuId,a.SubSysId ,b.level+1 FROM p_formmenuconfigtab A,tmenu b where LEN(a.MenuStruct)>2 and ISNULL(UseFlag,1)=1 and convert(varchar(50), a.SubSysId)+'_'+ SUBSTRING(a.MenuStruct,1,case when LEN(a.MenuStruct)>2 then LEN(a.MenuStruct)-2 else 0 end) = b.id and a.SubSysId=b.SubSysId ) select tm.MenuId, lm.id id,tm.urlparams menucode,tm.MenuCaption,tm.DllFileName library,lm.ParentId parentId,tm.SubSysId, lm.level,'' readflag, '' writeflag from tmenu lm left join p_formmenuconfigtab tm on lm.menuid=tm.menuid where isnull(tm.useFlag,1)=1 union all select '' menuid,convert(varchar(10), -SubSysId) MenuStruct ,'' menucode,subsysname MenuCaption,'' library,'' parentid,SubSysId,0 level,'' editflag, '' Readflag from P_SubSystemTab where ISNULL(UseEd,0)=1 ORDER BY SubSysId,id"; return GetDataTableResult(sqlValue); } /// /// 说明:保存人员权限设置 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. public static bool SaveRoleOperDate(string OperId, string OperName, string departemnt, string readdate, string editdate) { string sqlValue = string.Format(" if exists (select * from p_systemRoleOperSetTab s where s.operatorid='{0}') update p_systemRoleOperSetTab set ReadPurview='{4}',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, readdate, editdate); return ExecSqlValue(sqlValue) > 0; } /// /// 说明:获取角色模块信息 /// 创建人:王一帆 /// 创建日期:2019-10-10 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The menu code. /// DataRow. /// public static DataRow GetRoleRow(string id) { string sqlValue = string.Format("select * from p_systemRoleSetTab where id='{0}'", id); DataTable dtTable = GetDataTableResult(sqlValue); return dtTable.Rows.Count > 0 ? dtTable.Rows[0] : null; } /// /// 说明:获取角色模块信息 /// 创建人:王一帆 /// 创建日期:2019-10-10 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The menu code. /// DataRow. /// public static DataRow GeRoleOperRow(string id) { string sqlValue = string.Format("select * from P_employeeBaseView where 员工ID='{0}' ", id); DataTable dtTable = GetDataTableResult(sqlValue); return dtTable.Rows.Count > 0 ? dtTable.Rows[0] : null; } /// /// 说明:拖拽人员修改权限设置 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. 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); return ExecSqlValue(sqlValue) > 0; } /// /// 说明:保存角色权限设置 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. public static bool SaveRoleDate(string id, string readdate, string editdate) { string sqlValue = string.Format("UPDATE p_systemRoleSetTab SET ReadPurview = '{0}',EditPurview = '{1}' WHERE id = {2}", readdate, editdate, id); return ExecSqlValue(sqlValue) > 0; } /// /// 说明:删除人员权限设置 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. 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; } /// /// 说明:删除角色权限设置 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. public static bool deletRoleoperDate(string id) { string sqlValue = string.Format("DELETE FROM p_systemRoleSetTab WHERE id = '{0}'", id); return ExecSqlValue(sqlValue) > 0; } /// /// 说明:获取小类设置操作员 /// 创建人:龚宇超 /// 创建日期:2019-06-24 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// DataTable. public static DataTable GetWorkFlowUsers(string mc, string dc) { string where = string.Empty; if (!string.IsNullOrEmpty(mc)) 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); } string sqlValue = "select 员工ID,员工工号,员工姓名,所属部门 from P_employeeBaseView " + where; return GetDataTableResult(sqlValue); } /// /// 说明:添加新的角色 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. public static bool intnewOper(string OperName) { string sqlValue = string.Format("INSERT INTO p_systemRoleSetTab (roleName,operatedate) VALUES ('{0}','{1}')", OperName, DateTime.Now); return ExecSqlValue(sqlValue) > 0; } /// /// 说明:修改角色 /// 创建人:王一帆 /// 创建日期:2019-10-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.Int32. 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); return ExecSqlValue(sqlValue) > 0; } } }