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;
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();
#region 视图功能
///
/// 主页面
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
/////
///// 表单页
/////
/////
//[HttpGet]
//public ActionResult Form()
//{
// return View();
//}
///
/// 带参数的表单页
///
///
[HttpGet]
public ActionResult Form(string ParentID = null, string ParentName = null)
{
ViewBag.ParentID = ParentID;
ViewBag.ParentName = ParentName;
ViewBag.BuildType = accommodationIBLL.GetBuildType(ParentID);
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();
}
#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 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);
}
#endregion
#region 提交数据
///
/// 删除实体数据
/// 主键
///
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
accommodationIBLL.DeleteEntity(keyValue);
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 DormitoryAdd(string keyValue, string strEntity)
{
//dynamic entity = JsonConvert.DeserializeObject(strEntity);
//var ElementNum = entity.ElementNum;
//var FloorNum = entity.FloorNum;
//var RoomNum = entity.RoomNUm;
//var BedNum = entity.BedNum;
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 DormitoryAdd(string a,string )
#endregion
}
}