using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.EducationalAdministration; using System.Web.Mvc; using System.Collections.Generic; using System.Linq; namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-01-29 11:08 /// 描 述:班级信息管理 /// public class ClassInfoController : MvcControllerBase { private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL(); private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL(); private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { return View(); } /// /// 班级状态 /// /// [HttpGet] public ActionResult FormType() { return View(); } /// /// 班主任/辅导员安排表单页 /// /// [HttpGet] public ActionResult FormArrange() { return View(); } #endregion #region 获取数据 [HttpGet] public ActionResult GenerateNearByYear() { return Success(Learun.Util.WebHelper.GenerateNearByYear2()); } /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = classInfoIBLL.GetPageList(paginationobj, queryJson); var studata = stuInfoBasicIBLL.GetAllList("1"); foreach (var item in data) { item.StuNum = studata.Where(o => o.DeptNo == item.DeptNo && o.MajorNo == item.MajorNo && o.ClassNo == item.ClassNo && o.Grade == item.Grade ).Count(); } var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var ClassInfoData = classInfoIBLL.GetClassInfoEntity(keyValue); var jsonData = new { ClassInfo = ClassInfoData, }; return Success(jsonData); } #endregion #region 提交数据 [HttpPost] [AjaxOnly] public ActionResult Lock(string keyValue) { classInfoIBLL.Lock(keyValue); return Success("审核成功!"); } [HttpPost] [AjaxOnly] public ActionResult UnLock(string keyValue) { classInfoIBLL.UnLock(keyValue); return Success("去审成功!"); } /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { classInfoIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 根据专业获得班级 /// 专业码 /// /// [HttpGet] [AjaxOnly] public ActionResult GetClassByMajorNo(string majorNo) { var data = classInfoIBLL.GetClassByMajorNo(majorNo); return Success(data); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity) { ClassInfoEntity entity = strEntity.ToObject(); entity.SyncFlag = false; var model = classInfoIBLL.GetClassInfoEntityByClassNo(entity.ClassNo); if (string.IsNullOrEmpty(keyValue)) { if (model != null) { return Fail("班级代码已存在!"); } } else { if (model != null && model.ClassId != keyValue) { return Fail("班级代码已存在!"); } entity.SyncFlag = true; //判断排课同步数据是否存在:若存在,清除同步数据; var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue); if (arrangeLessonSyncList.Any()) { arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue); } else { entity.SyncFlag = false; } } classInfoIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } #endregion } }