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.

AccommodationController.cs 15 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  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. /// <summary>
  190. /// 分类管理
  191. /// </summary>
  192. /// <returns></returns>
  193. [HttpGet]
  194. public ActionResult ClearForm()
  195. {
  196. return View();
  197. }
  198. #endregion
  199. #region 获取数据
  200. /// <summary>
  201. /// 获取页面显示列表数据
  202. /// <summary>
  203. /// <param name="queryJson">查询参数</param>
  204. /// <returns></returns>
  205. [HttpGet]
  206. [AjaxOnly]
  207. public ActionResult GetPageList(string pagination, string queryJson)
  208. {
  209. Pagination paginationobj = pagination.ToObject<Pagination>();
  210. var data = accommodationIBLL.GetPageList(paginationobj, queryJson);
  211. var jsonData = new
  212. {
  213. rows = data,
  214. total = paginationobj.total,
  215. page = paginationobj.page,
  216. records = paginationobj.records
  217. };
  218. return Success(jsonData);
  219. }
  220. /// <summary>
  221. /// 获取床位数据
  222. /// <summary>
  223. /// <param name="RoomId">查询参数</param>
  224. /// <returns></returns>
  225. [HttpGet]
  226. [AjaxOnly]
  227. public ActionResult GetBedListByRoomId(string RoomId)
  228. {
  229. var data = accommodationIBLL.GetBedListByRoomId(RoomId).OrderBy(x => x.DNo);
  230. return Success(data);
  231. }
  232. /// <summary>
  233. /// 获取分类数据
  234. /// <summary>
  235. /// <param name="queryJson"></param>
  236. /// <returns></returns>
  237. [HttpGet]
  238. [AjaxOnly]
  239. public ActionResult GetClassifyList(string pagination, string queryJson)
  240. {
  241. Pagination paginationobj = pagination.ToObject<Pagination>();
  242. var data = accommodationIBLL.GetClassifyList(paginationobj, queryJson).OrderBy(x => x.DNo);
  243. //var jsonData = new
  244. //{
  245. // rows = data,
  246. // total = paginationobj.total,
  247. // page = paginationobj.page,
  248. // records = paginationobj.records
  249. //};
  250. return Success(data);
  251. }
  252. /// <summary>
  253. /// 获取宿舍楼数据
  254. /// </summary>
  255. /// <returns></returns>
  256. [HttpGet]
  257. [AjaxOnly]
  258. public ActionResult GetDormitoryList()
  259. {
  260. var data = accommodationIBLL.GetDormitoryList();
  261. return Success(data);
  262. }
  263. /// <summary>
  264. /// 获取单元数据
  265. /// </summary>
  266. /// <param name="ParentID"></param>
  267. /// <returns></returns>
  268. [HttpGet]
  269. [AjaxOnly]
  270. public ActionResult GetUnitList(string ParentID)
  271. {
  272. var data = accommodationIBLL.GetUnitList(ParentID);
  273. return Success(data);
  274. }
  275. /// <summary>
  276. /// 获取楼层数据
  277. /// </summary>
  278. /// <param name="ParentID"></param>
  279. /// <returns></returns>
  280. [HttpGet]
  281. [AjaxOnly]
  282. public ActionResult GetFloorList(string ParentID)
  283. {
  284. var data = accommodationIBLL.GetFloorList(ParentID);
  285. return Success(data);
  286. }
  287. /// <summary>
  288. /// 获取房间数据
  289. /// </summary>
  290. /// <param name="ParentID"></param>
  291. /// <returns></returns>
  292. [HttpGet]
  293. [AjaxOnly]
  294. public ActionResult GetRoomList(string ParentID)
  295. {
  296. var data = accommodationIBLL.GetRoomList(ParentID);
  297. return Success(data);
  298. }
  299. public ActionResult GetBedList(string ParentID)
  300. {
  301. var data = accommodationIBLL.GetBedList(ParentID);
  302. return Success(data);
  303. }
  304. /// <summary>
  305. /// 获取表单数据
  306. /// <summary>
  307. /// <returns></returns>
  308. [HttpGet]
  309. [AjaxOnly]
  310. public ActionResult GetFormData(string keyValue)
  311. {
  312. var Acc_DormitoryBuildData = accommodationIBLL.GetAcc_DormitoryBuildEntity(keyValue);
  313. var jsonData = new
  314. {
  315. Acc_DormitoryBuild = Acc_DormitoryBuildData,
  316. };
  317. return Success(jsonData);
  318. }
  319. /// <summary>
  320. /// 获取左侧树形数据
  321. /// <summary>
  322. /// <returns></returns>
  323. [HttpGet]
  324. [AjaxOnly]
  325. public ActionResult GetTree()
  326. {
  327. var data = accommodationIBLL.GetTree();
  328. return Success(data);
  329. }
  330. /// <summary>
  331. /// 获取左侧树形数据
  332. /// <summary>
  333. /// <returns></returns>
  334. [HttpGet]
  335. [AjaxOnly]
  336. public ActionResult GetTreeNew()
  337. {
  338. var data = accommodationIBLL.GetTreeNew();
  339. return Success(data);
  340. }
  341. /// <summary>
  342. /// 获取上级树形数据
  343. /// <summary>
  344. /// <returns></returns>
  345. [HttpGet]
  346. [AjaxOnly]
  347. public ActionResult GetClassifyTree()
  348. {
  349. var data = accommodationIBLL.GetClassifyTree();
  350. return Success(data);
  351. }
  352. #endregion
  353. #region 提交数据
  354. /// <summary>
  355. /// 删除实体数据
  356. /// <param name="keyValue">主键</param>
  357. /// <summary>
  358. /// <returns></returns>
  359. [HttpPost]
  360. [AjaxOnly]
  361. public ActionResult DeleteForm(string keyValue)
  362. {
  363. accommodationIBLL.DeleteEntity(keyValue);
  364. return Success("删除成功!");
  365. }
  366. /// <summary>
  367. /// 删除
  368. /// <param name="keyValue">主键</param>
  369. /// <summary>
  370. /// <returns></returns>
  371. [HttpPost]
  372. [AjaxOnly]
  373. public ActionResult DeleteBed(string keyValue, string ParentID)
  374. {
  375. accommodationIBLL.DeleteBed(keyValue, ParentID);
  376. return Success("删除成功!");
  377. }
  378. /// <summary>
  379. /// 保存实体数据(新增、修改)
  380. /// <param name="keyValue">主键</param>
  381. /// <summary>
  382. /// <returns></returns>
  383. [HttpPost]
  384. [ValidateAntiForgeryToken]
  385. [AjaxOnly]
  386. public ActionResult SaveForm(string keyValue, string strEntity)
  387. {
  388. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  389. accommodationIBLL.SaveEntity(keyValue, entity);
  390. return Success("保存成功!");
  391. }
  392. /// <summary>
  393. /// 保存实体数据(新增、修改)
  394. /// <param name="keyValue">主键</param>
  395. /// <summary>
  396. /// <returns></returns>
  397. [HttpPost]
  398. [ValidateAntiForgeryToken]
  399. [AjaxOnly]
  400. public ActionResult SaveBedForm(string keyValue, string ParentID, string strEntity)
  401. {
  402. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  403. accommodationIBLL.SaveBedEntity(keyValue, ParentID, entity);
  404. return Success("保存成功!");
  405. }
  406. /// <summary>
  407. /// 寝室分配系
  408. /// <param name="keyValue">主键</param>
  409. /// <summary>
  410. /// <returns></returns>
  411. [HttpPost]
  412. [ValidateAntiForgeryToken]
  413. [AjaxOnly]
  414. public ActionResult SaveDeptClass(string keyValue, string strEntity, int type)
  415. {
  416. Acc_DormitoryBuildEntity entity = strEntity.ToObject<Acc_DormitoryBuildEntity>();
  417. accommodationIBLL.SaveDeptClass(keyValue, entity, type);
  418. return Success("保存成功!");
  419. }
  420. /// <summary>
  421. /// 寝室分配床位
  422. /// <summary>
  423. /// <returns></returns>
  424. [HttpPost]
  425. [ValidateAntiForgeryToken]
  426. [AjaxOnly]
  427. public ActionResult SaveRoom(string RoomId, List<Acc_DormitoryBuildEntity> list)
  428. {
  429. //List<Acc_DormitoryBuildEntity> list = strEntity.ToObject<List<Acc_DormitoryBuildEntity>>();
  430. string res = accommodationIBLL.SaveRoom(RoomId, list);
  431. if (!string.IsNullOrEmpty(res))
  432. {
  433. return Fail(res);
  434. }
  435. return Success("保存成功!");
  436. }
  437. /// <summary>
  438. /// 学生宿舍的单元、楼层、房间、床位添加
  439. /// </summary>
  440. /// <param name="keyValue">主键</param>
  441. /// <param name="strEntity">参数 (单元、楼层、房间、床位)数量</param>
  442. /// <returns></returns>
  443. [HttpPost]
  444. [ValidateAntiForgeryToken]
  445. [AjaxOnly]
  446. public ActionResult DormitoryAdd(string keyValue, string strEntity)
  447. {
  448. JObject jsonEntity = JObject.Parse(strEntity);
  449. var elementNum = int.Parse(jsonEntity["ElementNum"].ToString());
  450. var floorNum = int.Parse(jsonEntity["FloorNum"].ToString());
  451. var roomNum = int.Parse(jsonEntity["RoomNum"].ToString());
  452. var bedNum = int.Parse(jsonEntity["BedNum"].ToString());
  453. accommodationIBLL.DormitoryAdd(keyValue, elementNum, floorNum, roomNum, bedNum);
  454. return Success("添加成功");
  455. }
  456. /// <summary>
  457. /// 自动分配学生宿舍
  458. /// </summary>
  459. /// <returns></returns>
  460. public ActionResult Automatic(string strEntity)
  461. {
  462. JObject jsonEntity = JObject.Parse(strEntity);
  463. bool noNation = jsonEntity["noNation"].ToString() == "1" ? true : false;
  464. bool noPlace = jsonEntity["noPlace"].ToString() == "1" ? true : false;
  465. accommodationIBLL.Automatic_allocation_accommodation(noNation, noPlace);
  466. return Success("分配成功");
  467. }
  468. /// <summary>
  469. /// 同步宿舍信息数据
  470. /// </summary>
  471. /// <returns></returns>
  472. public ActionResult SyncData()
  473. {
  474. accommodationIBLL.SyncData();
  475. return Success("同步成功");
  476. }
  477. /// <summary>
  478. /// 按条件清空
  479. /// </summary>
  480. /// <returns></returns>
  481. public ActionResult StudentClear(string Grade)
  482. {
  483. accommodationIBLL.ClearEntity(Grade);
  484. return Success("清空成功");
  485. }
  486. #endregion
  487. }
  488. }