using BLL; using Common; using Model; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web.Script.Serialization; using Json; using System.Web.Mvc; using Lib; namespace wms.Areas.SyetemSet.Controllers { public class RoleAjaxController : AjaxPage { // GET: RoleAjax public ActionResult GetRoleList() { var dd = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(dd); if (models != null) { PageInfo pageInfo = new PageInfo() { PageIndex = models.pageIndex, PageSize = models.pageSize }; DALRoles provider = new DALRoles(); List entity = provider.GetList(models, ref pageInfo).ToList(); string json = JsonHelper.IListToJson(entity, "List"); string pjson = ConvertJson.Serializer(pageInfo); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("PageInfo", new JsonObject(pjson)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult AddRole() { try { var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); if (models != null) { IDALRoles provider = new DALRoles(); if (models.Operation == "Add") { models.CreatUser = this.LoginUserCode; if (!provider.IsExist(nameof(models.RoleNum), models.RoleNum) && !provider.IsExist(nameof(models.RoleName), models.RoleName)) { bool value = provider.Add(models); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "添加角色成功"); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "添加角色失败"); } } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "该角色已存在!!!"); } } else if (models.Operation == "Edit") { if (provider.IsExist(models)) { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "该角色已存在!!!"); return Content(this.ReturnJson.ToString()); } models.UpdateUser = this.LoginUserCode; bool value = provider.Update(models); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "编辑角色信息成功"); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "编辑角色信息失败"); } } return Content(this.ReturnJson.ToString()); } return Content(null); } catch { return Content(null); } } public ActionResult DeleteRoles() { string dd = Request["list"]; ArrayList models = new JavaScriptSerializer().Deserialize(dd); string[] list = (string[])models.ToArray(typeof(string)); if (models != null) { DALRoles provider = new DALRoles(); string strAlert = provider.IsChecks(list); if (strAlert.Length <= 0) { bool value = provider.BatchDelete(list); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "删除角色成功"); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "删除角色失败"); } } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "删除失败"+ strAlert); } return Content(this.ReturnJson.ToString()); } return Content(null); } public ActionResult ToExcel() { string dd = Request["list"]; if (dd != null) { ArrayList models = new JavaScriptSerializer().Deserialize(dd); string[] list = (string[])models.ToArray(typeof(string)); IDALRoles provider = new DALRoles(); DataTable dt = provider.GetDataTable(list); string filePath = Server.MapPath("~/UploadFiles/"); if (!System.IO.Directory.Exists(filePath)) { System.IO.Directory.CreateDirectory(filePath); } string filename = string.Format("角色管理{0}.xls", DateTime.Now.ToString("YYYYMMddHHmmss")); NPOIExcel excel = new NPOIExcel("角色管理", "角色", System.IO.Path.Combine(filePath, filename)); excel.ToExcel(dt); ReturnJson.AddProperty("Code", 1000); ReturnJson.AddProperty("Message", Microsoft.JScript.GlobalObject.escape((object)("/UploadFiles/" + filename))); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "没有选择要导出的数据!!"); } return Content(this.ReturnJson.ToString()); } public ActionResult GetPermissionTree(string RoleNum) { IDALResMenu dALRes = new DALResMenu(); List resMenus = dALRes.GetList().ToList(); IDALRelation dALRelation = new DALRelation(); List relations = dALRelation.GetList(RoleNum).ToList(); var treeList = new List(); foreach (AjaxResMenuInfo item in resMenus) { TreeViewModel tree = new TreeViewModel(); bool hasChildren = resMenus.Count(t => t.ParentNum == item.ResNum) == 0 ? false : true; tree.id = DESEncrypt.Encrypt(item.ResNum); tree.text = item.ResName; tree.value = DESEncrypt.Encrypt(item.ResNum); tree.parentId = string.IsNullOrEmpty(item.ParentNum) ? "0" : DESEncrypt.Encrypt(item.ParentNum); tree.isexpand = true; tree.complete = true; tree.showcheck = true; tree.checkstate = relations.Count(t => t.ReNum == item.ResNum); tree.hasChildren = hasChildren; tree.img = item.CssName == "" ? "" : item.CssName; treeList.Add(tree); } return Content(TreeView.TreeViewJson(treeList)); } public ActionResult AddPermisson() { var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); if (models != null) { IDALRelation provider = new DALRelation(); models.CreateUser = this.LoginUserCode; bool value = provider.SetPermission(models); if (value) { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "授权成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } else { ReturnJson.AddProperty("Code", -1); ReturnJson.AddProperty("Message", "授权失败"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); } } return Content(this.ReturnJson.ToString()); } /// /// 获取菜单页 /// /// public ActionResult GetResNumMenu() { var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); DALRoles dALRes = new DALRoles(); string RoleNum = dALRes.GetResCode(this.LoginUserCode); // 操作员角色 string Role = models.RoleNum; // 选中角色 string ParentNum = models.RoleName; List entity = dALRes.GetResMenus(RoleNum, Role, ParentNum).ToList(); string json = JsonHelper.IListToJson(entity, "List"); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } /// /// 获取视图页按钮权限 /// /// public ActionResult GetResBtnitems() { var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); DALRoles dALRes = new DALRoles(); //string RoleNums = dALRes.GetResCode(this.LoginUserCode); string RoleNum = models.RoleNum; string ParentNum = models.RoleName; List entity = dALRes.GetResBtnItems(RoleNum, models.guid, ParentNum).ToList(); string json = JsonHelper.IListToJson(entity, "List"); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); ReturnJson.AddProperty("SubCode", 0); ReturnJson.AddProperty("SubMessage", ""); return Content(this.ReturnJson.ToString()); } /// /// 实时存储权限 /// /// public ActionResult SetRoleRelation() { string aa = this.LoginDepartNum; bool bl = false; var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); // 保存权限 if (models != null) { DALRoles dALArea = new DALRoles(); bl = dALArea.SetRelationData(models,this.LoginUserCode); } if (bl) { // 获取新权限 DALRoles dALRes = new DALRoles(); string RoleNums = dALRes.GetResCode(this.LoginUserCode); string RoleNum = models.RoleNum; string ParentNum = models.ParentNum; List entity = dALRes.GetResBtnItems(RoleNum, RoleNums, ParentNum).ToList(); string json = JsonHelper.IListToJson(entity, "List"); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "查询失败!"); } return Content(this.ReturnJson.ToString()); } /// /// 设置菜单页权限 /// /// public ActionResult SetResMenus() { bool bl = false; var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); if (models != null) { DALRoles dALArea = new DALRoles(); bl = dALArea.SetResMenus(models, this.LoginUserCode); } if (bl) { // 获取新权限 DALRoles dALRes = new DALRoles(); string RoleNums = dALRes.GetResCode(this.LoginUserCode); string RoleNum = models.RoleNum; string ParentNum = models.ResNum; //List entity = dALRes.GetResMenus(RoleNum, RoleNums, ParentNum).ToList(); List entity = dALRes.GetResBtnItems(RoleNum, RoleNums, ParentNum).ToList(); string json = JsonHelper.IListToJson(entity, "List"); ReturnJson.AddProperty("Result", new JsonObject(json)); ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); } else { ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "查询失败!"); } return Content(this.ReturnJson.ToString()); } public ActionResult SetRelation() { var list = Request["ajaxdata"]; var models = new JavaScriptSerializer().Deserialize(list); if (models != null) { DALRoles dALRes = new DALRoles(); string RoleNum = dALRes.GetResCode(this.LoginUserCode); // 操作员角色 string Role = models.RoleNum; // 选中角色 string ParentNum = models.ParentNum; // 根菜单编号 List entity = dALRes.GetResMenus(RoleNum, Role, ParentNum).ToList(); foreach (ResMenu rm in entity) { ResBtnItem rbi = new ResBtnItem(); rbi.Sel = models.Sel; rbi.ResNum = rm.ResNum; rbi.RoleNum = models.RoleNum; rbi.Guid = models.Guid; rbi.ParentNum = models.ParentNum; dALRes.SetResMenus(rbi, this.LoginUserCode); } ReturnJson.AddProperty("Code", 1); ReturnJson.AddProperty("Message", "响应成功"); } return Content(this.ReturnJson.ToString()); } } }