|
- 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
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-04-26 15:02
- /// 描 述:学生宿舍管理
- /// </summary>
- public class AccommodationController : MvcControllerBase
- {
- private AccommodationIBLL accommodationIBLL = new AccommodationBLL();
- private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
-
- #region 视图功能
-
- /// <summary>
- /// 主页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Index()
- {
- return View();
- }
- /// <summary>
- /// 分配宿舍
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexDistribution()
- {
- return View();
- }
-
- /// <summary>
- /// 带参数的表单页
- /// <summary>
- /// <returns></returns>
- [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();
- }
-
- /// <summary>
- /// 宿舍楼
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Floor()
- {
- return View();
- }
-
- /// <summary>
- /// 单元
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Unit(string ID)
- {
- ViewBag.ParentID = ID;
-
- return View();
- }
-
-
- /// <summary>
- /// 楼层
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Corridor(string ID)
- {
-
- ViewBag.ParentID = ID;
- return View();
- }
-
-
- /// <summary>
- /// 房间
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Dormitory(string ID)
- {
-
- ViewBag.ParentID = ID;
- return View();
- }
-
-
- /// <summary>
- /// 床位
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Room(string ID)
- {
- ViewBag.ParentID = ID;
- return View();
- }
-
- /// <summary>
- /// 批量添加单元、楼层、房间、床位
- /// </summary>
- /// <param name="ParentID"></param>
- /// <returns></returns>
- [HttpGet]
- public ActionResult DormitoryAdd(string ParentID)
- {
- return View();
- }
-
-
- /// <summary>
- /// 自动分配宿舍
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Allocation()
- {
- return View();
- }
-
- /// <summary>
- /// 分配系
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormDept()
- {
- return View();
- }
-
- /// <summary>
- /// 分配专业和班级
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormClass()
- {
- return View();
- }
- /// <summary>
- /// 分配宿舍
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormRoom()
- {
- return View();
- }
- /// <summary>
- /// 床位管理
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexBed()
- {
- return View();
- }
- /// <summary>
- /// 床位管理
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormBed()
- {
- return View();
- }
- /// <summary>
- /// 分类管理
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormClassify()
- {
- return View();
- }
- /// <summary>
- /// 分类管理
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexClassify()
- {
- return View();
- }
-
- /// <summary>
- /// 分类管理
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ClearForm()
- {
- return View();
- }
-
- /// <summary>
- /// 导入宿舍
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexImport()
- {
- return View();
- }
-
- #endregion
-
- #region 获取数据
-
- /// <summary>
- /// 获取页面显示列表数据
- /// <summary>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = accommodationIBLL.GetPageList(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
-
- /// <summary>
- /// 获取床位数据
- /// <summary>
- /// <param name="RoomId">查询参数</param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetBedListByRoomId(string RoomId)
- {
- var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo);
- return Success(data);
- }
- /// <summary>
- /// 获取分类数据
- /// <summary>
- /// <param name="queryJson"></param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetClassifyList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- 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);
- }
-
- /// <summary>
- /// 获取宿舍楼数据
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDormitoryList()
- {
-
- var data = accommodationIBLL.GetDormitoryList();
- return Success(data);
-
- }
-
-
- /// <summary>
- /// 获取单元数据
- /// </summary>
- /// <param name="ParentID"></param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetUnitList(string ParentID)
- {
- var data = accommodationIBLL.GetUnitList(ParentID);
- return Success(data);
- }
-
-
-
- /// <summary>
- /// 获取楼层数据
- /// </summary>
- /// <param name="ParentID"></param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetFloorList(string ParentID)
- {
- var data = accommodationIBLL.GetFloorList(ParentID);
- return Success(data);
- }
-
- /// <summary>
- /// 获取房间数据
- /// </summary>
- /// <param name="ParentID"></param>
- /// <returns></returns>
- [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);
- }
- /// <summary>
- /// 获取表单数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetFormData(string keyValue)
- {
- var Acc_DormitoryBuildData = accommodationIBLL.GetAcc_DormitoryBuildEntity(keyValue);
- var jsonData = new
- {
- Acc_DormitoryBuild = Acc_DormitoryBuildData,
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取左侧树形数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetTree()
- {
- var data = accommodationIBLL.GetTree();
- return Success(data);
- }
-
-
-
- /// <summary>
- /// 获取左侧树形数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetTreeNew()
- {
- var data = accommodationIBLL.GetTreeNew();
- return Success(data);
- }
- /// <summary>
- /// 获取上级树形数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetClassifyTree()
- {
- var data = accommodationIBLL.GetClassifyTree();
- return Success(data);
- }
-
-
- #endregion
-
- #region 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DeleteForm(string keyValue)
- {
- accommodationIBLL.DeleteEntity(keyValue);
- return Success("删除成功!");
- }
- /// <summary>
- /// 删除
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DeleteBed(string keyValue, string ParentID)
- {
- accommodationIBLL.DeleteBed(keyValue, ParentID);
- return Success("删除成功!");
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveForm(string keyValue, string strEntity)
- {
- Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
- accommodationIBLL.SaveEntity(keyValue, entity);
- return Success("保存成功!");
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity)
- {
- Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
- accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity);
- return Success("保存成功!");
- }
-
- /// <summary>
- /// 寝室分配系
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveDeptClass(string keyValue, string strEntity, int type)
- {
- Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
- accommodationIBLL.SaveDeptClass(keyValue, entity, type);
- return Success("保存成功!");
- }
-
- /// <summary>
- /// 寝室分配床位
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
- {
- //List<Acc_DormitoryBuildEntity> list = strEntity.ToObject<List<Acc_DormitoryBuildEntity>>();
- string res = accommodationIBLL.SaveRoom(RoomId, list);
- if (!string.IsNullOrEmpty(res))
- {
- return Fail(res);
- }
-
- return Success("保存成功!");
- }
-
- /// <summary>
- /// 学生宿舍的单元、楼层、房间、床位添加
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <param name="strEntity">参数 (单元、楼层、房间、床位)数量</param>
- /// <returns></returns>
- [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("添加成功");
- }
-
-
-
- /// <summary>
- /// 自动分配学生宿舍
- /// </summary>
- /// <returns></returns>
- 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("分配成功");
-
-
- }
-
- /// <summary>
- /// 同步宿舍信息数据
- /// </summary>
- /// <returns></returns>
- public ActionResult SyncData()
- {
- accommodationIBLL.SyncData();
- return Success("同步成功");
- }
-
- /// <summary>
- /// 按条件清空
- /// </summary>
- /// <returns></returns>
- public ActionResult StudentClear(string Grade)
- {
- accommodationIBLL.ClearEntity(Grade);
- return Success("清空成功");
- }
-
- /// <summary>
- /// 宿舍信息导入模板
- /// </summary>
- /// <returns></returns>
- 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;
- }
- }
-
-
- /// <summary>
- /// 宿舍信息excel文件导入
- /// </summary>
- /// <param name="templateId"></param>
- /// <param name="Filedata"></param>
- /// <returns></returns>
- [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
-
- }
- }
|