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.
 
 
 
 
 
 

298 lines
9.8 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. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  8. {
  9. /// <summary>
  10. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  11. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  12. /// 创 建:超级管理员
  13. /// 日 期:2019-05-15 10:33
  14. /// 描 述:选修课课程
  15. /// </summary>
  16. public class StuSelectLessonListOfElectiveOnlineController : MvcControllerBase
  17. {
  18. private StuSelectLessonListOfElectiveOnlineIBLL stuSelectLessonListOfElectiveOnlineIBLL = new StuSelectLessonListOfElectiveOnlineBLL();
  19. private LessonInfoOfElectiveOnlineIBLL lessonInfoOfElectiveOnlineIBLL = new LessonInfoOfElectiveOnlineBLL();
  20. #region 视图功能
  21. /// <summary>
  22. /// 主页面
  23. /// <summary>
  24. /// <returns></returns>
  25. [HttpGet]
  26. public ActionResult Index()
  27. {
  28. return View();
  29. }
  30. [HttpGet]
  31. public ActionResult QueryStuSelectResult()
  32. {
  33. return View();
  34. }
  35. [HttpGet]
  36. public ActionResult QueryStuSelectResultForTeacher()
  37. {
  38. return View();
  39. }
  40. /// <summary>
  41. /// 教务-审核表单页
  42. /// <summary>
  43. /// <returns></returns>
  44. [HttpGet]
  45. public ActionResult AuditForm()
  46. {
  47. return View();
  48. }
  49. /// <summary>
  50. /// 教务-审核页面
  51. /// <summary>
  52. /// <returns></returns>
  53. [HttpGet]
  54. public ActionResult AuditIndex()
  55. {
  56. return View();
  57. }
  58. /// <summary>
  59. /// 教务-报名结果页面
  60. /// <summary>
  61. /// <returns></returns>
  62. [HttpGet]
  63. public ActionResult FinishIndex()
  64. {
  65. return View();
  66. }
  67. /// <summary>
  68. /// 初始化线上课程成绩
  69. /// <summary>
  70. /// <returns></returns>
  71. [HttpGet]
  72. public ActionResult InitScoreForm()
  73. {
  74. return View();
  75. }
  76. #endregion
  77. #region 获取数据
  78. /// <summary>
  79. /// 获取页面显示列表数据
  80. /// <summary>
  81. /// <param name="queryJson">查询参数</param>
  82. /// <returns></returns>
  83. [HttpGet]
  84. [AjaxOnly]
  85. public ActionResult GetPageList(string pagination, string queryJson)
  86. {
  87. Pagination paginationobj = pagination.ToObject<Pagination>();
  88. var data = stuSelectLessonListOfElectiveOnlineIBLL.GetPageList(paginationobj, queryJson);
  89. var jsonData = new
  90. {
  91. rows = data,
  92. total = paginationobj.total,
  93. page = paginationobj.page,
  94. records = paginationobj.records
  95. };
  96. return Success(jsonData);
  97. }
  98. [HttpGet]
  99. [AjaxOnly]
  100. public ActionResult GetQueryStuSelectResultList(string pagination, string queryJson)
  101. {
  102. Pagination paginationobj = pagination.ToObject<Pagination>();
  103. var data = stuSelectLessonListOfElectiveOnlineIBLL.GetQueryStuSelectResultList(paginationobj, queryJson);
  104. var jsonData = new
  105. {
  106. rows = data,
  107. total = paginationobj.total,
  108. page = paginationobj.page,
  109. records = paginationobj.records
  110. };
  111. return Success(jsonData);
  112. }
  113. /// <summary>
  114. /// 获取表单数据
  115. /// <summary>
  116. /// <returns></returns>
  117. [HttpGet]
  118. [AjaxOnly]
  119. public ActionResult GetFormData(string keyValue)
  120. {
  121. var StuSelectLessonListOfElectiveOnlineData = stuSelectLessonListOfElectiveOnlineIBLL.GetStuSelectLessonListOfElectiveOnlineEntity(keyValue);
  122. var jsonData = new
  123. {
  124. StuSelectLessonListOfElectiveOnline = StuSelectLessonListOfElectiveOnlineData,
  125. };
  126. return Success(jsonData);
  127. }
  128. /// <summary>
  129. /// 获取选课情况里的课程信息
  130. /// <summary>
  131. /// <returns></returns>
  132. [HttpGet]
  133. [AjaxOnly]
  134. public ActionResult GetSelectLessonInfo(string academicYearNo, string semester)
  135. {
  136. var Data = stuSelectLessonListOfElectiveOnlineIBLL.GetSelectLessonInfo(academicYearNo, semester).OrderBy(x => x.LessonNo);
  137. return Success(Data);
  138. }
  139. #endregion
  140. #region 提交数据
  141. /// <summary>
  142. /// 删除实体数据
  143. /// <param name="keyValue">主键</param>
  144. /// <summary>
  145. /// <returns></returns>
  146. [HttpPost]
  147. [AjaxOnly]
  148. public ActionResult DeleteForm(string keyValue)
  149. {
  150. stuSelectLessonListOfElectiveOnlineIBLL.DeleteEntity(keyValue);
  151. return Success("删除成功!");
  152. }
  153. [HttpPost]
  154. [AjaxOnly]
  155. public ActionResult Pass(string keyValue, string LIOEOId)
  156. {
  157. var stulist = keyValue.Split(',');
  158. var olpentity = lessonInfoOfElectiveOnlineIBLL.GetLessonInfoOfElectiveOnlineEntity(LIOEOId);
  159. if (olpentity != null)
  160. {
  161. if (olpentity.StuNum + stulist.Length > olpentity.StuNumMax)
  162. {
  163. return Fail("当前选课人数已超出限制,请减少审批量!");
  164. }
  165. else
  166. {
  167. stuSelectLessonListOfElectiveOnlineIBLL.Pass(stulist, olpentity);
  168. }
  169. }
  170. else
  171. {
  172. return Fail("当前选课数据不存在!");
  173. }
  174. return Success("操作成功!");
  175. }
  176. /// <summary>
  177. /// 批量拒绝【审核学生页面】
  178. /// </summary>
  179. /// <param name="keyValue"></param>
  180. /// <param name="OLPEId"></param>
  181. /// <returns></returns>
  182. [HttpPost]
  183. [AjaxOnly]
  184. public ActionResult UnPass(string keyValue, string LIOEOId)
  185. {
  186. var stulist = keyValue.Split(',');
  187. var olpentity = lessonInfoOfElectiveOnlineIBLL.GetLessonInfoOfElectiveOnlineEntity(LIOEOId);
  188. if (olpentity != null)
  189. {
  190. stuSelectLessonListOfElectiveOnlineIBLL.UnPass(stulist, olpentity);
  191. }
  192. else
  193. {
  194. return Fail("当前选课数据不存在!");
  195. }
  196. return Success("操作成功!");
  197. }
  198. /// <summary>
  199. /// 批量拒绝【已审学生页面】
  200. /// </summary>
  201. /// <param name="keyValue"></param>
  202. /// <param name="OLPEId"></param>
  203. /// <returns></returns>
  204. [HttpPost]
  205. [AjaxOnly]
  206. public ActionResult UnPassOfFinish(string keyValue, string LIOEOId)
  207. {
  208. var stulist = keyValue.Split(',');
  209. var olpentity = lessonInfoOfElectiveOnlineIBLL.GetLessonInfoOfElectiveOnlineEntity(LIOEOId);
  210. if (olpentity != null)
  211. {
  212. stuSelectLessonListOfElectiveOnlineIBLL.UnPassOfFinish(stulist, olpentity);
  213. }
  214. else
  215. {
  216. return Fail("当前选课数据不存在!");
  217. }
  218. return Success("操作成功!");
  219. }
  220. /// <summary>
  221. /// 保存实体数据(新增、修改)
  222. /// <param name="keyValue">主键</param>
  223. /// <summary>
  224. /// <returns></returns>
  225. [HttpPost]
  226. [ValidateAntiForgeryToken]
  227. [AjaxOnly]
  228. public ActionResult SaveForm(string keyValue, string strEntity)
  229. {
  230. var sslleEntity = stuSelectLessonListOfElectiveOnlineIBLL.GetStuSelectLessonListOfElectiveOnlineEntity(keyValue);
  231. if (sslleEntity == null)
  232. {
  233. return Fail("当前选课数据不存在!");
  234. }
  235. var olpeEntity = lessonInfoOfElectiveOnlineIBLL.GetLessonInfoOfElectiveOnlineEntity(sslleEntity.LIOEOId);
  236. if (olpeEntity == null)
  237. {
  238. return Fail("当前选课的课程不存在!");
  239. }
  240. StuSelectLessonListOfElectiveOnlineEntity entity = strEntity.ToObject<StuSelectLessonListOfElectiveOnlineEntity>();
  241. var aa = entity.Status;
  242. if (aa == 1)//是
  243. {
  244. //判断选课的课程的报名人数是否已满
  245. if (olpeEntity.StuNum.HasValue && olpeEntity.StuNum.Value >= olpeEntity.StuNumMax)
  246. {
  247. return Fail("当前选课的课程人数已满!");
  248. }
  249. //选课的课程报名人数加1
  250. olpeEntity.StuNum = olpeEntity.StuNum.HasValue ? olpeEntity.StuNum.Value + 1 : 1;
  251. lessonInfoOfElectiveOnlineIBLL.SaveEntity(olpeEntity.Id, olpeEntity);
  252. //报名成功
  253. sslleEntity.Status = 2;
  254. sslleEntity.Remark = entity.Remark;
  255. }
  256. else
  257. {
  258. //报名失败
  259. sslleEntity.Status = 3;
  260. sslleEntity.Remark = entity.Remark;
  261. }
  262. stuSelectLessonListOfElectiveOnlineIBLL.SaveEntity(keyValue, sslleEntity);
  263. return Success("保存成功!");
  264. }
  265. /// <summary>
  266. /// 初始化线上课程成绩
  267. /// <param name="keyValue">主键</param>
  268. /// <summary>
  269. /// <returns></returns>
  270. [HttpPost]
  271. [AjaxOnly]
  272. public ActionResult DoInitScore(StuSelectLessonListOfElectiveOnlineEntity entity)
  273. {
  274. stuSelectLessonListOfElectiveOnlineIBLL.DoInitScore(entity);
  275. return Success("初始化成功!");
  276. }
  277. #endregion
  278. }
  279. }