using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.LogisticsManagement; using System.Web.Mvc; using System.Collections.Generic; using System.Web.Helpers; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Linq; using System.IO; using Learun.Application.Base.SystemModule; namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-04-26 15:02 /// 描 述:学生宿舍管理 /// public class AccommodationController : MvcControllerBase { private AccommodationIBLL accommodationIBLL = new AccommodationBLL(); private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 分配宿舍 /// /// [HttpGet] public ActionResult IndexDistribution() { return View(); } /// /// 带参数的表单页 /// /// [HttpGet] public ActionResult Form(string ParentID = null, string ParentName = null, string keyValue = null) { ViewBag.ParentID = ParentID; ViewBag.ParentName = ParentName; ViewBag.BuildType = accommodationIBLL.GetBuildType(ParentID); if (!string.IsNullOrEmpty(keyValue)) { ViewBag.BuildType = accommodationIBLL.GetParentBuildType(keyValue); } return View(); } /// /// 宿舍楼 /// /// [HttpGet] public ActionResult Floor() { return View(); } /// /// 单元 /// /// [HttpGet] public ActionResult Unit(string ID) { ViewBag.ParentID = ID; return View(); } /// /// 楼层 /// /// [HttpGet] public ActionResult Corridor(string ID) { ViewBag.ParentID = ID; return View(); } /// /// 房间 /// /// [HttpGet] public ActionResult Dormitory(string ID) { ViewBag.ParentID = ID; return View(); } /// /// 床位 /// /// [HttpGet] public ActionResult Room(string ID) { ViewBag.ParentID = ID; return View(); } /// /// 批量添加单元、楼层、房间、床位 /// /// /// [HttpGet] public ActionResult DormitoryAdd(string ParentID) { return View(); } /// /// 自动分配宿舍 /// /// [HttpGet] public ActionResult Allocation() { return View(); } /// /// 分配系 /// /// [HttpGet] public ActionResult FormDept() { return View(); } /// /// 分配专业和班级 /// /// [HttpGet] public ActionResult FormClass() { return View(); } /// /// 分配宿舍 /// /// [HttpGet] public ActionResult FormRoom() { return View(); } /// /// 床位管理 /// /// [HttpGet] public ActionResult IndexBed() { return View(); } /// /// 床位管理 /// /// [HttpGet] public ActionResult FormBed() { return View(); } /// /// 分类管理 /// /// [HttpGet] public ActionResult FormClassify() { return View(); } /// /// 分类管理 /// /// [HttpGet] public ActionResult IndexClassify() { return View(); } /// /// 分类管理 /// /// [HttpGet] public ActionResult ClearForm() { return View(); } /// /// 导入宿舍 /// /// [HttpGet] public ActionResult IndexImport() { return View(); } #endregion #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = accommodationIBLL.GetPageList(paginationobj, queryJson); var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取床位数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetBedListByRoomId(string RoomId) { var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo); return Success(data); } /// /// 获取分类数据 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetClassifyList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = accommodationIBLL.GetClassifyList(paginationobj, queryJson).OrderBy(x => x.DNo); //var jsonData = new //{ // rows = data, // total = paginationobj.total, // page = paginationobj.page, // records = paginationobj.records //}; return Success(data); } /// /// 获取宿舍楼数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetDormitoryList() { var data = accommodationIBLL.GetDormitoryList(); return Success(data); } /// /// 获取单元数据 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetUnitList(string ParentID) { var data = accommodationIBLL.GetUnitList(ParentID); return Success(data); } /// /// 获取楼层数据 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetFloorList(string ParentID) { var data = accommodationIBLL.GetFloorList(ParentID); return Success(data); } /// /// 获取房间数据 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetRoomList(string ParentID) { var data = accommodationIBLL.GetRoomList(ParentID); return Success(data); } public ActionResult GetBedList(string ParentID) { var data = accommodationIBLL.GetBedList(ParentID); return Success(data); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var Acc_DormitoryBuildData = accommodationIBLL.GetAcc_DormitoryBuildEntity(keyValue); var jsonData = new { Acc_DormitoryBuild = Acc_DormitoryBuildData, }; return Success(jsonData); } /// /// 获取左侧树形数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetTree() { var data = accommodationIBLL.GetTree(); return Success(data); } /// /// 获取左侧树形数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetTreeNew() { var data = accommodationIBLL.GetTreeNew(); return Success(data); } /// /// 获取上级树形数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetClassifyTree() { var data = accommodationIBLL.GetClassifyTree(); return Success(data); } #endregion #region 提交数据 /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { accommodationIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 删除 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteBed(string keyValue, string ParentID) { accommodationIBLL.DeleteBed(keyValue, ParentID); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity) { Acc_DormitoryBuildEntity entity = strEntity.ToObject(); accommodationIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity) { Acc_DormitoryBuildEntity entity = strEntity.ToObject(); accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity); return Success("保存成功!"); } /// /// 寝室分配系 /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveDeptClass(string keyValue, string strEntity, int type) { Acc_DormitoryBuildEntity entity = strEntity.ToObject(); accommodationIBLL.SaveDeptClass(keyValue, entity, type); return Success("保存成功!"); } /// /// 寝室分配床位 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveRoom(string RoomId, List list) { //List list = strEntity.ToObject>(); string res = accommodationIBLL.SaveRoom(RoomId, list); if (!string.IsNullOrEmpty(res)) { return Fail(res); } return Success("保存成功!"); } /// /// 学生宿舍的单元、楼层、房间、床位添加 /// /// 主键 /// 参数 (单元、楼层、房间、床位)数量 /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult DormitoryAdd(string keyValue, string strEntity) { JObject jsonEntity = JObject.Parse(strEntity); var elementNum = int.Parse(jsonEntity["ElementNum"].ToString()); var floorNum = int.Parse(jsonEntity["FloorNum"].ToString()); var roomNum = int.Parse(jsonEntity["RoomNum"].ToString()); var bedNum = int.Parse(jsonEntity["BedNum"].ToString()); accommodationIBLL.DormitoryAdd(keyValue, elementNum, floorNum, roomNum, bedNum); return Success("添加成功"); } /// /// 自动分配学生宿舍 /// /// public ActionResult Automatic(string strEntity) { JObject jsonEntity = JObject.Parse(strEntity); bool noNation = jsonEntity["noNation"].ToString() == "1" ? true : false; bool noPlace = jsonEntity["noPlace"].ToString() == "1" ? true : false; accommodationIBLL.Automatic_allocation_accommodation(noNation, noPlace); return Success("分配成功"); } /// /// 同步宿舍信息数据 /// /// public ActionResult SyncData() { accommodationIBLL.SyncData(); return Success("同步成功"); } /// /// 按条件清空 /// /// public ActionResult StudentClear(string Grade) { accommodationIBLL.ClearEntity(Grade); return Success("清空成功"); } /// /// 宿舍信息导入模板 /// /// public ActionResult DownTemplate() { FileStreamResult result = null; try { var path = Server.MapPath("~/Content/excel/"); var pathoffull = path + "AccommodationImport.xls"; FileStream fsread = fsread = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.ReadWrite); result = File(fsread, "application/ms-excel", "宿舍信息导入.xls"); return result; } catch (Exception ex) { return null; } } /// /// 宿舍信息excel文件导入 /// /// /// /// [HttpPost] [ValidateAntiForgeryToken] public ActionResult ExecuteImportExcel(string fileGuid, int chunks) { string path = annexesFileIBLL.SaveAnnexes(fileGuid, fileGuid, chunks, LoginUserInfo.Get()); if (!string.IsNullOrEmpty(path)) { DataTable dt = ExcelHelper.ExcelImport(path); var res = accommodationIBLL.ExecuteImportExcel(dt, fileGuid); var data = new { Success = res.snum, Fail = res.failDt.Rows.Count }; return Success(data); } else { return Fail("导入数据失败!"); } } #endregion } }