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