/// <summary> /// 根据 ID获取单个菜单配置 /// </summary> /// <param name="keyValue"></param> /// <returns></returns> public ActionResult GetMenuSettingFormJson(string keyValue) { AppMenuSettingBLL settingBLL = new AppMenuSettingBLL(); AppMenuSettingEntity entity = settingBLL.GetEntity(keyValue); return(Json(entity, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 保存菜单设置 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <returns></returns> public ActionResult SaveMenuSetting(string keyValue, AppMenuSettingEntity entity) { AppMenuSettingBLL settingBLL = new AppMenuSettingBLL(); settingBLL.SaveForm(keyValue, entity); //判断该菜单是不是安卓终端的,是的话就更新版本 MenuAuthorizeEntity menuAuthorize = authorizeBLL.GetEntityByDeptId(entity.DeptId); if (menuAuthorize != null) { authorizeBLL.SaveForm(menuAuthorize.Id, menuAuthorize); //此处单纯的改变一下版本号 } return(Success("操作成功。")); }
/// <summary> /// 删除栏目(因为栏目Id是唯一的,所以不用根据platform平台类型去区分删除) /// </summary> /// <param name="keyValue">栏目ID</param> /// <returns></returns> public ActionResult RemoveMenuSetting(string keyValue) { AppMenuSettingBLL settingBLL = new AppMenuSettingBLL(); AppMenuSettingEntity appMenu = settingBLL.GetEntity(keyValue); settingBLL.Remove(keyValue); AppSettingAssociationBLL associationBLL = new AppSettingAssociationBLL(); associationBLL.RemoveByColumnId(keyValue);//删除栏目与菜单的关联关系 //判断该菜单是不是安卓终端的,是的话就更新版本 if (appMenu.PlatformType == 1) { MenuAuthorizeEntity menuAuthorize = authorizeBLL.GetEntityByDeptId(appMenu.DeptId); if (menuAuthorize != null) { authorizeBLL.SaveForm(menuAuthorize.Id, menuAuthorize);//此处单纯的改变一下版本号 } } return(Success("操作成功。")); }
public ActionResult CopyInfo(CopyRequestModel model) { if (!string.IsNullOrWhiteSpace(model.DeptId) && !string.IsNullOrWhiteSpace(model.Id)) { //先查询出授权信息 MenuAuthorizeEntity entity = authorizeBLL.GetEntity(model.Id); if (entity != null) { DepartmentBLL departmentBll = new DepartmentBLL(); var deptIdArry = model.DeptId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var deptCodeArry = model.DeptCode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var deptNameArry = model.DeptName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //菜单授权信息 DeptMenuAuthBLL deptMenuAuthBll = new DeptMenuAuthBLL(); List <DeptMenuAuthEntity> deptMenuAuthList = deptMenuAuthBll.GetList(entity.DepartId); //界面设置 List <AppMenuSettingEntity> appMenuSettingEntities = new AppMenuSettingBLL().GetListByDeptId(entity.DepartId); //栏目与菜单的关联关系 List <AppSettingAssociationEntity> appSettingAssociationList = new AppSettingAssociationBLL().GetList(entity.DepartId); List <DeptMenuAuthEntity> insetDeptMenuAuthList = new List <DeptMenuAuthEntity>(); List <MenuAuthorizeEntity> authorizeEntities = new List <MenuAuthorizeEntity>(); //复制之后要保存到数据库中的单位授权数据 List <AppMenuSettingEntity> insertMenuSettingEntities = new List <AppMenuSettingEntity>(); //界面设置 List <AppSettingAssociationEntity> insertAssociationEntities = new List <AppSettingAssociationEntity>(); //关联关系 for (int i = 0; i < deptIdArry.Length; i++) { //1、先复制单位的授权信息 DepartmentEntity deptEntity = departmentBll.GetEntity(deptIdArry[i]); MenuAuthorizeEntity insertEntity = new MenuAuthorizeEntity() { Id = Guid.NewGuid().ToString(), DepartId = deptIdArry[i], DepartCode = deptCodeArry[i], DepartName = deptNameArry[i], DisplayName = deptNameArry[i], BZApiUrl = entity.BZApiUrl, CreateDate = entity.CreateDate, CreateUserId = entity.CreateUserId, CreateUserName = entity.CreateUserName, CulturalUrl = entity.CulturalUrl, ModifyDate = entity.ModifyDate, ModifyUserId = entity.ModifyUserId, ModifyUserName = entity.ModifyUserName, PXApiUrl = entity.PXApiUrl, RegistCode = entity.RegistCode, SKApiUrl = entity.SKApiUrl, TerminalCode = entity.TerminalCode, ThemeType = entity.ThemeType, VersionCode = entity.VersionCode, ParentId = deptEntity != null? deptEntity.ParentId : "", ParentName = deptEntity != null && deptEntity.ParentId == "0" ? "" : departmentBll.GetEntity(deptEntity.ParentId).FullName }; authorizeEntities.Add(insertEntity); //2、复制界面设置 appMenuSettingEntities.ForEach(setting => { AppMenuSettingEntity appMenu = setting.Clone(deptIdArry[i], deptNameArry[i], deptCodeArry[i], appSettingAssociationList, insertAssociationEntities); insertMenuSettingEntities.Add(appMenu); }); //3、 复制关联关系 //appSettingAssociationList.ForEach(e => //{ // AppSettingAssociationEntity association = e.Clone(deptIdArry[i], ,insetDeptMenuAuthList); // insertAssociationEntities.Add(association); //}); //4、复制菜单授权信息 deptMenuAuthList.ForEach(p => { DeptMenuAuthEntity deptMenu = p.Clone(deptIdArry[i], deptCodeArry[i], deptNameArry[i]); insetDeptMenuAuthList.Add(deptMenu); }); } authorizeBLL.InsertEntity(authorizeEntities.ToArray()); new AppMenuSettingBLL().InsertList(insertMenuSettingEntities); new AppSettingAssociationBLL().InsertList(insertAssociationEntities); new DeptMenuAuthBLL().InsertList(insetDeptMenuAuthList); } } return(Success("操作成功")); }
public ActionResult SaveMenuAuth(MenuAuthRquestModel param) { try { //先从数据库提取出所有的该单位下的菜单。已经有的就不管,没有的就添加,多的就删除 var oldData = deptMenuAuthBLL.GetList(param.departId); //旧的数据 var delData = oldData.Where(x => !param.ModuleIds.Contains(x.ModuleId)).ToList(); //要删除逇数据; var oldmoduleIdsList = oldData.Select(x => x.ModuleId).ToList(); var newdataIds = param.ModuleIds.Where(x => !oldmoduleIdsList.Contains(x)).ToList();//要新增进去的数据Id的集合 var newData = new List <DeptMenuAuthEntity>(); newdataIds.ForEach(p => { newData.Add(new DeptMenuAuthEntity() { Id = Guid.NewGuid().ToString(), DeptCode = param.departCode, DeptId = param.departId, DeptName = param.departName, ModuleId = p }); }); //执行删除操作之前,判断是否有菜单已经被使用了,被适用的菜单,不允许取消授权。防止误操作 bool validData = new AppSettingAssociationBLL().CheckData(delData); if (!validData) { return(Error("操作失败:" + "存在正在被使用的菜单模块,请先删除“APP(安卓终端)界面设置”中工作栏里的菜单后再操作")); } deptMenuAuthBLL.Remove(delData); deptMenuAuthBLL.Add(newData); //取消了菜单授权之后 ,要删除对应的单位的栏目菜单关联关系 new AppSettingAssociationBLL().Remove(param.departId, delData.Select(p => p.ModuleId).ToList()); // 如果新增的数据里面有安卓终端的数据 ,则把这些菜单添加到默认栏目里面, 没有栏目的则默认新建一个栏目 //1、找出新增的菜单里面是安卓菜单的数据 List <MenuConfigEntity> newMenuEntityList = MenuConfigBLL.GetListByModuleIds(newdataIds, 1); if (newMenuEntityList != null && newMenuEntityList.Count > 0) { //2、先找栏目,栏目没有就新建一个 AppMenuSettingBLL settingBLL = new AppMenuSettingBLL(); AppMenuSettingEntity menusetting = settingBLL.GetList(param.departId, 0, 1).FirstOrDefault(); string menusettingId = Guid.NewGuid().ToString(); string menusettingName = string.Empty; if (menusetting == null) { menusetting = new AppMenuSettingEntity(); menusetting.DeptCode = param.departCode; menusetting.DeptId = param.departId; menusetting.DeptName = param.departName; menusetting.PlatformType = 1; menusetting.Name = "总栏目"; menusetting.Sort = 1; menusetting.ThemeCode = 0; menusetting.Id = menusettingId; menusettingName = menusetting.Name; settingBLL.SaveForm(null, menusetting); } else { menusettingId = menusetting.Id; menusettingName = menusetting.Name; } //建立栏目与菜单的关联关系 List <AppSettingAssociationEntity> associationEntities = new List <AppSettingAssociationEntity>(); newMenuEntityList.ForEach(x => { associationEntities.Add(new AppSettingAssociationEntity() { ColumnId = menusettingId, ColumnName = menusettingName, DeptId = param.departId, Id = Guid.NewGuid().ToString(), ModuleId = x.ModuleId, Sort = x.Sort, }); }); new AppSettingAssociationBLL().SaveList(associationEntities); } MenuAuthorizeEntity menuAuthorize = authorizeBLL.GetEntityByDeptId(param.departId); if (menuAuthorize != null) { authorizeBLL.SaveForm(menuAuthorize.Id, menuAuthorize);//此处单纯的改变一下版本号 } return(Success("操作成功。")); } catch (Exception ex) { return(Error("操作失败:" + ex.Message)); } }
public void SaveForm(string keyValue, AppMenuSettingEntity entity) { service.SaveForm(keyValue, entity); }