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.
DS7/DSWeb/Areas/SoftMng/Controllers/AuthController.cs

1417 lines
61 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using System.Web.Script.Serialization;
using System.Xml.Serialization;
using DSWeb.SoftMng.BLL;
using DSWeb.SoftMng.DBUtility;
using DSWeb.SoftMng.Model;
using DSWeb.SoftMng.Filter;
using DSWeb.Areas.CommMng.Models;
using DSWeb.TruckMng.Helper.Repository;
using HcUtility.Comm;
using DSWeb.EntityDA;
using DSWeb.Models;
using Newtonsoft.Json;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.Areas.SysMng.DAL.SysUser;
namespace DSWeb.SoftMng.Controllers
{
public class AuthController : Controller
{
private readonly sys_secCompanyServerBLL _bll = new sys_secCompanyServerBLL();
private readonly sys_secModuleServerBLL _mbll = new sys_secModuleServerBLL();
private readonly info_clientServerBLL _cbll = new info_clientServerBLL();
private readonly sys_moduleServerBLL _ibll = new sys_moduleServerBLL();
#region View
/// <summary>
/// 首页
/// </summary>
/// <returns></returns>
//[ModuleAuthFilter(Name = "secRegist")]//过滤器
public ActionResult Index()
{
if (Session["CODENAME"] == null)
Response.Redirect("/login.aspx");
ViewData["CODENAME"] = Session["CODENAME"];
return View();
}
/// <summary>
/// 角色权限
/// </summary>
/// <returns></returns>
public ActionResult RoleAuth()
{
if (Session["CODENAME"] == null)
Response.Redirect("/login.aspx");
ViewData["CODENAME"] = Session["CODENAME"];
return View();
}
/// <summary>
/// 角色权限范围
/// </summary>
/// <returns></returns>
public ActionResult RoleAuthRange()
{
if (Session["CODENAME"] == null)
Response.Redirect("/login.aspx");
ViewData["CODENAME"] = Session["CODENAME"];
return View();
}
/// <summary>
/// 用户角色
/// </summary>
/// <returns></returns>
public ActionResult UserRole()
{
if (Session["CODENAME"] == null)
Response.Redirect("/login.aspx");
ViewData["CODENAME"] = Session["CODENAME"];
return View();
}
#endregion
#region Handler
/// <summary>
/// 获取列表
/// </summary>
/// <param name="startIndex">开始索引</param>
/// <param name="limit">分页大小</param>
/// <param name="search">搜索框的值</param>
/// <param name="sortName">排序字段</param>
/// <param name="sortOrder">排序方式</param>
/// <returns></returns>
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public JsonResult GetList(int startIndex, int limit, string search, string sortName, string sortOrder,string companyId, string opUser, string question,string beginRegCount_1, string beginRegCount_2, string beginDate_1, string beginDate_2)
{
StringBuilder where = new StringBuilder();
where.Append("1=1");
if (!(String.IsNullOrEmpty(opUser) || String.IsNullOrWhiteSpace(opUser)))
{
//search=Common.Common.string_Encrypt(search, "Dw9pVb9r");
where.Append(string.Format(" And OperUser like '%{0}%'", opUser));
}
if (!(String.IsNullOrEmpty(beginDate_1) || String.IsNullOrWhiteSpace(beginDate_1)))
{
//search=Common.Common.string_Encrypt(search, "Dw9pVb9r");
where.Append(string.Format(" And OperTime>='{0}'", beginDate_1));
}
if (!(String.IsNullOrEmpty(beginDate_2) || String.IsNullOrWhiteSpace(beginDate_2)))
{
//search=Common.Common.string_Encrypt(search, "Dw9pVb9r");
where.Append(string.Format(" And OperTime<='{0}'", beginDate_2));
}
var list = _bll.GetModelList(0, 2000, where.ToString(), String.Format("{0} {1}", sortName, sortOrder));
var result = from p in list
select new
{
p.GID,
CecrietStr = new JavaScriptSerializer().Deserialize<CecrietStr>(Common.Common.string_Decrypt(p.CompanySecretKey, "Dw9pVb9r")),
p.OperUser,
p.OperTime
};
if (!(String.IsNullOrEmpty(search) || String.IsNullOrWhiteSpace(search)))
{
result = result.Where(p=>p.CecrietStr.Name.Contains(search));
}
if (!(String.IsNullOrEmpty(beginRegCount_1) || String.IsNullOrWhiteSpace(beginRegCount_1)))
{
result = result.Where(p => p.CecrietStr.Times>=Convert.ToInt32(beginRegCount_1));
}
if (!(String.IsNullOrEmpty(beginRegCount_2) || String.IsNullOrWhiteSpace(beginRegCount_2)))
{
result = result.Where(p => p.CecrietStr.Times <= Convert.ToInt32(beginRegCount_2));
}
if (!(String.IsNullOrEmpty(question) || String.IsNullOrWhiteSpace(question)))
{
result = result.Where(p => p.CecrietStr.ModHistory!=null&&p.CecrietStr.ModHistory.Contains(question));
}
var count = result.Count();//总数
result = result.Skip(startIndex).Take(limit);
return Json(new { total = count, rows = result });
}
/// <summary>
/// 详细列表
/// </summary>
/// <returns></returns>
public JsonResult GetDetailList(string parentId, string companyId, bool isroot)
{
StringBuilder where = new StringBuilder();
if (isroot)
where.Append("(PARENTID='0' or PARENTID='1') and TYPE<>1 ");
else
where.Append(string.Format("PARENTID='{0}'", parentId));
var list = _ibll.GetModelList(where.ToString());
var result = from p in list
select new
{
p.GID,
Name = p.DESCRIPTION,
Code = p.NAME,
Data = GetsecModel(p.GID, companyId),
p.PARENTID,
HasChild = _ibll.GetRecordCount(string.Format("PARENTID='{0}'", p.GID)) > 0
};
return Json(new { total = list.Count, rows = result });
}
public object GetsecModel(string gid, string companyid)
{
var model = _mbll.GetModelList("IdenSecretkey='" + Common.Common.string_Encrypt(gid, "2cP46Gox") + "' AND PID='" + companyid + "'").FirstOrDefault();
if (model != null)
return Json(new
{
SecModel = model,
SecrietStr = new JavaScriptSerializer().Deserialize<SecrietStr>(Common.Common.string_Decrypt(model.ModuleSecretkey, "2cP46Gox"))
}).Data;
return Json(new
{
SecModel = new sys_secModule(),
SecrietStr = new SecrietStr()
{
Id = null,
Name = null,
Times = null,
Enabled = null
}
}).Data;
}
/// <summary>
/// 保存
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public JsonResult Save(Model.sys_secCompany model)
{
bool result;
//加密算法{公司主键,公司名称,允许在线人数,是否启用}
CecrietStr smodel = new CecrietStr();
Regex reg = new Regex(@"(?<=Key:')[\w-]+(?=')");
smodel.Id = reg.Match(Request["Name"]).Value;
reg = new Regex(@"(?<=Value:').+(?=')");
smodel.Name = reg.Match(Request["Name"]).Value;
smodel.Times = Convert.ToInt32(Request["Times"]);
smodel.Enabled = Request["Enabled"] != "0";
smodel.MenuControl = Request["MenuControl"] != "0";
if (String.IsNullOrEmpty(model.GID))
{
var toEncrypt = new JavaScriptSerializer().Serialize(smodel);
var secretKey = Common.Common.string_Encrypt(toEncrypt, "Dw9pVb9r");
model.GID = Guid.NewGuid().ToString();
model.CompanySecretKey = secretKey;
model.OperUser = Session["SHOWNAME"].ToString();
model.OperTime = DateTime.Now;
result = _bll.Add(model) > 0;
} //新增
else
{
//获取原数据
var oldModel = _bll.GetModel(model.GID);
smodel.ModHistory = new JavaScriptSerializer().Deserialize<CecrietStr>(Common.Common.string_Decrypt(oldModel.CompanySecretKey, "Dw9pVb9r")).ModHistory;
var toEncrypt = new JavaScriptSerializer().Serialize(smodel);
var secretKey = Common.Common.string_Encrypt(toEncrypt, "Dw9pVb9r");
//类反射
Type type = typeof(Model.sys_secCompany);
PropertyInfo[] piArr = type.GetProperties();
foreach (var pi in piArr)
{
if (Array.IndexOf(Request.Params.AllKeys, pi.Name) < 0)
pi.SetValue(model, pi.GetValue(oldModel, null), null);
}
model.CompanySecretKey = secretKey;
model.OperUser = Session["SHOWNAME"].ToString();
model.OperTime = DateTime.Now;
result = _bll.Update(model) > 0;
//try
//{
// var operUser = Session["SHOWNAME"].ToString();
// var list = _ibll.GetModelList("MODTYPE=0");//获取配置下的模块
// foreach (var item in list)
// {
// SecrietStr pmodel = new SecrietStr();
// pmodel.Id = item.GID;
// pmodel.Name = item.DESCRIPTION;
// pmodel.Times = smodel.Times;
// pmodel.Enabled =true;
// toEncrypt = new JavaScriptSerializer().Serialize(pmodel);
// secretKey = Common.Common.string_Encrypt(toEncrypt, "2cP46Gox");
// sys_secModule detailmodel = new sys_secModule();
// detailmodel.GID = Guid.NewGuid().ToString();
// detailmodel.ModuleSecretkey = secretKey;
// detailmodel.OperUser = operUser;
// detailmodel.OperTime = DateTime.Now;
// detailmodel.IdenSecretkey = Common.Common.string_Encrypt(pmodel.Id, "2cP46Gox");
// detailmodel.PID = model.GID;
// var ymodel = _mbll.GetModelList("IdenSecretkey='" +
// Common.Common.string_Encrypt(pmodel.Id, "2cP46Gox") + "' AND PID='" +
// model.GID + "'").FirstOrDefault();
// if (ymodel != null)
// {
// detailmodel.GID = ymodel.GID;
// _mbll.Update(detailmodel);
// }
// else
// _mbll.Add(detailmodel);
// }
//}
//catch (Exception e)
//{
// result = false;
//}
} //修改
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 保存从实例
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public JsonResult SaveDetail(Model.sys_secModule model)
{
bool result;
//加密算法{模块主键,模块名称,允许使用人数,是否启用}
SecrietStr smodel = new SecrietStr();
smodel.Id = Request["SecId"];
smodel.Name = Request["Name"];
smodel.Times = Convert.ToInt32(Request["Times"]);
smodel.Enabled = Request["Enabled"] != "0";
var toEncrypt = new JavaScriptSerializer().Serialize(smodel);
var secretKey = Common.Common.string_Encrypt(toEncrypt, "2cP46Gox");
if (String.IsNullOrEmpty(model.GID))
{
model.GID = Guid.NewGuid().ToString();
model.ModuleSecretkey = secretKey;
model.OperUser = Session["SHOWNAME"].ToString();
model.OperTime = DateTime.Now;
model.IdenSecretkey = Common.Common.string_Encrypt(smodel.Id, "2cP46Gox");
result = _mbll.Add(model) > 0;
} //新增
else
{
//获取原数据
var oldModel = _mbll.GetModel(model.GID);
//类反射
Type type = typeof(Model.sys_secModule);
PropertyInfo[] piArr = type.GetProperties();
foreach (var pi in piArr)
{
if (Array.IndexOf(Request.Params.AllKeys, pi.Name) < 0)
pi.SetValue(model, pi.GetValue(oldModel, null), null);
}
model.ModuleSecretkey = secretKey;
model.IdenSecretkey = Common.Common.string_Encrypt(smodel.Id, "2cP46Gox");
model.OperUser = Session["SHOWNAME"].ToString();
model.OperTime = DateTime.Now;
result = _mbll.Update(model) > 0;
} //修改
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public JsonResult Delete(string ids)
{
bool result = _bll.DeleteListWhere(string.Format("GID in({0})", ids)) > 0;
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public JsonResult DeleteDetail(string ids)
{
bool result = _mbll.DeleteListWhere(string.Format("GID in({0})", ids)) > 0;
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 懒加载公司信息
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="query"></param>
/// <returns></returns>
public JsonResult GetCompanyList(int pageIndex, int pageSize, string query)
{
StringBuilder where = new StringBuilder();
if (!String.IsNullOrEmpty(query))
where.Append(string.Format("SHORTNAME LIKE '%{0}%' OR CODENAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%'", query));
var list = _cbll.GetModelList(pageIndex, pageSize, where.ToString(), "SHORTNAME collate Chinese_PRC_CS_AS_KS_WS");
var total = _cbll.GetRecordCount(where.ToString());
var result = from p in list
select new
{
id = "{Key:'" + p.GID + "', Value:'" + p.SHORTNAME + "'}",
text = p.SHORTNAME
};
return Json(new { data = result, total }, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 获取角色权限范围列表
/// </summary>
/// <returns></returns>
public JsonResult GetAuthRangeList(string roleid, string sortOrder, string sortName, string search)
{
user_authority_infoBLL ibll = new user_authority_infoBLL();
StringBuilder where = new StringBuilder();
where.Append("ISDELETE=0");
if (!(String.IsNullOrEmpty(search) || String.IsNullOrWhiteSpace(search)))
where.Append(string.Format(" And DESCRIPTION like '%{0}%'", search));
var list = ibll.GetModelList(0,9999,where.ToString(), String.Format("{0} {1}", sortName, sortOrder));
//var list = ibll.GetModelList(string.Format(where + " ORDER BY {0} {1}", sortName, sortOrder));
var result = from p in list
select new
{
AUTHORITYID = p.GID,
NAME = p.DESCRIPTION,
VISIBLERANGE = 4,
OPERATERANGE = 4
};
if (!string.IsNullOrEmpty(roleid))
{
user_authority_rangeBLL rbll = new user_authority_rangeBLL();
var list1 = rbll.GetModelList("USERID='" + roleid + "'");
var update = from p in list1
select new
{
p.GID,
p.AUTHORITYID,
p.VISIBLERANGE,
p.OPERATERANGE,
VISIBLERELATION = GetRelation(p.VISIBLERANGE, p.AUTHORITYID, roleid,"vs"),
OPERATERELATION = GetRelation(p.OPERATERANGE, p.AUTHORITYID, roleid,"op")
};
return Json(new { result, update });
}
return Json(new { result, update = new ArrayList() });
}
private string GetRelation(int? type, string authority, string roleid,string rangtype)
{
var israngstr = " and OPERATERANGE=1 ";
if (rangtype =="vs") israngstr = " and VISIBLERANGE=1 ";
JavaScriptSerializer json = new JavaScriptSerializer();
user_authority_range_companyBLL rcbll = new user_authority_range_companyBLL();
user_authority_range_opBLL robll = new user_authority_range_opBLL();
var obj = new Object();
if (type == 5)
{
obj = from q in rcbll.GetModelList("USERID='" + roleid + "' AND AUTHORITYID='" + authority + "'"+ israngstr)
select new
{
id = q.COMPANYID,
name = "comp"
};
}
if (type == 6)
{
obj = from q in robll.GetModelList("USERID='" + roleid + "' AND AUTHORITYID='" + authority + "'"+ israngstr)
select new
{
id = q.OPID,
name = "user"
};
}
return json.Serialize(obj);
}
/// <summary>
/// 获取角色下的权限
/// </summary>
/// <param name="pid"></param>
/// <returns></returns>
public JsonResult GetRoleModuleList(string pid)
{
sys_moduleBLL bll = new sys_moduleBLL();
StringBuilder where = new StringBuilder();
var list = bll.GetModelList("GID IN (SELECT AuthorityID FROM sys_roleauth WHERE PID='" + pid + "' AND TYPE=1)");
var result = from p in list
select new
{
id = p.GID,
name = p.DESCRIPTION,
pId = p.PARENTID
};
return Json(result);
}
/// <summary>
/// 批量配置模块
/// </summary>
/// <param name="companyid"></param>
/// <param name="modtype"></param>
/// <param name="enabled"></param>
/// <returns></returns>
public JsonResult SetMod(string companyid, int modtype, bool enabled)
{
var result = true;
try
{
var cmodel = _bll.GetModel(companyid);
CecrietStr cModel = new JavaScriptSerializer().Deserialize<CecrietStr>(
Common.Common.string_Decrypt(cmodel.CompanySecretKey, "Dw9pVb9r"));
var operUser = Session["SHOWNAME"].ToString();
var list = _ibll.GetModelList("MODTYPE=" + modtype);//获取配置下的模块
foreach (var item in list)
{
SecrietStr pmodel = new SecrietStr();
pmodel.Id = item.GID;
pmodel.Name = item.DESCRIPTION;
pmodel.Times = cModel.Times;
pmodel.Enabled = enabled;
var toEncrypt = new JavaScriptSerializer().Serialize(pmodel);
var secretKey = Common.Common.string_Encrypt(toEncrypt, "2cP46Gox");
sys_secModule model = new sys_secModule();
model.GID = Guid.NewGuid().ToString();
model.ModuleSecretkey = secretKey;
model.OperUser = operUser;
model.OperTime = DateTime.Now;
model.IdenSecretkey = Common.Common.string_Encrypt(pmodel.Id, "2cP46Gox");
model.PID = companyid;
var ymodel = _mbll.GetModelList("IdenSecretkey='" +
Common.Common.string_Encrypt(pmodel.Id, "2cP46Gox") + "' AND PID='" +
companyid + "'").FirstOrDefault();
if (ymodel != null)
{
model.GID = ymodel.GID;
_mbll.Update(model);
}
else
_mbll.Add(model);
}
//设置模块历史
var hisList = cModel.ModHistory;
List<string> modHis = new List<string>();
if (!string.IsNullOrEmpty(hisList))
modHis = hisList.Split(',').ToList();
if (enabled)
{
if (!modHis.Contains(modtype.ToString()))
modHis.Add(modtype.ToString());
}
else
modHis.Remove(modtype.ToString());
cModel.ModHistory = modHis.Count > 0 ? string.Join(",", modHis) : "";
var cecretKey = new JavaScriptSerializer().Serialize(cModel);
cmodel.CompanySecretKey = Common.Common.string_Encrypt(cecretKey, "Dw9pVb9r");
_bll.Update(cmodel);
}
catch (Exception e)
{
result = false;
}
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 获取导出sql
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public JsonResult GetSql(string ids)
{
var list = _bll.GetModelList(string.Format("GID in({0})", ids));
return Json(list);
}
/// <summary>
/// 懒加载权限信息
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="query"></param>
/// <returns></returns>
public JsonResult GetAuthList(int pageIndex, int pageSize, string query)
{
sys_moduleBLL ibll = new sys_moduleBLL();
StringBuilder where = new StringBuilder();
if (!String.IsNullOrEmpty(query))
where.Append(string.Format("NAME LIKE '%{0}%' OR DESCRIPTION LIKE '%{0}%'", query));
var list = ibll.GetModelList(pageIndex, pageSize, where.ToString(), "DESCRIPTION collate Chinese_PRC_CS_AS_KS_WS");
var total = ibll.GetRecordCount(where.ToString());
var result = from p in list
select new
{
id = p.GID,
text = p.DESCRIPTION
};
return Json(new { data = result, total }, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 获取角色列表
/// </summary>
/// <param name="startIndex"></param>
/// <param name="limit"></param>
/// <param name="search"></param>
/// <param name="sortName"></param>
/// <param name="sortOrder"></param>
/// <returns></returns>
public JsonResult GetRoleList(int startIndex, int limit, string search, string sortName, string sortOrder)
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
StringBuilder where = new StringBuilder();
where.Append("Type=0");
if (!(String.IsNullOrEmpty(search) || String.IsNullOrWhiteSpace(search)))
where.Append(string.Format(" And Name like '%{0}%'", search));
var list = mbll.GetModelList(startIndex, limit, where.ToString(), String.Format("{0} {1}", sortName, sortOrder));
var count = mbll.GetRecordCount(where.ToString());//总数
return Json(new { total = count, rows = list });
}
/// <summary>
/// 保存角色
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public JsonResult SaveRole(sys_roleauth model)
{
bool result;
sys_roleauthBLL mbll = new sys_roleauthBLL();
if (String.IsNullOrEmpty(model.GID))
{
model.GID = Guid.NewGuid().ToString();
result = mbll.Add(model) > 0;
} //新增
else
{
//获取原数据
var oldModel = mbll.GetModel(model.GID);
//类反射
Type type = typeof(Model.sys_roleauth);
PropertyInfo[] piArr = type.GetProperties();
foreach (var pi in piArr)
{
if (Array.IndexOf(Request.Params.AllKeys, pi.Name) < 0)
pi.SetValue(model, pi.GetValue(oldModel, null), null);
}
result = mbll.Update(model) > 0;
} //修改
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 删除角色
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public JsonResult RoleAuthDelete(string ids)
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
user_authority_rangeBLL rbll = new user_authority_rangeBLL();
user_authority_range_companyBLL rcbll = new user_authority_range_companyBLL();
user_authority_range_opBLL robll = new user_authority_range_opBLL();
bool result = mbll.DeleteListWhere(string.Format("GID in({0})", ids)) > 0;
user_roleBLL ubll = new user_roleBLL();
//删除关系表数据
bool result1 = ubll.DeleteListWhere(string.Format("ROLEID in({0})", ids)) > 0;
//删除权限范围角色权限关系数据
bool result2 = rbll.DeleteListWhere(string.Format("USERID in({0})", ids)) > 0;
//删除公司关联表数据
bool result3 = rcbll.DeleteListWhere(string.Format("USERID in({0})", ids)) > 0;
//删除人员关联表数据
bool result4 = robll.DeleteListWhere(string.Format("USERID in({0})", ids)) > 0;
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 复制新建角色
/// </summary>
/// <param name="ids"></param>
/// <param name="newname"></param>
/// <returns></returns>
public JsonResult CopyRole(sys_roleauth model)
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
user_authority_rangeBLL rbll = new user_authority_rangeBLL();
user_authority_range_companyBLL rcbll = new user_authority_range_companyBLL();
user_authority_range_opBLL robll = new user_authority_range_opBLL();
bool result = false;
var role = mbll.GetModel(model.GID); ;
role.GID = Guid.NewGuid().ToString();
role.Name = model.Name;
//return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
//复制新增一条角色信息
result=mbll.Add(role)>0;
var oldroleid = model.GID;
if (result)
{
var rolelist = mbll.GetModelList(string.Format("PID= '{0}' ", oldroleid));
foreach (var item in rolelist)
{
item.GID = Guid.NewGuid().ToString();
item.PID = role.GID;
result = mbll.Add(item) > 0;
if (!result) break;
}
}
if (result)
{
//复制增加 权限范围角色权限关系数据
var authority_rangelist = rbll.GetModelList(string.Format("USERID in('{0}')", oldroleid));
foreach (var item in authority_rangelist)
{
item.GID = Guid.NewGuid().ToString();
item.USERID = role.GID;
result=rbll.Add(item)> 0;
if (!result) break;
}
}
//公司关联表数据
if (result)
{
var user_authority_range_companylist = rcbll.GetModelList(string.Format("USERID in('{0}')", oldroleid));
foreach (var item in user_authority_range_companylist)
{
item.GID = Guid.NewGuid().ToString();
item.USERID = role.GID;
result = rcbll.Add(item)>0;
if (!result) break;
}
}
//人员关联表数据
if (result)
{
var user_authority_range_oplist = robll.GetModelList(string.Format("USERID in('{0}')", oldroleid));
foreach (var item in user_authority_range_oplist)
{
item.GID = Guid.NewGuid().ToString();
item.USERID = role.GID;
result = robll.Add(item)>0;
if (!result) break;
}
}
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
/// <summary>
/// 删除权限
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
//public JsonResult RoleAuthDelete2(string roleid, string ids)
//{
// var module = new Modules.ModuleGridSource();
// user_roleBLL ubll = new user_roleBLL();
// sys_roleauthBLL mbll = new sys_roleauthBLL();
// bool result = mbll.DeleteListWhere(string.Format("PID ='{0}' AND AuthorityID IN({1})", roleid, ids)) > 0;
// //所有拥有此角色的人员删除该权限
// var list = ubll.GetModelList("ROLEID='" + roleid + "'");
// string[] delItems = ids.Split(',');
// foreach (var item in delItems)
// {
// foreach (var p in list)
// module.RemoveUserModule(p.USERID, item.Replace("\'", ""));
// }
// return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
//}
/// <summary>
/// 获取人员树型
/// </summary>
/// <returns></returns>
public JsonResult GetUsertreeView()
{
StringBuilder userBuilder = new StringBuilder();
IList<CompanyEntity> companyEntities = new List<CompanyEntity>();
CompanyDA companyDA = new CompanyDA();
companyEntities = companyDA.GetAllCompany();
if (companyEntities.Count > 0)
{
userBuilder.Append("[");
for (int k = 0; k < companyEntities.Count; k++)
{
if (k == 0)
{
userBuilder.Append("{id:\"" + companyEntities[k].GID + "\",");
}
else
{
userBuilder.Append(",{id:\"" + companyEntities[k].GID + "\",");
}
userBuilder.Append("name:\"" + companyEntities[k].NAME + "\",nocheck:false");
IList<SysDeptEntity> sysDeptEntities = new List<SysDeptEntity>();
sysDeptEntities = new SysDeptDA().GetDepartmentByCompanyID(companyEntities[k].GID);
if (sysDeptEntities.Count > 0)
{
userBuilder.Append(",childred:[");
for (int j = 0; j < sysDeptEntities.Count; j++)
{
userBuilder.Append("{id:\"" + sysDeptEntities[j].GID + "\",");
userBuilder.Append("name:\"" + sysDeptEntities[j].DEPTNAME + "\",nocheck:false");
IList<UserEntity> userEntities = new List<UserEntity>();
userEntities = new UserDA().GetUserByCompanyAndDept(companyEntities[k].GID, sysDeptEntities[j].DEPTNAME);
if (userEntities.Count > 0)
{
userBuilder.Append(",childred:[");
for (int i = 0; i < userEntities.Count; i++)
{
userBuilder.Append("{id:\"" + userEntities[i].Gid + "\",");
userBuilder.Append("name:\"" + userEntities[i].ShowName + "\"");
if (i == userEntities.Count - 1)
{
userBuilder.Append("}");
}
else
{
userBuilder.Append("},");
}
}
userBuilder.Append("]");
}
if (j == sysDeptEntities.Count - 1)
{
userBuilder.Append("}");
}
else
{
userBuilder.Append("},");
}
}
userBuilder.Append("]");
}
userBuilder.Append("}");
}
userBuilder.Append("]");
}
return Json(userBuilder.ToString());
}
/// <summary>
/// 设置角色
/// </summary>
/// <param name="userid"></param>
/// <param name="roleid"></param>
/// <param name="type"></param>
/// <returns></returns>
//public JsonResult SetRole(string userid, string roleid, int type)
//{
// sys_roleauthBLL mbll = new sys_roleauthBLL();
// var authlist = mbll.GetModelList("Type=1 And PID ='" + roleid + "'");
// var module = new Modules.ModuleGridSource();
// string msg = "";
// try
// {
// foreach (var item in authlist)
// {
// if (type == 0)
// {
// var m = module.RemoveUserModule(userid, item.AuthorityID);
// if (m != "1") msg += m + "<br/>";
// }
// else
// {
// var m = module.AddUserModule(userid, item.AuthorityID);
// if (m != "1") msg += m + "<br/>";
// }
// }
// //绑定用户角色表
// //dosomething
// return Json(msg);
// }
// catch (Exception se)
// {
// return Json(se.Message);
// }
//}
/// <summary>
/// 设置权限范围
/// </summary>
/// <param name="userid"></param>
/// <param name="roleid"></param>
/// <param name="type"></param>
/// <param name="view"></param>
/// <param name="opera"></param>
/// <param name="view_check"></param>
/// <param name="opera_check"></param>
/// <returns></returns>
public void SetRange(string userid, string roleid, int type)
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
user_authority_rangeBLL arbll = new user_authority_rangeBLL();
user_authority_range_companyBLL rcbll = new user_authority_range_companyBLL();
user_authority_range_opBLL robll = new user_authority_range_opBLL();
arbll.DeleteListWhere("USERID='" + userid + "' ");
//删除之前的配置(公司)
rcbll.DeleteListWhere("USERID='" + userid + "' ");
//删除之前的配置(人员)
robll.DeleteListWhere("USERID='" + userid + "' ");
user_roleBLL ubll = new user_roleBLL();
var listrole = ubll.GetModelList("USERID='" + userid + "'");
foreach (var role in listrole)
{
var list = arbll.GetModelList("USERID='" + role.ROLEID + "'");
foreach (var item in list)
{
SetAuthRange(userid, item.AUTHORITYID, item.VISIBLERANGE, item.OPERATERANGE, role.ROLEID);
}
}
//if (type == 0) //移除角色
//{
// //删除权限范围 type=0
// arbll.DeleteListWhere("USERID='" + userid + "' AND AUTHORITYID in (SELECT AUTHORITYID FROM user_authority_range WHERE USERID='" + roleid + "')");
// //删除之前的配置(公司)
// rcbll.DeleteListWhere("USERID='" + userid + "' AND AUTHORITYID in (SELECT AUTHORITYID FROM user_authority_range WHERE USERID='" + roleid + "')");
// //删除之前的配置(人员)
// robll.DeleteListWhere("USERID='" + userid + "' AND AUTHORITYID in (SELECT AUTHORITYID FROM user_authority_range WHERE USERID='" + roleid + "')");
// user_roleBLL ubll = new user_roleBLL();
// var listrole = ubll.GetModelList("USERID='" + userid + "'");
// foreach (var role in listrole)
// {
// var list = arbll.GetModelList("USERID='" + role.ROLEID + "'");
// foreach (var item in list)
// {
// SetAuthRange(userid, item.AUTHORITYID, item.VISIBLERANGE, item.OPERATERANGE, roleid);
// }
// }
//}
//if (type == 1)//添加角色
//{
// //增加权限范围
// var list = arbll.GetModelList("USERID='" + roleid + "'");
// foreach (var item in list)
// {
// SetAuthRange(userid, item.AUTHORITYID, item.VISIBLERANGE, item.OPERATERANGE, roleid);
// }
//}
}
/// <summary>
/// 设置单独权限的范围
/// </summary>
private void SetAuthRange(string userid, string authority, int? view, int? opera, string roleid)
{
user_authority_rangeBLL arbll = new user_authority_rangeBLL();
var model = arbll.GetModelList("USERID='" + userid + "' AND AUTHORITYID='" + authority + "'").FirstOrDefault();
if (model != null)
{
if (model.VISIBLERANGE == 5 || view == 5)
model.VISIBLERANGE = 5;
else if (model.VISIBLERANGE == 6 || view == 6)
model.VISIBLERANGE = 6;
else if (model.VISIBLERANGE >= view)
model.VISIBLERANGE = view;
if (model.OPERATERANGE == 5 || opera == 5)
model.OPERATERANGE = 5;
else if (model.OPERATERANGE == 6 || opera == 6)
model.OPERATERANGE = 6;
else if (model.OPERATERANGE >= opera)
model.OPERATERANGE = opera;
model.MODIFIEDTIME = DateTime.Now;
model.MODIFIEDUSER = Session["USERID"].ToString();
arbll.Update(model);
}
else
{
model = new user_authority_range();
model.GID = Guid.NewGuid().ToString();
model.USERID = userid;
model.AUTHORITYID = authority;
model.VISIBLERANGE = view;
model.OPERATERANGE = opera;
model.CREATEUSER = Session["USERID"].ToString();
model.CREATETIME = DateTime.Now;
arbll.Add(model);
}
var data_view = GetRelation(model.VISIBLERANGE, model.AUTHORITYID, roleid,"vs");
var data_opera = GetRelation(model.OPERATERANGE, model.AUTHORITYID, roleid,"op");
SetCompUser(model.VISIBLERANGE, model.OPERATERANGE, model.AUTHORITYID, model.USERID, data_view, data_opera);
}
public void SetCompanyRange(string authorityid, string userid, int type, string list)
{
//var israngstr = " and OPERATERANGE=1 ";
//if (type == 0) israngstr = " and VISIBLERANGE=1 ";
user_authority_range_companyBLL rcbll = new user_authority_range_companyBLL();
var plist = new JavaScriptSerializer().Deserialize<List<modeuleClass>>(list);
foreach (var p in plist)
{
var umodel = rcbll.GetModelList("USERID='" + userid + "' AND AUTHORITYID='" + authorityid + "' AND COMPANYID='" + p.id + "'").FirstOrDefault();
if (umodel != null)
{
if (type == 0)
umodel.VISIBLERANGE = 1;
else
umodel.OPERATERANGE = 1;
umodel.MODIFIEDTIME = DateTime.Now;
umodel.MODIFIEDUSER = Session["USERID"].ToString();
rcbll.Update(umodel);
}
else
{
umodel = new user_authority_range_company();
umodel.GID = Guid.NewGuid().ToString();
umodel.USERID = userid;
umodel.AUTHORITYID = authorityid;
umodel.COMPANYID = p.id;
if (type == 0)
{
umodel.VISIBLERANGE = 1;
umodel.OPERATERANGE = 0;
}
else
{
umodel.VISIBLERANGE = 0;
umodel.OPERATERANGE = 1;
}
umodel.CREATETIME = DateTime.Now;
umodel.CREATEUSER = Session["USERID"].ToString();
rcbll.Add(umodel);
}
}
}
/// <summary>
/// 保存角色权限配置
/// </summary>
/// type:0 - 角色权限 1角色权限范围
/// <returns></returns>
public void SetUserRange(string authorityid, string userid, int type, string list)
{
//var sqlstr = " update user_authority_range_op set OPERATERANGE=0 where USERID = '" + userid + "' AND AUTHORITYID = '" + authorityid + "'";
//if (type == 0) sqlstr = " update user_authority_range_op set VISIBLERANGE=0 where USERID = '" + userid + "' AND AUTHORITYID = '" + authorityid + "'";
//var _r = BasicDataRefDAL.ExecSql(sqlstr);
user_authority_range_opBLL robll = new user_authority_range_opBLL();
var omodellist = robll.GetModelList("USERID='" + userid + "' AND AUTHORITYID='" + authorityid + "'");
var qlist = new JavaScriptSerializer().Deserialize<List<modeuleClass>>(list);
foreach (var p in qlist)
{
var omodel = omodellist.Find(t => t.OPID == p.id);
if (omodel != null)
{
if (type == 0)
omodel.VISIBLERANGE = 1;
else
omodel.OPERATERANGE = 1;
omodel.MODIFIEDTIME = DateTime.Now;
omodel.MODIFIEDUSER = Session["USERID"].ToString();
robll.Update(omodel);
}
else
{
omodel = new user_authority_range_op();
omodel.GID = Guid.NewGuid().ToString();
omodel.USERID = userid;
omodel.AUTHORITYID = authorityid;
omodel.OPID = p.id;
if (type == 0)
{
omodel.VISIBLERANGE = 1;
omodel.OPERATERANGE = 0;
}
else
{
omodel.VISIBLERANGE = 0;
omodel.OPERATERANGE = 1;
}
omodel.CREATETIME = DateTime.Now;
omodel.CREATEUSER = Session["USERID"].ToString();
robll.Add(omodel);
}
}
}
/// <summary>
/// 角色添加权限
/// </summary>
/// <param name="roleid"></param>
/// <param name="modulelist"></param>
/// <returns></returns>
//public JsonResult SaveRoleAuth(string roleid, string modulelist)
//{
// var module = new Modules.ModuleGridSource();
// sys_roleauthBLL mbll = new sys_roleauthBLL();
// user_roleBLL ubll = new user_roleBLL();
// try
// {
// var data = new JavaScriptSerializer().Deserialize<List<modeuleClass>>(modulelist);
// var list = ubll.GetModelList("ROLEID='" + roleid + "'");
// //20200225 首先检查拥有该角色的所有人 能否获得该权限范围
// var useridlist = "";
// foreach (var user in list) {
// if (useridlist != "") useridlist += ",";
// useridlist += user.GID;
// }
// var checkresult = SysUserDAL.CheckOPRange(data, useridlist);
// if (!checkresult.Success) {
// return Json(new { success = false, msg = checkresult.Message });
// }
// foreach (var item in data)
// {
// sys_roleauth model = new sys_roleauth();
// model.GID = Guid.NewGuid().ToString();
// model.AuthorityID = item.id;//模块id
// model.Name = item.name;
// model.PID = roleid;
// model.Type = 1;//一般权限
// mbll.Add(model);
// //所有拥有此角色的人员添加该权限
// foreach (var p in list)
// module.AddUserModule(p.USERID, item.id);
// }
// return Json(new { success = true });
// }
// catch (Exception se)
// {
// return Json(new { success = false, msg = se.Message });
// }
//}
//获取全部角色
public JsonResult GetRoleView()
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
StringBuilder where = new StringBuilder();
where.Append("Type=0");
var list = mbll.GetModelList(where.ToString());
var result = from p in list
select new
{
id = p.GID,
name = p.Name
};
return Json(result);
}
/// <summary>
/// 获取人员对应的角色
/// </summary>
/// <param name="userid"></param>
/// <returns></returns>
public JsonResult GetUserRoleChecked(string userid)
{
sys_roleauthBLL mbll = new sys_roleauthBLL();
StringBuilder where = new StringBuilder();
where.Append(string.Format("Type=0 and GID in (SELECT ROLEID FROM USER_ROLE WHERE USERID ='{0}')", userid));
var list = mbll.GetModelList(where.ToString());
var result = from p in list
select new
{
id = p.GID,
name = p.Name
};
return Json(result);
}
/// <summary>
/// 保存用户角色
/// </summary>
/// <param name="userid"></param>
/// <param name="rolelist"></param>
/// <returns></returns>
public JsonResult SaveUserRole(string userid, string rolelist, int type)
{
user_roleBLL ubll = new user_roleBLL();
try
{
var data = new JavaScriptSerializer().Deserialize<List<modeuleClass>>(rolelist);
foreach (var item in data)
{
user_role model = new user_role();
model.GID = Guid.NewGuid().ToString();
model.ROLEID = item.id;
model.USERID = userid;
switch (type)
{
case 1://添加角色
ubll.Add(model);
//加权限
//SetRole(userid, item.id, 1);
////修改权限范围
//SetRange(userid, item.id, 1);
break;
case 0://移除角色
ubll.DeleteListWhere(string.Format("USERID='{0}' AND ROLEID='{1}'", userid, item.id));
////移除权限
//SetRole(userid, item.id, 0);
////恢复默认权限范围
//SetRange(userid, item.id, 0);
break;
}
}
SetRange(userid,"", 1);
return Json(new { success = true });
}
catch (Exception se)
{
return Json(new { success = false, msg = se.Message });
}
}
/// <summary>
/// 获取公司列表
/// </summary>
/// <returns></returns>
public JsonResult GetCompanyList1()
{
companyBLL cbll = new companyBLL();
var result = from p in cbll.GetModelList("")
select new
{
id = p.GID,
name = p.NAME
};
return Json(result);
}
/// <summary>
/// 保存权限范围
/// </summary>
/// <returns></returns>
public JsonResult SaveAuthByRole(user_authority_range model)
{
user_authority_rangeBLL rbll = new user_authority_rangeBLL();
bool result;
if (String.IsNullOrEmpty(model.GID))
{
model.GID = Guid.NewGuid().ToString();
model.CREATEUSER = Session["SHOWNAME"].ToString();
model.CREATETIME = DateTime.Now;
result = rbll.Add(model) > 0;
} //新增
else
{
//获取原数据
var oldModel = rbll.GetModel(model.GID);
//类反射
Type type = typeof(Model.user_authority_range);
PropertyInfo[] piArr = type.GetProperties();
foreach (var pi in piArr)
{
if (Array.IndexOf(Request.Params.AllKeys, pi.Name) < 0)
pi.SetValue(model, pi.GetValue(oldModel, null), null);
}
model.MODIFIEDUSER = Session["SHOWNAME"].ToString();
model.MODIFIEDTIME = DateTime.Now;
result = rbll.Update(model) > 0;
} //修改
//设置角色对应的权限范围
var data_view = Request["VISIBLERELATION"];
var data_opera = Request["OPERATERELATION"];
SetCompUser(model.VISIBLERANGE, model.OPERATERANGE, model.AUTHORITYID, model.USERID, data_view, data_opera);
//获取该角色下的人员并修改权限范围
user_roleBLL bll = new user_roleBLL();
var list = bll.GetModelList("ROLEID='" + model.USERID + "'");
foreach (var item in list)
SetAuthRange(item.USERID, model.AUTHORITYID, model.VISIBLERANGE, model.OPERATERANGE, model.USERID);
return Json(new { success = result, message = result ? "操作成功" : "操作失败" });
}
private void SetCompUser(int? view, int? opera, string authority, string userid, string data_view, string data_opera)
{
//可视范围(保存人员)
if (view == 5)
SetCompanyRange(authority, userid, 0, data_view);
if (view == 6)
SetUserRange(authority, userid, 0, data_view);
//操作范围(保存人员)
if (opera == 5)
SetCompanyRange(authority, userid, 1, data_opera);
if (opera == 6)
SetUserRange(authority, userid, 1, data_opera);
}
/// <summary>
/// 保存权限范围
/// </summary>
/// <returns></returns>
public JsonResult SaveAuthByRoleMulti(string jsonStr)
{
var jsonObj = JsonConvert.DeserializeObject<List<user_authority_range_multi_set>>(jsonStr);
user_authority_rangeBLL rbll = new user_authority_rangeBLL();
bool result;
foreach (var model in jsonObj)
{
if (String.IsNullOrEmpty(model.GID))
{
model.GID = Guid.NewGuid().ToString();
model.CREATEUSER = Session["SHOWNAME"].ToString();
model.CREATETIME = DateTime.Now;
result = rbll.Add(model) > 0;
} //新增
else
{
//获取原数据
var oldModel = rbll.GetModel(model.GID);
////类反射
//Type type = typeof(Model.user_authority_range);
//PropertyInfo[] piArr = type.GetProperties();
//foreach (var pi in piArr)
//{
// if (Array.IndexOf(Request.Params.AllKeys, pi.Name) < 0)
// pi.SetValue(model, pi.GetValue(oldModel, null), null);
//}
model.CREATETIME = oldModel.CREATETIME;
model.CREATEUSER = oldModel.CREATEUSER;
model.MODIFIEDUSER = Session["SHOWNAME"].ToString();
model.MODIFIEDTIME = DateTime.Now;
result = rbll.Update(model) > 0;
} //修改
//设置角色对应的权限范围
var data_view = model.VISIBLERELATION;
var data_opera = model.OPERATERELATION;
SetCompUser(model.VISIBLERANGE, model.OPERATERANGE, model.AUTHORITYID, model.USERID, data_view, data_opera);
//获取该角色下的人员并修改权限范围
user_roleBLL bll = new user_roleBLL();
var list = bll.GetModelList("ROLEID='" + model.USERID + "'");
foreach (var item in list)
SetAuthRange(item.USERID, model.AUTHORITYID, model.VISIBLERANGE, model.OPERATERANGE, model.USERID);
}
return Json(new { success = true, message = "操作成功" });
}
#endregion
public bool SetRoleAuthRange()
{
var result = true;
return result;
}
public ContentResult CopyAuth(string FromUSERID, string ToUSERIDLIST)
{
DBResult result = new DBResult();
if (string.IsNullOrWhiteSpace(FromUSERID) || string.IsNullOrWhiteSpace(ToUSERIDLIST))
{
var jsonRespose1 = new MvcShipping.Helper.JsonResponse
{
Success = false,
Message = "请正确选择权限来源用户和目标用户",
Data = ""
};
return new ContentResult() { Content = MvcShipping.Helper.JsonConvert.Serialize(jsonRespose1) };
}
var useridlist = ToUSERIDLIST.Split(',');
//20200221 首先获取来源用户的所有模块ID列表
var useractionbll = new user_actionBLL();
var useractionlist = useractionbll.GetModelList(" userid='"+ FromUSERID + "' and exists(select 1 from [action] where gid=ACTIONID)");
var checkcando = new DBResult(true, "", null);
//逐个权限进行判断 看这次能否添加得上
foreach (var module in useractionlist) {
checkcando = SysUserDAL.CheckOPRangeByActionID(module.ACTIONID, ToUSERIDLIST);
if (!checkcando.Success) {
result.SetErrorInfo(checkcando.Message);
}
}
//如不能 则返回所有引起错误的信息
if (!string.IsNullOrWhiteSpace(result.Message) && !result.Success) {
var jsonRespose1 = new MvcShipping.Helper.JsonResponse
{
Success = false,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = MvcShipping.Helper.JsonConvert.Serialize(jsonRespose1) };
}
//对权限进行设置
StringBuilder sqlstrbase = new StringBuilder();
sqlstrbase.Append("declare @USERID varchar(50) ");
sqlstrbase.Append("declare @CREATEUSER varchar(50) ");
sqlstrbase.Append("declare @FROMUSER varchar(50) ");
sqlstrbase.Append("set @USERID='{0}' ");
sqlstrbase.Append("set @CREATEUSER='{1}' ");
sqlstrbase.Append("set @FROMUSER = '{2}' ");
sqlstrbase.Append("delete from user_action where USERID=@USERID ");
sqlstrbase.Append("insert into user_action (GID,ACTIONID,USERID,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) ");
sqlstrbase.Append("select newid(),actionid,@USERID,@CREATEUSER,getdate(),@CREATEUSER,getdate() from user_action where userid = @FROMUSER ");
sqlstrbase.Append("delete from user_authority_range where USERID=@USERID ");
sqlstrbase.Append("insert into user_authority_range (GID,USERID,AUTHORITYID,VISIBLERANGE,OPERATERANGE,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) ");
sqlstrbase.Append("select newid(),@USERID,AUTHORITYID,VISIBLERANGE,OPERATERANGE,@CREATEUSER,getdate(),@CREATEUSER,getdate() from user_authority_range where userid = @FROMUSER ");
sqlstrbase.Append("delete from user_authority_range_op where USERID=@USERID ");
sqlstrbase.Append("insert into user_authority_range_op (GID,USERID,AUTHORITYID,OPID,OPNAME,VISIBLERANGE,OPERATERANGE,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) ");
sqlstrbase.Append("select newid(),@USERID,AUTHORITYID,OPID,OPNAME,VISIBLERANGE,OPERATERANGE,@CREATEUSER,getdate(),@CREATEUSER,getdate() from user_authority_range_op where userid = @FROMUSER ");
sqlstrbase.Append("delete from user_authority_range_company where USERID=@USERID ");
sqlstrbase.Append("insert into user_authority_range_company (GID,USERID,AUTHORITYID,COMPANYID,VISIBLERANGE,OPERATERANGE,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) ");
sqlstrbase.Append("select newid(),@USERID,AUTHORITYID,COMPANYID,VISIBLERANGE,OPERATERANGE,@CREATEUSER,getdate(),@CREATEUSER,getdate() from user_authority_range_company where userid = @FROMUSER ");
foreach (var userid in useridlist) {
string sqlstr = string.Format(sqlstrbase.ToString(), userid,Session["USERID"].ToString(), FromUSERID);
var _r = BasicDataRefDAL.ExecSql(sqlstr);
if (_r == -1) {
var jsonRespose2 = new MvcShipping.Helper.JsonResponse
{
Success = true,
Message = "设置错误,请联系管理员!",
Data = ""
};
return new ContentResult() { Content = MvcShipping.Helper.JsonConvert.Serialize(jsonRespose2) };
}
}
var jsonRespose = new MvcShipping.Helper.JsonResponse
{
Success = true,
Message = "设置完成",
Data = ""
};
return new ContentResult() { Content = MvcShipping.Helper.JsonConvert.Serialize(jsonRespose) };
}
}
public class modeuleClass
{
public string id { get; set; }
public string name { get; set; }
}
}