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.
 
 
 
 
 
 

269 lines
8.7 KiB

  1. using Learun.Util;
  2. using System.Data;
  3. using Learun.Application.TwoDevelopment.EducationalAdministration;
  4. using System.Web.Mvc;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System;
  8. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
  12. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2022-04-22 16:00
  15. /// 描 述:排考安排
  16. /// </summary>
  17. public class Exam_ArrangeExamTermNewController : MvcControllerBase
  18. {
  19. private Exam_ArrangeExamTermNewIBLL exam_ArrangeExamTermNewIBLL = new Exam_ArrangeExamTermNewBLL();
  20. private Exam_ExamRoomIBLL exam_ExamRoomIBLL = new Exam_ExamRoomBLL();
  21. #region 视图功能
  22. /// <summary>
  23. /// 主页面
  24. /// <summary>
  25. /// <returns></returns>
  26. [HttpGet]
  27. public ActionResult Index()
  28. {
  29. return View();
  30. }
  31. /// <summary>
  32. /// 表单页
  33. /// <summary>
  34. /// <returns></returns>
  35. [HttpGet]
  36. public ActionResult Form()
  37. {
  38. return View();
  39. }
  40. /// <summary>
  41. /// 表单页
  42. /// <summary>
  43. /// <returns></returns>
  44. [HttpGet]
  45. public ActionResult IndexForClass()
  46. {
  47. return View();
  48. }
  49. [HttpGet]
  50. public ActionResult IndexItem()
  51. {
  52. return View();
  53. }
  54. /// <summary>
  55. /// 表单页
  56. /// <summary>
  57. /// <returns></returns>
  58. [HttpGet]
  59. public ActionResult SeatForm()
  60. {
  61. return View();
  62. }
  63. /// <summary>
  64. /// 场次安排
  65. /// </summary>
  66. /// <returns></returns>
  67. [HttpGet]
  68. public ActionResult IndexClassRoom()
  69. {
  70. return View();
  71. }
  72. #endregion
  73. #region 获取数据
  74. [HttpGet]
  75. [AjaxOnly]
  76. public ActionResult GetPageListForClass(string pagination, string queryJson)
  77. {
  78. Pagination paginationobj = pagination.ToObject<Pagination>();
  79. var data = exam_ArrangeExamTermNewIBLL.GetPageListForClass(paginationobj, queryJson);
  80. var jsonData = new
  81. {
  82. rows = data,
  83. total = paginationobj.total,
  84. page = paginationobj.page,
  85. records = paginationobj.records
  86. };
  87. return Success(jsonData);
  88. }
  89. [HttpGet]
  90. public ActionResult GetClassTree()
  91. {
  92. return Success(exam_ArrangeExamTermNewIBLL.GetClassTree());
  93. }
  94. /// <summary>
  95. /// 考场数据
  96. /// </summary>
  97. /// <returns></returns>
  98. [HttpGet]
  99. [AjaxOnly]
  100. public ActionResult GetClassRoomTree(string AcademicYearNo, string Semester)
  101. {
  102. return Success(exam_ArrangeExamTermNewIBLL.GetClassRoomTree(AcademicYearNo, Semester));
  103. }
  104. [HttpGet]
  105. [AjaxOnly]
  106. public ActionResult GetItemPageList(string pagination, string queryJson)
  107. {
  108. Pagination paginationobj = pagination.ToObject<Pagination>();
  109. var data = exam_ArrangeExamTermNewIBLL.GetItemPageList(paginationobj, queryJson);
  110. var jsonData = new
  111. {
  112. rows = data,
  113. total = paginationobj.total,
  114. page = paginationobj.page,
  115. records = paginationobj.records
  116. };
  117. return Success(jsonData);
  118. }
  119. /// <summary>
  120. /// 获取页面显示列表数据
  121. /// </summary>
  122. /// <param name="pagination">分页参数</param>
  123. /// <param name="queryJson">查询参数</param>
  124. /// <returns></returns>
  125. [HttpGet]
  126. [AjaxOnly]
  127. public ActionResult GetPageList(string pagination, string queryJson)
  128. {
  129. Pagination paginationobj = pagination.ToObject<Pagination>();
  130. var data = exam_ArrangeExamTermNewIBLL.GetPageList(paginationobj, queryJson);
  131. var jsonData = new
  132. {
  133. rows = data,
  134. total = paginationobj.total,
  135. page = paginationobj.page,
  136. records = paginationobj.records
  137. };
  138. return Success(jsonData);
  139. }
  140. /// <summary>
  141. /// 获取表单数据
  142. /// </summary>
  143. /// <param name="keyValue">主键</param>
  144. /// <returns></returns>
  145. [HttpGet]
  146. [AjaxOnly]
  147. public ActionResult GetFormData(string keyValue)
  148. {
  149. var ArrangeExamTermNewData = exam_ArrangeExamTermNewIBLL.GetExam_ArrangeExamTermNewEntity(keyValue);
  150. var jsonData = new
  151. {
  152. ArrangeExamTermNew = ArrangeExamTermNewData,
  153. };
  154. return Success(jsonData);
  155. }
  156. /// <summary>
  157. ///
  158. /// </summary>
  159. /// <param name="ClassRoomNo"></param>
  160. /// <param name="AcademicYearNo"></param>
  161. /// <param name="Semester"></param>
  162. /// <returns></returns>
  163. public ActionResult GetSeatData(string ClassRoomNo, string AcademicYearNo, int? Semester, string LessonNo, string EmpNo, string ExamDate, string ExamTime)
  164. {
  165. var data = exam_ExamRoomIBLL.GetEntityByClassroomNo(ClassRoomNo, AcademicYearNo, Semester);
  166. var studata = exam_ArrangeExamTermNewIBLL.GetStuList(AcademicYearNo, Semester, ClassRoomNo, LessonNo, EmpNo, ExamDate, ExamTime).OrderBy(x => x.SitNumber);
  167. var StuList = new List<EaxmStuList>();
  168. var EaxmStartTime = "";
  169. var EaxmEndTime = "";
  170. var teach = "";
  171. foreach (var item in studata)
  172. {
  173. var list = new EaxmStuList
  174. {
  175. SitNumber = item.SitNumber,
  176. StuName = item.StuName,
  177. StuNo = item.StuNo
  178. };
  179. StuList.Add(list);
  180. var times = item.ExamTime.Split('-');
  181. for (int i = 0; i < times.Count(); i++)
  182. {
  183. if (i == 0)
  184. {
  185. EaxmStartTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i] + " ~ ";
  186. }
  187. else
  188. {
  189. EaxmEndTime = item.ExamDate.Value.ToString("yyyy-MM-dd") + " " + times[i];
  190. }
  191. }
  192. teach = item.EmpName;
  193. }
  194. var dataOne = new { tClassroomName = data.ClassroomName, AcademicYearNo, Semester, data.SeatRows, data.SeatColumns, teach, EaxmStartTime, EaxmEndTime };
  195. var result = new { dataOne, StuList };
  196. return Success(result);
  197. }
  198. [HttpGet]
  199. [AjaxOnly]
  200. public ActionResult GetScreeningPlan(string pagination, string queryJson)
  201. {
  202. Pagination paginationobj = pagination.ToObject<Pagination>();
  203. var data = exam_ArrangeExamTermNewIBLL.ScreeningPlan(paginationobj, queryJson);
  204. var jsonData = new
  205. {
  206. rows = data,
  207. total = paginationobj.total,
  208. page = paginationobj.page,
  209. records = paginationobj.records
  210. };
  211. return Success(jsonData);
  212. }
  213. #endregion
  214. #region 提交数据
  215. /// <summary>
  216. /// 删除实体数据
  217. /// </summary>
  218. /// <param name="keyValue">主键</param>
  219. /// <returns></returns>
  220. [HttpPost]
  221. [AjaxOnly]
  222. public ActionResult DeleteForm(string keyValue)
  223. {
  224. exam_ArrangeExamTermNewIBLL.DeleteEntity(keyValue);
  225. return Success("删除成功!");
  226. }
  227. /// <summary>
  228. /// 保存实体数据(新增、修改)
  229. /// </summary>
  230. /// <param name="keyValue">主键</param>
  231. /// <param name="strEntity">实体</param>
  232. /// <returns></returns>
  233. [HttpPost]
  234. [ValidateAntiForgeryToken]
  235. [AjaxOnly]
  236. public ActionResult SaveForm(string keyValue, string strEntity)
  237. {
  238. Exam_ArrangeExamTermNewEntity entity = strEntity.ToObject<Exam_ArrangeExamTermNewEntity>();
  239. exam_ArrangeExamTermNewIBLL.SaveEntity(keyValue, entity);
  240. if (string.IsNullOrEmpty(keyValue))
  241. {
  242. }
  243. return Success("保存成功!");
  244. }
  245. #endregion
  246. public class EaxmStuList
  247. {
  248. public string StuName { get; set; }
  249. public string StuNo { get; set; }
  250. public string SitNumber { get; set; }
  251. }
  252. }
  253. }