You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
860 lines
34 KiB
C#
860 lines
34 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Collections.Generic;
|
|
using DSWeb.Models;
|
|
using DSWeb.EntityDA;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using DSWeb.SoftMng.BLL;
|
|
using DSWeb.SoftMng.Model;
|
|
using System.Linq;
|
|
using System.Web.Script.Serialization;
|
|
using DSWeb.SoftMng.Filter;
|
|
using DSWeb.SoftMng.Common;
|
|
|
|
namespace DSWeb.Modules
|
|
{
|
|
public partial class ModuleGridSource : System.Web.UI.Page
|
|
{
|
|
private string strHandle;//值list表示返回数据信息
|
|
private int iCurrentPage;//当前页数
|
|
private int iShowPage;//显示最大页数
|
|
private string strSearch;//查询条件
|
|
private string strModuleID;//模块GID
|
|
private string strSelectedUserID;//被操作人GID
|
|
private string strSelectedModuleID;//被操作模块GID
|
|
private string strSearchShowName;//要查询的用户名
|
|
private string strSearchDeptName;//要查询的部门名称
|
|
private string strSearchModuleName;//要查询的模块名称
|
|
private string strUserID;
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (Session["USERID"] != null)
|
|
{
|
|
strUserID = Session["USERID"].ToString();
|
|
}
|
|
#region 传值参数
|
|
if (Request.QueryString["handle"] != null)
|
|
{
|
|
strHandle = Request.QueryString["handle"].ToString().ToLower().Trim();
|
|
}
|
|
|
|
if (Request.QueryString["search"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strSearch = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString())));
|
|
}
|
|
|
|
if (Request.QueryString["id"] != null)
|
|
{
|
|
strModuleID = Request.QueryString["id"].ToString();
|
|
}
|
|
if (Request.QueryString["cur_page"] != null)
|
|
{
|
|
iCurrentPage = int.Parse(Request.QueryString["cur_page"].ToString().Trim());
|
|
}
|
|
else
|
|
{
|
|
iCurrentPage = 0;
|
|
}
|
|
if (Request.QueryString["show_page"] != null)
|
|
{
|
|
iShowPage = int.Parse(Request.QueryString["show_page"].ToString().Trim());
|
|
}
|
|
else
|
|
{
|
|
iShowPage = 0;
|
|
}
|
|
|
|
if (Request.QueryString["seluser"] != null)
|
|
{
|
|
strSelectedUserID = Request.QueryString["seluser"].ToString();
|
|
}
|
|
|
|
if(Request.QueryString["searchuser"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strSearchShowName = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["searchuser"].ToString())));
|
|
}
|
|
if (Request.QueryString["searchdept"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strSearchDeptName = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["searchdept"].ToString())));
|
|
}
|
|
if (Request.QueryString["searchmod"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strSearchModuleName = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["searchmod"].ToString())));
|
|
}
|
|
|
|
if (Request.QueryString["selmod"] != null)
|
|
{
|
|
strSelectedModuleID = Request.QueryString["selmod"].ToString();
|
|
}
|
|
|
|
|
|
if (strHandle != null)
|
|
{
|
|
if (strHandle.Equals("list"))
|
|
{
|
|
Response.Write(GetModulesList());
|
|
}
|
|
|
|
if (strHandle.Equals("modtree"))
|
|
{
|
|
Response.Write(GetModuleTree());
|
|
}
|
|
if (strHandle.Equals("listpage"))
|
|
{
|
|
Response.Write(GetModulesListPage().ToString());
|
|
}
|
|
if (strHandle.Equals("delete") && strModuleID != null)
|
|
{
|
|
Response.Write(DeleteModule(strModuleID));
|
|
}
|
|
if (strHandle.Equals("modusertree") && strSelectedUserID != null)
|
|
{
|
|
Response.Write(GetUserModuleTree(strSelectedUserID));
|
|
}
|
|
if (strHandle.Equals("checkuser") && strSearchShowName != null)
|
|
{
|
|
Response.Write(SearchUserByName(strSearchShowName));
|
|
}
|
|
if (strHandle.Equals("checkdept") && strSearchDeptName != null)
|
|
{
|
|
Response.Write(SearchDeptByName(strSearchDeptName));
|
|
}
|
|
if (strHandle.Equals("checkmod") && strSearchModuleName != null)
|
|
{
|
|
Response.Write(SearchModuleByName(strSearchModuleName));
|
|
}
|
|
if (strHandle.Equals("addmod") && strSelectedUserID != null && strSelectedModuleID != null)
|
|
{
|
|
Response.Write(AddUserModule(strSelectedUserID, strSelectedModuleID));
|
|
}
|
|
if (strHandle.Equals("removemod") && strSelectedUserID != null && strSelectedModuleID != null)
|
|
{
|
|
Response.Write(RemoveUserModule(strSelectedUserID, strSelectedModuleID));
|
|
}
|
|
if (strHandle.Equals("validusermod") && strModuleID != null)
|
|
{
|
|
Response.Write(ValidateExistUserActionModule(strModuleID));
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
|
|
#region 验证当前模块是否已经被指定到用户ACTION
|
|
/// <summary>
|
|
/// 验证当前模块是否已经被指定到用户ACTION
|
|
/// </summary>
|
|
/// <param name="tempModuleID">模块GID</param>
|
|
/// <returns>值1表示存在 值不等于1表示不存在</returns>
|
|
private int ValidateExistUserActionModule(string tempModuleID)
|
|
{
|
|
int iResult = 0;
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
|
|
int iTempCount = userActionDA.GetExistUserActionModule(tempModuleID);
|
|
|
|
if (iTempCount > 0)
|
|
{
|
|
iResult = 1;
|
|
}
|
|
else
|
|
{
|
|
iResult = -1;
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 移除用户权限模块
|
|
/// <summary>
|
|
/// 移除用户权限模块
|
|
/// </summary>
|
|
/// <param name="tempSelectedUserID">用户GID</param>
|
|
/// <param name="tempSelectedModuleID">模块GID</param>
|
|
/// <returns>值1表示移除成功 值不等1表示移除失败</returns>
|
|
public string RemoveUserModule(string tempSelectedUserID,string tempSelectedModuleID)
|
|
{
|
|
string iResult = "";
|
|
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
//先判断当前要添加的模块是否用户已经开通了
|
|
if (userActionDA.IsExistUserModule(tempSelectedUserID, tempSelectedModuleID))
|
|
{
|
|
iResult = userActionDA.DeleteUserAction(tempSelectedUserID, tempSelectedModuleID)==1?"1": tempSelectedModuleID+":删除失败";
|
|
}
|
|
else
|
|
{
|
|
iResult = tempSelectedModuleID + ":不存在相应的模块权限";//不存在相应的模块权限
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 添加用户权限模块
|
|
/// <summary>
|
|
/// 添加用户权限模块
|
|
/// </summary>
|
|
/// <param name="tempSelectedUserID">用户GID</param>
|
|
/// <param name="tempSelectedModuleID">模块GID</param>
|
|
/// <returns>值1表示添加成功 值不等1表示添加失败</returns>
|
|
public string AddUserModule(string tempSelectedUserID, string tempSelectedModuleID)
|
|
{
|
|
UserActionDA userActionDA = new UserActionDA();
|
|
sys_secCompanyBLL arg_1C_0 = new sys_secCompanyBLL();
|
|
sys_module model = new sys_moduleBLL().GetModel(tempSelectedModuleID);
|
|
sys_secCompany sys_secCompany = arg_1C_0.GetModelList("").FirstOrDefault<sys_secCompany>();
|
|
if (sys_secCompany == null)
|
|
{
|
|
return "未配置相关参数,表 [Sys_SecCompany] 无数据";
|
|
}
|
|
if (new JavaScriptSerializer().Deserialize<CecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secCompany.CompanySecretKey, "Dw9pVb9r")).MenuControl)
|
|
{
|
|
int recordCount = new user_actionBLL().GetRecordCount("ACTIONID =(SELECT TOP 1 GID FROM [ACTION] WHERE MODULEID='" + tempSelectedModuleID + "') AND USERID in (select Gid from [user])");
|
|
sys_secModule sys_secModule = new sys_secModuleBLL().GetModelList("IdenSecretkey = '" + DSWeb.SoftMng.Common.Common.string_Encrypt(tempSelectedModuleID, "2cP46Gox") + "'").FirstOrDefault<sys_secModule>();
|
|
if (sys_secModule == null)
|
|
{
|
|
return "模块【" + model.DESCRIPTION + "】已被禁用,无操作权限";
|
|
}
|
|
SecrietStr secrietStr = new JavaScriptSerializer().Deserialize<SecrietStr>(DSWeb.SoftMng.Common.Common.string_Decrypt(sys_secModule.ModuleSecretkey, "2cP46Gox"));
|
|
if (!Convert.ToBoolean(secrietStr.Enabled))
|
|
{
|
|
return "模块【" + secrietStr.Name + "】已被禁用";
|
|
}
|
|
if (recordCount >= Convert.ToInt32(secrietStr.Times))
|
|
{
|
|
return string.Concat(new object[]
|
|
{
|
|
"模块【",
|
|
secrietStr.Name,
|
|
"】使用人数超出系统限制,限制",
|
|
secrietStr.Times,
|
|
"人,已分配",
|
|
recordCount,
|
|
"人"
|
|
});
|
|
}
|
|
if (!userActionDA.IsExistUserModule(tempSelectedUserID, tempSelectedModuleID))
|
|
{
|
|
return userActionDA.InsertUserAction(tempSelectedUserID, tempSelectedModuleID, Session["USERID"].ToString())==1? "模块【" + model.DESCRIPTION + "】添加成功" : "模块【" + model.DESCRIPTION + "】添加失败";
|
|
}
|
|
return "";
|
|
}
|
|
else
|
|
{
|
|
if (!userActionDA.IsExistUserModule(tempSelectedUserID, tempSelectedModuleID))
|
|
{
|
|
return userActionDA.InsertUserAction(tempSelectedUserID, tempSelectedModuleID, Session["USERID"].ToString()) == 1 ? "模块【" + model.DESCRIPTION + "】添加成功" : "模块【" + model.DESCRIPTION + "】添加失败";
|
|
}
|
|
return "";
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 通过模块名称模糊查询获取模块信息
|
|
/// <summary>
|
|
/// 通过模块名称模糊查询获取模块信息
|
|
/// </summary>
|
|
/// <param name="tempModuleName">模块名称</param>
|
|
/// <returns>返回模块JSON</returns>
|
|
private string SearchModuleByName(string tempModuleName)
|
|
{
|
|
StringBuilder searchModBuilder = new StringBuilder();
|
|
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
IList<ModuleEntity> moduleEntities = new List<ModuleEntity>();
|
|
|
|
moduleEntities = moduleDA.GetModuleByDescriptionLike(tempModuleName);
|
|
|
|
searchModBuilder.Append("{");
|
|
searchModBuilder.Append("\"mods\":");
|
|
searchModBuilder.Append("[");
|
|
|
|
if (moduleEntities.Count > 0)
|
|
{
|
|
for (int i = 0; i < moduleEntities.Count; i++)
|
|
{
|
|
if (i == moduleEntities.Count - 1)
|
|
{
|
|
searchModBuilder.Append("{");
|
|
searchModBuilder.Append("\"gid\":\"" + moduleEntities[i].Gid + "\",");
|
|
searchModBuilder.Append("\"modname\":\"" + moduleEntities[i].ModuleName + "\"");
|
|
searchModBuilder.Append("}");
|
|
}
|
|
else
|
|
{
|
|
searchModBuilder.Append("{");
|
|
searchModBuilder.Append("\"gid\":\"" + moduleEntities[i].Gid + "\",");
|
|
searchModBuilder.Append("\"modname\":\"" + moduleEntities[i].ModuleName + "\"");
|
|
searchModBuilder.Append("},");
|
|
}
|
|
}
|
|
}
|
|
|
|
searchModBuilder.Append("]");
|
|
searchModBuilder.Append("}");
|
|
|
|
return searchModBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 通过部门名称模糊查询获取部门信息
|
|
/// <summary>
|
|
/// 通过部门名称模糊查询获取部门信息
|
|
/// </summary>
|
|
/// <param name="tempDeptName">部门名称</param>
|
|
/// <returns>返回部门JSON</returns>
|
|
private string SearchDeptByName(string tempDeptName)
|
|
{
|
|
StringBuilder searchDeptBuilder = new StringBuilder();
|
|
|
|
SysDeptDA sysDeptDA = new SysDeptDA();
|
|
IList<SysDeptEntity> sysDeptEntities = new List<SysDeptEntity>();
|
|
|
|
sysDeptEntities = sysDeptDA.GetDeptsByDeptName(tempDeptName);
|
|
|
|
searchDeptBuilder.Append("{");
|
|
searchDeptBuilder.Append("\"depts\":");
|
|
searchDeptBuilder.Append("[");
|
|
|
|
if (sysDeptEntities.Count > 0)
|
|
{
|
|
for (int i = 0; i < sysDeptEntities.Count; i++)
|
|
{
|
|
if (i == sysDeptEntities.Count - 1)
|
|
{
|
|
searchDeptBuilder.Append("{");
|
|
searchDeptBuilder.Append("\"gid\":\"" + sysDeptEntities[i].GID + "\",");
|
|
searchDeptBuilder.Append("\"deptname\":\"" + sysDeptEntities[i].DEPTNAME + "\"");
|
|
searchDeptBuilder.Append("}");
|
|
}
|
|
else
|
|
{
|
|
searchDeptBuilder.Append("{");
|
|
searchDeptBuilder.Append("\"gid\":\"" + sysDeptEntities[i].GID + "\",");
|
|
searchDeptBuilder.Append("\"deptname\":\"" + sysDeptEntities[i].DEPTNAME + "\"");
|
|
searchDeptBuilder.Append("},");
|
|
}
|
|
}
|
|
}
|
|
|
|
searchDeptBuilder.Append("]");
|
|
searchDeptBuilder.Append("}");
|
|
|
|
return searchDeptBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 根据检索的用户名称进行模糊查询
|
|
/// <summary>
|
|
/// 根据检索的用户名称进行模糊查询
|
|
/// </summary>
|
|
/// <param name="tempShowName">用户ShowName</param>
|
|
/// <returns>返回JSON数据</returns>
|
|
private string SearchUserByName(string tempShowName)
|
|
{
|
|
StringBuilder searchUserBuilder = new StringBuilder();
|
|
|
|
UserDA userDA = new UserDA();
|
|
|
|
IList<UserEntity> userEntities = new List<UserEntity>();
|
|
|
|
userEntities = userDA.GetUserByShowNameLike(tempShowName);
|
|
|
|
searchUserBuilder.Append("{");
|
|
searchUserBuilder.Append("\"users\":");
|
|
searchUserBuilder.Append("[");
|
|
|
|
if (userEntities.Count > 0)
|
|
{
|
|
for(int i=0;i<userEntities.Count;i++)
|
|
{
|
|
if (i == userEntities.Count - 1)
|
|
{
|
|
searchUserBuilder.Append("{");
|
|
searchUserBuilder.Append("\"gid\":\"" + userEntities[i].Gid + "\",");
|
|
searchUserBuilder.Append("\"showname\":\"" + userEntities[i].ShowName + "\"");
|
|
searchUserBuilder.Append("}");
|
|
}
|
|
else
|
|
{
|
|
searchUserBuilder.Append("{");
|
|
searchUserBuilder.Append("\"gid\":\"" + userEntities[i].Gid + "\",");
|
|
searchUserBuilder.Append("\"showname\":\"" + userEntities[i].ShowName + "\"");
|
|
searchUserBuilder.Append("},");
|
|
}
|
|
}
|
|
}
|
|
|
|
searchUserBuilder.Append("]");
|
|
searchUserBuilder.Append("}");
|
|
|
|
return searchUserBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 删除模块信息
|
|
/// <summary>
|
|
/// 删除模块信息
|
|
/// </summary>
|
|
/// <param name="tempModuleGID">模块GID</param>
|
|
/// <returns>值1表示删除成功 值-1表示删除失败 值-2表示当前模板下有子模板不能删除,需要将所有子模板删除后,才能删除此模板</returns>
|
|
private int DeleteModule(string tempModuleGID)
|
|
{
|
|
int iResult = 0;
|
|
|
|
IList<ModuleEntity> moduleEntities = new List<ModuleEntity>();
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
|
|
|
|
moduleEntities = moduleDA.GetSubModule(tempModuleGID);
|
|
|
|
if (moduleEntities.Count > 0)
|
|
{
|
|
iResult = -2;//表示当前模板下有子模板不能删除,需要将所有子模板删除后,才能删除此模板
|
|
}
|
|
else
|
|
{
|
|
iResult = moduleDA.DeleteModule(tempModuleGID);
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
#region 获取模块列表总页数
|
|
/// <summary>
|
|
/// 获取模块列表总页数
|
|
/// </summary>
|
|
/// <returns>返回总页数</returns>
|
|
private int GetModulesListPage()
|
|
{
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
string strSql = "SELECT COUNT(*) FROM sys_module WHERE 1>0 ";
|
|
|
|
string strCondition = "";
|
|
if (strSearch != null)
|
|
{
|
|
if (!strSearch.Trim().Equals(""))
|
|
{
|
|
string tempSearch = strSearch;
|
|
tempSearch = tempSearch.Replace("{", "");
|
|
tempSearch = tempSearch.Replace("}", "");
|
|
tempSearch = tempSearch.Replace("[", "");
|
|
tempSearch = tempSearch.Replace("]", "");
|
|
|
|
string[] searchArg = tempSearch.Split(new char[] { ',' });
|
|
|
|
for (int i = 0; i < searchArg.Length; i++)
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "name"://Customer
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND (NAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%') ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
case "url"://BillNO
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND MODULEURL LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
case "parent"://ETD BeginDate
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND PARENTID IN (SELECT GID FROM sys_module WHERE NAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%') ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
strSql += strCondition;
|
|
}
|
|
}
|
|
|
|
int iTotal = int.Parse(moduleDA.GetExcuteSql(strSql).Tables[0].Rows[0][0].ToString());
|
|
|
|
return iTotal;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取模块列表信息
|
|
/// <summary>
|
|
/// 获取模块列表信息
|
|
/// </summary>
|
|
/// <returns>返回JSON列表信息</returns>
|
|
private string GetModulesList()
|
|
{
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
DataTable sourceTable;
|
|
|
|
string strCondition = "";
|
|
string strTopInclude = "";
|
|
string strTopNotInclude = "";
|
|
|
|
if (strSearch != null)
|
|
{
|
|
if (!strSearch.Trim().Equals(""))
|
|
{
|
|
string tempSearch = strSearch;
|
|
tempSearch = tempSearch.Replace("{", "");
|
|
tempSearch = tempSearch.Replace("}", "");
|
|
tempSearch = tempSearch.Replace("[", "");
|
|
tempSearch = tempSearch.Replace("]", "");
|
|
|
|
string[] searchArg = tempSearch.Split(new char[] { ',' });
|
|
|
|
for (int i = 0; i < searchArg.Length; i++)
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "name"://Customer
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND (NAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%') ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
case "url"://BillNO
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND MODULEURL LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
case "parent"://ETD BeginDate
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
strCondition += String.Format(" AND PARENTID IN (SELECT GID FROM sys_module WHERE NAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%') ", strArg[1].Replace("\"", ""));
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
string strSql = "";
|
|
if (iCurrentPage > 0 && iShowPage > 0)
|
|
{
|
|
if (iCurrentPage == 1)
|
|
{
|
|
strSql = String.Format(" SELECT {0} A.GID, A.NAME, A.DESCRIPTION, A.MODULEURL,A.MODULEICON, A.STATE, A.SORT, '查看',B.SHOWNAME, A.CREATETIME,A.TYPE "
|
|
+ " FROM sys_module as A LEFT JOIN [user] as B ON A.CREATEUSER = B.GID WHERE 1>0 " + strCondition + " ORDER BY A.NAME ASC ", "top " + iShowPage.ToString());
|
|
}
|
|
else
|
|
{
|
|
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
|
|
strTopInclude = "top " + iShowPage.ToString();
|
|
|
|
|
|
strSql = String.Format(" SELECT {0} A.GID, A.NAME, A.DESCRIPTION, A.MODULEURL,A.MODULEICON, A.STATE, A.SORT, '查看',B.SHOWNAME, A.CREATETIME,A.TYPE "
|
|
+ " FROM sys_module as A LEFT JOIN [user] as B ON A.CREATEUSER = B.GID WHERE 1>0 AND A.GID NOT IN "
|
|
+ " (SELECT {1} GID FROM sys_module WHERE 1>0 " + strCondition + " ORDER BY NAME ASC ) " + strCondition
|
|
+ " ORDER BY A.NAME ASC ", strTopInclude, strTopNotInclude);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
strSql = " SELECT A.GID, A.NAME, A.DESCRIPTION, A.MODULEURL,A.MODULEICON, A.STATE, A.SORT, '查看',B.SHOWNAME, A.CREATETIME,A.TYPE "
|
|
+ " FROM sys_module as A LEFT JOIN [user] as B ON A.CREATEUSER = B.GID WHERE 1>0 " + strCondition + " ORDER BY A.NAME ASC ";
|
|
}
|
|
|
|
sourceTable = moduleDA.GetExcuteSql(strSql).Tables[0];
|
|
|
|
StringBuilder sourceBuilder = new StringBuilder();
|
|
sourceBuilder.Append("{");
|
|
sourceBuilder.Append("rows:[");
|
|
for (int i = 0; i < sourceTable.Rows.Count; i++)
|
|
{
|
|
sourceBuilder.Append("{id:\"" + sourceTable.Rows[i][0].ToString() + "\",");
|
|
sourceBuilder.Append("data:[");
|
|
sourceBuilder.Append("\"0\",");
|
|
for (int j = 1; j < sourceTable.Columns.Count; j++)
|
|
{
|
|
if (j == sourceTable.Columns.Count - 1)
|
|
{
|
|
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\"");
|
|
}
|
|
else
|
|
{
|
|
sourceBuilder.Append("\"" + sourceTable.Rows[i][j].ToString() + "\",");
|
|
}
|
|
}
|
|
if (i == sourceTable.Rows.Count - 1)
|
|
{
|
|
sourceBuilder.Append("]}");
|
|
}
|
|
else
|
|
{
|
|
sourceBuilder.Append("]},");
|
|
}
|
|
|
|
}
|
|
sourceBuilder.Append("]");
|
|
sourceBuilder.Append("}");
|
|
|
|
return sourceBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 获取树JSON信息
|
|
/// <summary>
|
|
/// 获取树JSON信息
|
|
/// </summary>
|
|
/// <returns>返回树JSON信息</returns>
|
|
private string GetModuleTree()
|
|
{
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
IList<ModuleEntity> moduleEntities = new List<ModuleEntity>();
|
|
moduleEntities = moduleDA.GetAll();
|
|
|
|
IList<ModuleEntity> parentModuleEntities = new List<ModuleEntity>();
|
|
parentModuleEntities = moduleDA.GetParentModule();
|
|
List<ModuleEntity> tempEntities = moduleDA.GetAllSubModules();
|
|
|
|
|
|
StringBuilder leftNav = new StringBuilder();
|
|
|
|
StringBuilder sourceBuilder = new StringBuilder();
|
|
StringBuilder subBuilder = new StringBuilder();
|
|
sourceBuilder.Append("{id:0");
|
|
|
|
if (parentModuleEntities.Count > 0)
|
|
{
|
|
sourceBuilder.Append(",item:[");
|
|
|
|
foreach (ModuleEntity parentModuleEntity in parentModuleEntities)
|
|
{
|
|
subBuilder.Append("{id:\"" + parentModuleEntity.Gid + "\",");
|
|
subBuilder.Append("text:\"" + parentModuleEntity.ModuleDescription + "\"");
|
|
string strItems = "";
|
|
|
|
strItems = GetSubJs(parentModuleEntity.Gid, tempEntities, "");
|
|
|
|
if (!strItems.Trim().Equals(""))
|
|
{
|
|
subBuilder.Append(",item:[");
|
|
subBuilder.Append(strItems);
|
|
subBuilder.Append("]},");
|
|
}
|
|
else
|
|
{
|
|
subBuilder.Append("},");
|
|
}
|
|
}
|
|
|
|
string strChilds = subBuilder.ToString();
|
|
strChilds = strChilds.Substring(0, strChilds.Length - 1);//去除末尾逗号
|
|
|
|
sourceBuilder.Append(strChilds);
|
|
sourceBuilder.Append("]");
|
|
}
|
|
sourceBuilder.Append("}");
|
|
return sourceBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 获取树JSON信息
|
|
/// <summary>
|
|
/// 获取树JSON信息
|
|
/// </summary>
|
|
/// <returns>返回树JSON信息</returns>
|
|
private string GetUserModuleTree(string tempSelectedUserID)
|
|
{
|
|
ModuleDA moduleDA = new ModuleDA();
|
|
IList<ModuleEntity> moduleEntities = new List<ModuleEntity>();
|
|
moduleEntities = moduleDA.GetUserAll(tempSelectedUserID);
|
|
|
|
IList<ModuleEntity> parentModuleEntities = new List<ModuleEntity>();
|
|
parentModuleEntities = moduleDA.GetUserParentModule(tempSelectedUserID);
|
|
List<ModuleEntity> tempEntities = moduleDA.GetUserAllSubModules(tempSelectedUserID);
|
|
|
|
|
|
StringBuilder leftNav = new StringBuilder();
|
|
|
|
StringBuilder sourceBuilder = new StringBuilder();
|
|
StringBuilder subBuilder = new StringBuilder();
|
|
sourceBuilder.Append("{id:0");
|
|
|
|
if (parentModuleEntities.Count > 0)
|
|
{
|
|
sourceBuilder.Append(",item:[");
|
|
|
|
foreach (ModuleEntity parentModuleEntity in parentModuleEntities)
|
|
{
|
|
subBuilder.Append("{id:\"" + parentModuleEntity.Gid + "\",");
|
|
subBuilder.Append("text:\"" + parentModuleEntity.ModuleDescription + "\"");
|
|
string strItems = "";
|
|
|
|
strItems = GetSubJs(parentModuleEntity.Gid, tempEntities, "");
|
|
|
|
if (!strItems.Trim().Equals(""))
|
|
{
|
|
subBuilder.Append(",item:[");
|
|
subBuilder.Append(strItems);
|
|
subBuilder.Append("]},");
|
|
}
|
|
else
|
|
{
|
|
subBuilder.Append("},");
|
|
}
|
|
}
|
|
|
|
string strChilds = subBuilder.ToString();
|
|
strChilds = strChilds.Substring(0, strChilds.Length - 1);//去除末尾逗号
|
|
|
|
sourceBuilder.Append(strChilds);
|
|
sourceBuilder.Append("]");
|
|
}
|
|
sourceBuilder.Append("}");
|
|
return sourceBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 获取所有子模块信息
|
|
/// <summary>
|
|
/// 获取所有子模块信息
|
|
/// </summary>
|
|
/// <param name="parentGid">父节点GID</param>
|
|
/// <param name="tempEntities">全部子节点实体类</param>
|
|
/// <param name="tempJSON">返回值</param>
|
|
/// <returns>JSON树信息</returns>
|
|
public String GetSubJs(string parentGid, List<ModuleEntity> tempEntities, string tempJSON)
|
|
{
|
|
StringBuilder valBuilder = new StringBuilder();
|
|
StringBuilder childBuilder = new StringBuilder();
|
|
foreach (ModuleEntity mdle in tempEntities)
|
|
{
|
|
if (parentGid.Trim().Equals(mdle.ParentID))
|
|
{
|
|
bool isParentNode = IsParent(tempEntities, mdle.Gid);
|
|
|
|
string strTempNode = GetJSON(mdle, isParentNode);
|
|
string strTempValue = "";
|
|
|
|
if (isParentNode)
|
|
{
|
|
strTempValue = GetSubJs(mdle.Gid, tempEntities, strTempNode);
|
|
childBuilder.Append(strTempValue);
|
|
}
|
|
if (strTempValue.Trim().Equals(""))
|
|
{
|
|
childBuilder.Append(strTempNode);
|
|
}
|
|
}
|
|
}
|
|
if (childBuilder.Length > 1)
|
|
{
|
|
string strChilds = childBuilder.ToString();
|
|
strChilds = strChilds.Substring(0, strChilds.Length - 1);//去除末尾逗号
|
|
if (!tempJSON.Equals(""))
|
|
{
|
|
tempJSON = tempJSON.Replace("{0}", strChilds);
|
|
valBuilder.Append(tempJSON);
|
|
}
|
|
else
|
|
{
|
|
valBuilder.Append(strChilds);
|
|
}
|
|
}
|
|
return valBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 获取节点JSON信息
|
|
/// <summary>
|
|
/// 获取节点JSON信息
|
|
/// </summary>
|
|
/// <param name="tempModuleEntity"></param>
|
|
/// <param name="tempIsParent"></param>
|
|
/// <returns></returns>
|
|
private string GetJSON(ModuleEntity tempModuleEntity, bool tempIsParent)
|
|
{
|
|
StringBuilder jsonBuilder = new StringBuilder();
|
|
|
|
jsonBuilder.Append("{id:\"" + tempModuleEntity.Gid + "\",");
|
|
jsonBuilder.Append("text:\"" + tempModuleEntity.ModuleDescription + "\"");
|
|
|
|
if (tempIsParent)//如果当前节点有子节点,则增加子节点信息 item[{0}]
|
|
{
|
|
jsonBuilder.Append(",item:[{0}]},");
|
|
}
|
|
else
|
|
{
|
|
jsonBuilder.Append("},");
|
|
}
|
|
|
|
return jsonBuilder.ToString();
|
|
}
|
|
#endregion
|
|
|
|
///// <summary>
|
|
///// 获取
|
|
///// </summary>
|
|
///// <param name="tempModuleEntity"></param>
|
|
///// <returns></returns>
|
|
//private string GetNodeJSON(ModuleEntity tempModuleEntity)
|
|
//{
|
|
// StringBuilder NodeBuilder = new StringBuilder();
|
|
|
|
// NodeBuilder.Append("id:" + tempModuleEntity.Gid + ",");
|
|
// NodeBuilder.Append("text:" + tempModuleEntity.ModuleDescription + ",");
|
|
|
|
// return NodeBuilder.ToString();
|
|
//}
|
|
|
|
|
|
#region 遍历模块查看此模块是否为父模块
|
|
/// <summary>
|
|
/// 遍历模块查看此模块是否为父模块
|
|
/// </summary>
|
|
/// <param name="tempEntities">所有节点信息实体类</param>
|
|
/// <param name="strGID">要查询的模块GID</param>
|
|
/// <returns>True-存在子节点 False-不存在子节点</returns>
|
|
public bool IsParent(List<ModuleEntity> tempEntities, string strGID)
|
|
{
|
|
bool IsExist = false;
|
|
foreach (ModuleEntity mdle in tempEntities)
|
|
{
|
|
if (mdle.ParentID.Trim().Equals(strGID))
|
|
{
|
|
IsExist = true;
|
|
}
|
|
}
|
|
return IsExist;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|