You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

528 lines
14 KiB

  1. using Learun.Util;
  2. using System.Data;
  3. using Learun.Application.TwoDevelopment.LogisticsManagement;
  4. using System.Web.Mvc;
  5. using System.Collections.Generic;
  6. using System.Web.Helpers;
  7. using Newtonsoft.Json;
  8. using Newtonsoft.Json.Linq;
  9. using System;
  10. using System.Linq;
  11. namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
  12. {
  13. /// <summary>
  14. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  15. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  16. /// 创 建:超级管理员
  17. /// 日 期:2019-04-26 15:02
  18. /// 描 述:学生宿舍管理
  19. /// </summary>
  20. public class AccommodationController : MvcControllerBase
  21. {
  22. private AccommodationIBLL accommodationIBLL = new AccommodationBLL();
  23. #region 视图功能
  24. /// <summary>
  25. /// 主页面
  26. /// <summary>
  27. /// <returns></returns>
  28. [HttpGet]
  29. public ActionResult Index()
  30. {
  31. return View();
  32. }
  33. /// <summary>
  34. /// 分配宿舍
  35. /// <summary>
  36. /// <returns></returns>
  37. [HttpGet]
  38. public ActionResult IndexDistribution()
  39. {
  40. return View();
  41. }
  42. /// <summary>
  43. /// 带参数的表单页
  44. /// <summary>
  45. /// <returns></returns>
  46. [HttpGet]
  47. public ActionResult Form(string ParentID = null, string ParentName = null, string keyValue = null)
  48. {
  49. ViewBag.ParentID = ParentID;
  50. ViewBag.ParentName = ParentName;
  51. ViewBag.BuildType = accommodationIBLL.GetBuildType(ParentID);
  52. if (!string.IsNullOrEmpty(keyValue))
  53. {
  54. ViewBag.BuildType = accommodationIBLL.GetParentBuildType(keyValue);
  55. }
  56. return View();
  57. }
  58. /// <summary>
  59. /// 宿舍楼
  60. /// </summary>
  61. /// <returns></returns>
  62. [HttpGet]
  63. public ActionResult Floor()
  64. {
  65. return View();
  66. }
  67. /// <summary>
  68. /// 单元
  69. /// </summary>
  70. /// <returns></returns>
  71. [HttpGet]
  72. public ActionResult Unit(string ID)
  73. {
  74. ViewBag.ParentID = ID;
  75. return View();
  76. }
  77. /// <summary>
  78. /// 楼层
  79. /// </summary>
  80. /// <returns></returns>
  81. [HttpGet]
  82. public ActionResult Corridor(string ID)
  83. {
  84. ViewBag.ParentID = ID;
  85. return View();
  86. }
  87. /// <summary>
  88. /// 房间
  89. /// </summary>
  90. /// <returns></returns>
  91. [HttpGet]
  92. public ActionResult Dormitory(string ID)
  93. {
  94. ViewBag.ParentID = ID;
  95. return View();
  96. }
  97. /// <summary>
  98. /// 床位
  99. /// </summary>
  100. /// <returns></returns>
  101. [HttpGet]
  102. public ActionResult Room(string ID)
  103. {
  104. ViewBag.ParentID = ID;
  105. return View();
  106. }
  107. /// <summary>
  108. /// 批量添加单元、楼层、房间、床位
  109. /// </summary>
  110. /// <param name="ParentID"></param>
  111. /// <returns></returns>
  112. [HttpGet]
  113. public ActionResult DormitoryAdd(string ParentID)
  114. {
  115. return View();
  116. }
  117. /// <summary>
  118. /// 自动分配宿舍
  119. /// </summary>
  120. /// <returns></returns>
  121. [HttpGet]
  122. public ActionResult Allocation()
  123. {
  124. return View();
  125. }
  126. /// <summary>
  127. /// 分配系
  128. /// </summary>
  129. /// <returns></returns>
  130. [HttpGet]
  131. public ActionResult FormDept()
  132. {
  133. return View();
  134. }
  135. /// <summary>
  136. /// 分配专业和班级
  137. /// </summary>
  138. /// <returns></returns>
  139. [HttpGet]
  140. public ActionResult FormClass()
  141. {
  142. return View();
  143. }
  144. /// <summary>
  145. /// 分配宿舍
  146. /// </summary>
  147. /// <returns></returns>
  148. [HttpGet]
  149. public ActionResult FormRoom()
  150. {
  151. return View();
  152. }
  153. /// <summary>
  154. /// 床位管理
  155. /// </summary>
  156. /// <returns></returns>
  157. [HttpGet]
  158. public ActionResult IndexBed()
  159. {
  160. return View();
  161. }
  162. /// <summary>
  163. /// 床位管理
  164. /// </summary>
  165. /// <returns></returns>
  166. [HttpGet]
  167. public ActionResult FormBed()
  168. {
  169. return View();
  170. }
  171. /// <summary>
  172. /// 分类管理
  173. /// </summary>
  174. /// <returns></returns>
  175. [HttpGet]
  176. public ActionResult FormClassify()
  177. {
  178. return View();
  179. }
  180. /// <summary>
  181. /// 分类管理
  182. /// </summary>
  183. /// <returns></returns>
  184. [HttpGet]
  185. public ActionResult IndexClassify()
  186. {
  187. return View();
  188. }
  189. #endregion
  190. #region 获取数据
  191. /// <summary>
  192. /// 获取页面显示列表数据
  193. /// <summary>
  194. /// <param name="queryJson">查询参数</param>
  195. /// <returns></returns>
  196. [HttpGet]
  197. [AjaxOnly]
  198. public ActionResult GetPageList(string pagination, string queryJson)
  199. {
  200. Pagination paginationobj = pagination.ToObject<Pagination>();
  201. var data = accommodationIBLL.GetPageList(paginationobj, queryJson);
  202. var jsonData = new
  203. {
  204. rows = data,
  205. total = paginationobj.total,
  206. page = paginationobj.page,
  207. records = paginationobj.records
  208. };
  209. return Success(jsonData);
  210. }
  211. /// <summary>
  212. /// 获取床位数据
  213. /// <summary>
  214. /// <param name="RoomId">查询参数</param>
  215. /// <returns></returns>
  216. [HttpGet]
  217. [AjaxOnly]
  218. public ActionResult GetBedListByRoomId(string RoomId)
  219. {
  220. var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo);
  221. return Success(data);
  222. }
  223. /// <summary>
  224. /// 获取分类数据
  225. /// <summary>
  226. /// <param name="queryJson"></param>
  227. /// <returns></returns>
  228. [HttpGet]
  229. [AjaxOnly]
  230. public ActionResult GetClassifyList(string pagination, string queryJson)
  231. {
  232. Pagination paginationobj = pagination.ToObject<Pagination>();
  233. var data = accommodationIBLL.GetClassifyList(paginationobj, queryJson).OrderBy(x => x.DNo);
  234. //var jsonData = new
  235. //{
  236. // rows = data,
  237. // total = paginationobj.total,
  238. // page = paginationobj.page,
  239. // records = paginationobj.records
  240. //};
  241. return Success(data);
  242. }
  243. /// <summary>
  244. /// 获取宿舍楼数据
  245. /// </summary>
  246. /// <returns></returns>
  247. [HttpGet]
  248. [AjaxOnly]
  249. public ActionResult GetDormitoryList()
  250. {
  251. var data = accommodationIBLL.GetDormitoryList();
  252. return Success(data);
  253. }
  254. /// <summary>
  255. /// 获取单元数据
  256. /// </summary>
  257. /// <param name="ParentID"></param>
  258. /// <returns></returns>
  259. [HttpGet]
  260. [AjaxOnly]
  261. public ActionResult GetUnitList(string ParentID)
  262. {
  263. var data = accommodationIBLL.GetUnitList(ParentID);
  264. return Success(data);
  265. }
  266. /// <summary>
  267. /// 获取楼层数据
  268. /// </summary>
  269. /// <param name="ParentID"></param>
  270. /// <returns></returns>
  271. [HttpGet]
  272. [AjaxOnly]
  273. public ActionResult GetFloorList(string ParentID)
  274. {
  275. var data = accommodationIBLL.GetFloorList(ParentID);
  276. return Success(data);
  277. }
  278. /// <summary>
  279. /// 获取房间数据
  280. /// </summary>
  281. /// <param name="ParentID"></param>
  282. /// <returns></returns>
  283. [HttpGet]
  284. [AjaxOnly]
  285. public ActionResult GetRoomList(string ParentID)
  286. {
  287. var data = accommodationIBLL.GetRoomList(ParentID);
  288. return Success(data);
  289. }
  290. public ActionResult GetBedList(string ParentID)
  291. {
  292. var data = accommodationIBLL.GetBedList(ParentID);
  293. return Success(data);
  294. }
  295. /// <summary>
  296. /// 获取表单数据
  297. /// <summary>
  298. /// <returns></returns>
  299. [HttpGet]
  300. [AjaxOnly]
  301. public ActionResult GetFormData(string keyValue)
  302. {
  303. var Acc_DormitoryBuildData = accommodationIBLL.GetAcc_DormitoryBuildEntity(keyValue);
  304. var jsonData = new
  305. {
  306. Acc_DormitoryBuild = Acc_DormitoryBuildData,
  307. };
  308. return Success(jsonData);
  309. }
  310. /// <summary>
  311. /// 获取左侧树形数据
  312. /// <summary>
  313. /// <returns></returns>
  314. [HttpGet]
  315. [AjaxOnly]
  316. public ActionResult GetTree()
  317. {
  318. var data = accommodationIBLL.GetTree();
  319. return Success(data);
  320. }
  321. /// <summary>
  322. /// 获取左侧树形数据
  323. /// <summary>
  324. /// <returns></returns>
  325. [HttpGet]
  326. [AjaxOnly]
  327. public ActionResult GetTreeNew()
  328. {
  329. var data = accommodationIBLL.GetTreeNew();
  330. return Success(data);
  331. }
  332. /// <summary>
  333. /// 获取上级树形数据
  334. /// <summary>
  335. /// <returns></returns>
  336. [HttpGet]
  337. [AjaxOnly]
  338. public ActionResult GetClassifyTree()
  339. {
  340. var data = accommodationIBLL.GetClassifyTree();
  341. return Success(data);
  342. }
  343. #endregion
  344. #region 提交数据
  345. /// <summary>
  346. /// 删除实体数据
  347. /// <param name="keyValue">主键</param>
  348. /// <summary>
  349. /// <returns></returns>
  350. [HttpPost]
  351. [AjaxOnly]
  352. public ActionResult DeleteForm(string keyValue)
  353. {
  354. accommodationIBLL.DeleteEntity(keyValue);
  355. return Success("删除成功!");
  356. }
  357. /// <summary>
  358. /// 删除
  359. /// <param name="keyValue">主键</param>
  360. /// <summary>
  361. /// <returns></returns>
  362. [HttpPost]
  363. [AjaxOnly]
  364. public ActionResult DeleteBed(string keyValue, string ParentID)
  365. {
  366. accommodationIBLL.DeleteBed(keyValue, ParentID);
  367. return Success("删除成功!");
  368. }
  369. /// <summary>
  370. /// 保存实体数据(新增、修改)
  371. /// <param name="keyValue">主键</param>
  372. /// <summary>
  373. /// <returns></returns>
  374. [HttpPost]
  375. [ValidateAntiForgeryToken]
  376. [AjaxOnly]
  377. public ActionResult SaveForm(string keyValue, string strEntity)
  378. {
  379. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  380. accommodationIBLL.SaveEntity(keyValue, entity);
  381. return Success("保存成功!");
  382. }
  383. /// <summary>
  384. /// 保存实体数据(新增、修改)
  385. /// <param name="keyValue">主键</param>
  386. /// <summary>
  387. /// <returns></returns>
  388. [HttpPost]
  389. [ValidateAntiForgeryToken]
  390. [AjaxOnly]
  391. public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity)
  392. {
  393. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  394. accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity);
  395. return Success("保存成功!");
  396. }
  397. /// <summary>
  398. /// 寝室分配系
  399. /// <param name="keyValue">主键</param>
  400. /// <summary>
  401. /// <returns></returns>
  402. [HttpPost]
  403. [ValidateAntiForgeryToken]
  404. [AjaxOnly]
  405. public ActionResult SaveDeptClass(string keyValue, string strEntity, int type)
  406. {
  407. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  408. accommodationIBLL.SaveDeptClass(keyValue, entity, type);
  409. return Success("保存成功!");
  410. }
  411. /// <summary>
  412. /// 寝室分配床位
  413. /// <summary>
  414. /// <returns></returns>
  415. [HttpPost]
  416. [ValidateAntiForgeryToken]
  417. [AjaxOnly]
  418. public ActionResult SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
  419. {
  420. //List<Acc_DormitoryBuildEntity> list = strEntity.ToObject<List<Acc_DormitoryBuildEntity>>();
  421. string res = accommodationIBLL.SaveRoom(RoomId, list);
  422. if (!string.IsNullOrEmpty(res))
  423. {
  424. return Fail(res);
  425. }
  426. return Success("保存成功!");
  427. }
  428. /// <summary>
  429. /// 学生宿舍的单元、楼层、房间、床位添加
  430. /// </summary>
  431. /// <param name="keyValue">主键</param>
  432. /// <param name="strEntity">参数 (单元、楼层、房间、床位)数量</param>
  433. /// <returns></returns>
  434. [HttpPost]
  435. [ValidateAntiForgeryToken]
  436. [AjaxOnly]
  437. public ActionResult DormitoryAdd(string keyValue, string strEntity)
  438. {
  439. JObject jsonEntity = JObject.Parse(strEntity);
  440. var elementNum = int.Parse(jsonEntity["ElementNum"].ToString());
  441. var floorNum = int.Parse(jsonEntity["FloorNum"].ToString());
  442. var roomNum = int.Parse(jsonEntity["RoomNum"].ToString());
  443. var bedNum = int.Parse(jsonEntity["BedNum"].ToString());
  444. accommodationIBLL.DormitoryAdd(keyValue, elementNum, floorNum, roomNum, bedNum);
  445. return Success("添加成功");
  446. }
  447. /// <summary>
  448. /// 自动分配学生宿舍
  449. /// </summary>
  450. /// <returns></returns>
  451. public ActionResult Automatic(string strEntity)
  452. {
  453. JObject jsonEntity = JObject.Parse(strEntity);
  454. bool noNation = jsonEntity["noNation"].ToString() == "1" ? true : false;
  455. bool noPlace = jsonEntity["noPlace"].ToString() == "1" ? true : false;
  456. accommodationIBLL.Automatic_allocation_accommodation(noNation, noPlace);
  457. return Success("分配成功");
  458. }
  459. /// <summary>
  460. /// 同步宿舍信息数据
  461. /// </summary>
  462. /// <returns></returns>
  463. public ActionResult SyncData()
  464. {
  465. accommodationIBLL.SyncData();
  466. return Success("同步成功");
  467. }
  468. #endregion
  469. }
  470. }