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
}
}