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.
 
 
 
 
 
 

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