using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.EducationalAdministration; using System.Web.Mvc; using System.Collections.Generic; using System.Linq; using Learun.Application.TwoDevelopment.LogisticsManagement; using Newtonsoft.Json; namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-01-28 17:30 /// 描 述:教室信息管理 /// public class ClassroomInfoController : MvcControllerBase { private ClassroomInfoIBLL classroomInfoIBLL = new ClassroomInfoBLL(); private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { return View(); } #endregion #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = classroomInfoIBLL.GetPageList(paginationobj, queryJson); var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } [HttpPost, ValidateInput(false)] public ActionResult ExportList(string queryJson) { var data = classroomInfoIBLL.GetList(queryJson).ToList(); var result = new List>(); if (data.Any()) { foreach (var item in data) { var aaa = new Dictionary(); aaa.Add("ClassroomName", item.ClassroomName); aaa.Add("ClassroomNo", item.ClassroomNo); aaa.Add("StrClassroomType", item.StrClassroomType); aaa.Add("StrCompany", item.StrCompany); aaa.Add("StrClassroomBuildingNo", item.StrClassroomBuildingNo); aaa.Add("ClassroomFloor", item.ClassroomFloor); aaa.Add("ContainStuNum", item.ContainStuNum.ToString()); aaa.Add("TestContainStuNum", item.TestContainStuNum.ToString()); aaa.Add("StrCheckMark", item.StrCheckMark); result.Add(aaa); } } var resultStr = JsonConvert.SerializeObject(result); //数据源 var exportTable = resultStr.ToTable(); //设置导出格式 ExcelConfig excelconfig = new ExcelConfig(); excelconfig.Title = "教室信息"; excelconfig.TitleFont = "微软雅黑"; excelconfig.TitlePoint = 20; excelconfig.FileName = "教室信息.xls"; excelconfig.IsAllSizeColumn = true; //每一列的设置,没有设置的列信息,系统将按datatable中的列名导出 excelconfig.ColumnEntity = new List(); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "ClassroomName", ExcelColumn = "教室名称" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "ClassroomNo", ExcelColumn = "教室编号" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "StrClassroomType", ExcelColumn = "教室类型" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "StrCompany", ExcelColumn = "校区" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "StrClassroomBuildingNo", ExcelColumn = "教学楼" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "ClassroomFloor", ExcelColumn = "所在楼层" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "ContainStuNum", ExcelColumn = "容纳人数" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "TestContainStuNum", ExcelColumn = "考试人数" }); excelconfig.ColumnEntity.Add(new ColumnModel() { Column = "StrCheckMark", ExcelColumn = "是否启用" }); //调用导出方法 ExcelHelper.ExcelDownload(exportTable, excelconfig); return Success("导出成功!"); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var ClassroomInfoData = classroomInfoIBLL.GetClassroomInfoEntity(keyValue); var jsonData = new { ClassroomInfo = ClassroomInfoData, }; return Success(jsonData); } #endregion #region 提交数据 [HttpPost] [AjaxOnly] public ActionResult Lock(string keyValue) { classroomInfoIBLL.Lock(keyValue); return Success("操作成功!"); } [HttpPost] [AjaxOnly] public ActionResult UnLock(string keyValue) { classroomInfoIBLL.UnLock(keyValue); return Success("操作成功!"); } /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { classroomInfoIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity) { ClassroomInfoEntity entity = strEntity.ToObject(); entity.SyncFlag = false; var model = classroomInfoIBLL.GetClassroomInfoEntityByNo(entity.ClassroomNo); if (string.IsNullOrEmpty(keyValue)) { if (model != null) { return Fail("教室编号已存在!"); } } else { if (model != null && model.ClassroomId != keyValue) { return Fail("教室编号已存在!"); } entity.SyncFlag = true; //判断排课同步数据是否存在:若存在,清除同步数据; var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue); if (arrangeLessonSyncList.Any()) { arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue); } else { entity.SyncFlag = false; } } classroomInfoIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } #endregion } }