/// <summary> /// 菜单主页显示 /// </summary> /// <returns></returns> public ActionResult MainPage() { int alarmCount = warnlogSer.QueryWhere(w => w.Status.Equals("0")).GroupBy(g => g.WarnType).Count(); ViewBag.count = alarmCount; // 通过Session获得登录后的用户的ID SB_User users = (SB_User)Session[Keys.userInfo]; ViewBag.userInfo = users.Account; ViewBag.userId = users.ID; // 通过用户的ID查询用户角色表 var userRolesDistinct = sysroleuserSer.QueryWhere(s => s.UserID == users.ID).Distinct(); //已获得角色集合,通过角色id去获得角色权限表,多个角色的话,权限可能有重复 //获取系统校色页面表 var rolePages = sysrolepageSer.QueryWhere(x => true); //获取页面表 var pages = pageSer.QueryWhere(x => true).OrderBy(x => x.SortN).ToList(); //通过系统角色ID查询出该角色页面 var userPages = userRolesDistinct.Join(rolePages, x => x.SysRoleID, y => y.SysRoleID, (x, y) => new { x.UserID, x.SysRoleID, y.PageID }).Distinct(); //获取该角色所有页面 var query = pages.Join(userPages, x => x.ID, y => y.PageID, (x, y) => x).GroupBy(g => g.ID).Select(s => s.FirstOrDefault()).ToList(); return(View(query)); }
/// <summary> /// 报警提示 /// </summary> /// <returns></returns> public ActionResult WarnTip() { var time = DateTime.Now; var time1 = time.AddSeconds(-6); var res = warnlogSer.QueryWhere(w => w.WarnTime >= time1 && w.WarnTime <= time && w.Status.Equals("0")); List <Model.SB_WarnLog> warnlog = new List <Model.SB_WarnLog>(); foreach (var item in res) { var checkres = warnlogSer.QueryWhere(w => w.WarnType.Equals(item.WarnType) && w.Status.Equals("0") && w.WarnTime < time1).FirstOrDefault(); if (checkres == null) { warnlog.Add(checkres); } } if (warnlog.Count > 0) { return(Json(warnlog, JsonRequestBehavior.AllowGet)); } return(Json("0", JsonRequestBehavior.AllowGet)); }