public ActionResult List(Models.QualitySelf.List vm) { return(Code.MvcHelper.Post(null, Url.Action("List", new { yearId = vm.YearId, classId = vm.ClassId, }))); }
public ActionResult List() { if (Code.Common.UserType != Code.EnumHelper.SysUserType.Administrator && Code.Common.UserType != Code.EnumHelper.SysUserType.Teacher) { return(Content(Code.Common.Redirect(Url.Action("Index", "SysIndex", new { area = "Sys" }), "当前身份类别无法访问该功能!"))); } using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.QualitySelf.List(); //获取学期信息 vm.YearList = Basis.Controllers.YearController.SelectList(Code.EnumHelper.YearType.Term); //获取当前激活学段 var section = (from p in db.Table <Basis.Entity.tbYear>() .Include(d => d.tbYearParent) where p.IsDeleted == false && p.IsDefault == true && (vm.YearId == 0 ? true : p.tbYearParent.Id == vm.YearId) select p).FirstOrDefault(); if (vm.YearList.Count > 0 && vm.YearId == 0) { vm.YearId = vm.YearList.Where(d => (section != null ? d.Value == section.tbYearParent.Id.ToString() : true)).FirstOrDefault().Value.ConvertToInt(); } //获取学年信息 var yearId = (from p in db.Table <Basis.Entity.tbYear>() where p.Id == vm.YearId select p.tbYearParent.Id).FirstOrDefault(); //获取教师所在行政班信息 vm.ClassList = (from p in db.Table <Basis.Entity.tbClassTeacher>() where p.IsDeleted == false && p.tbClass.IsDeleted == false && p.tbTeacher.IsDeleted == false && p.tbTeacher.tbSysUser.IsDeleted == false && p.tbClass.tbGrade.IsDeleted == false && p.tbClass.tbYear.IsDeleted == false && p.tbClass.tbYear.Id == yearId && p.tbTeacher.tbSysUser.Id == Code.Common.UserId select new System.Web.Mvc.SelectListItem() { Text = p.tbClass.ClassName, Value = p.tbClass.Id.ToString(), }).Distinct().ToList(); //默认取第一个行政班Id去查询后面数据 if (vm.ClassId == 0 && vm.ClassList.Count > 0) { vm.ClassId = vm.ClassList.FirstOrDefault().Value.ConvertToInt(); } //获取学生所在行政班信息 var studentList = (from p in db.Table <Basis.Entity.tbClassStudent>() .Include(d => d.tbStudent) where p.IsDeleted == false && p.tbClass.IsDeleted == false && p.tbStudent.IsDeleted == false && p.tbStudent.tbSysUser.IsDeleted == false && p.tbClass.Id == vm.ClassId select p).ToList(); var studentIdList = studentList.Select(d => d.tbStudent.Id).ToList(); //自评 var selfList = (from p in db.Table <Quality.Entity.tbQualitySelf>() .Include(d => d.tbStudent) where p.IsDeleted == false && p.tbYear.IsDeleted == false && studentIdList.Contains(p.tbStudent.Id) && p.tbYear.Id == vm.YearId select new Dto.QualitySelf.Input { Id = p.tbStudent.Id, }).ToList(); //学期期待 var planList = (from p in db.Table <Quality.Entity.tbQualityPlan>() .Include(d => d.tbStudent) where p.IsDeleted == false && p.tbYear.IsDeleted == false && studentIdList.Contains(p.tbStudent.Id) && p.tbYear.Id == vm.YearId select new Dto.QualitySelf.Input { Id = p.tbStudent.Id, }).ToList(); //学期总结 var summaryList = (from p in db.Table <Quality.Entity.tbQualitySummary>() .Include(d => d.tbStudent) where p.IsDeleted == false && p.tbYear.IsDeleted == false && studentIdList.Contains(p.tbStudent.Id) && p.tbYear.Id == vm.YearId select new Dto.QualitySelf.Input { Id = p.tbStudent.Id, }).ToList(); vm.QualitySelfList = (from p in studentList select new Dto.QualitySelf.List { Id = p.tbStudent.Id, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName, SelfName = selfList.Where(d => d.Id == p.tbStudent.Id).FirstOrDefault() != null ? "已评" : "未评", PlanName = planList.Where(d => d.Id == p.tbStudent.Id).FirstOrDefault() != null ? "已评" : "未评", SummaryName = summaryList.Where(d => d.Id == p.tbStudent.Id).FirstOrDefault() != null ? "已评" : "未评", }).ToList(); return(View(vm)); } }