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.

ClassInfoController.cs 6.1 KiB

4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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-01-29 11:08
  14. /// 描 述:班级信息管理
  15. /// </summary>
  16. public class ClassInfoController : MvcControllerBase
  17. {
  18. private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
  19. private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL();
  20. private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
  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 FormType()
  46. {
  47. return View();
  48. }
  49. /// <summary>
  50. /// 班主任/辅导员安排表单页
  51. /// </summary>
  52. /// <returns></returns>
  53. [HttpGet]
  54. public ActionResult FormArrange()
  55. {
  56. return View();
  57. }
  58. #endregion
  59. #region 获取数据
  60. [HttpGet]
  61. public ActionResult GenerateNearByYear()
  62. {
  63. return Success(Learun.Util.WebHelper.GenerateNearByYear2());
  64. }
  65. /// <summary>
  66. /// 获取页面显示列表数据
  67. /// </summary>
  68. /// <param name="queryJson">查询参数</param>
  69. /// <returns></returns>
  70. [HttpGet]
  71. [AjaxOnly]
  72. public ActionResult GetPageList(string pagination, string queryJson)
  73. {
  74. Pagination paginationobj = pagination.ToObject<Pagination>();
  75. var data = classInfoIBLL.GetPageList(paginationobj, queryJson);
  76. var studata = stuInfoBasicIBLL.GetAllList("1");
  77. foreach (var item in data)
  78. {
  79. item.StuNum = studata.Where(o =>
  80. o.DeptNo == item.DeptNo && o.MajorNo == item.MajorNo
  81. && o.ClassNo == item.ClassNo && o.Grade == item.Grade
  82. ).Count();
  83. }
  84. var jsonData = new
  85. {
  86. rows = data,
  87. total = paginationobj.total,
  88. page = paginationobj.page,
  89. records = paginationobj.records
  90. };
  91. return Success(jsonData);
  92. }
  93. /// <summary>
  94. /// 获取表单数据
  95. /// </summary>
  96. /// <returns></returns>
  97. [HttpGet]
  98. [AjaxOnly]
  99. public ActionResult GetFormData(string keyValue)
  100. {
  101. var ClassInfoData = classInfoIBLL.GetClassInfoEntity(keyValue);
  102. var jsonData = new
  103. {
  104. ClassInfo = ClassInfoData,
  105. };
  106. return Success(jsonData);
  107. }
  108. #endregion
  109. #region 提交数据
  110. [HttpPost]
  111. [AjaxOnly]
  112. public ActionResult Lock(string keyValue)
  113. {
  114. classInfoIBLL.Lock(keyValue);
  115. return Success("审核成功!");
  116. }
  117. [HttpPost]
  118. [AjaxOnly]
  119. public ActionResult UnLock(string keyValue)
  120. {
  121. classInfoIBLL.UnLock(keyValue);
  122. return Success("去审成功!");
  123. }
  124. /// <summary>
  125. /// 删除实体数据
  126. /// <param name="keyValue">主键</param>
  127. /// </summary>
  128. /// <returns></returns>
  129. [HttpPost]
  130. [AjaxOnly]
  131. public ActionResult DeleteForm(string keyValue)
  132. {
  133. classInfoIBLL.DeleteEntity(keyValue);
  134. return Success("删除成功!");
  135. }
  136. /// <summary>
  137. /// 根据专业获得班级
  138. /// <param name="marjoNo">专业码</param>
  139. /// </summary>
  140. /// <returns></returns>
  141. [HttpGet]
  142. [AjaxOnly]
  143. public ActionResult GetClassByMajorNo(string majorNo)
  144. {
  145. var data = classInfoIBLL.GetClassByMajorNo(majorNo);
  146. return Success(data);
  147. }
  148. /// <summary>
  149. /// 保存实体数据(新增、修改)
  150. /// <param name="keyValue">主键</param>
  151. /// <returns></returns>
  152. /// </summary>
  153. [HttpPost]
  154. [ValidateAntiForgeryToken]
  155. [AjaxOnly]
  156. public ActionResult SaveForm(string keyValue, string strEntity)
  157. {
  158. ClassInfoEntity entity = strEntity.ToObject<ClassInfoEntity>();
  159. entity.SyncFlag = false;
  160. var model = classInfoIBLL.GetClassInfoEntityByClassNo(entity.ClassNo);
  161. if (string.IsNullOrEmpty(keyValue))
  162. {
  163. if (model != null)
  164. {
  165. return Fail("班级代码已存在!");
  166. }
  167. }
  168. else
  169. {
  170. if (model != null && model.ClassId != keyValue)
  171. {
  172. return Fail("班级代码已存在!");
  173. }
  174. entity.SyncFlag = true;
  175. //判断排课同步数据是否存在:若存在,清除同步数据;
  176. var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue);
  177. if (arrangeLessonSyncList.Any())
  178. {
  179. arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue);
  180. }
  181. else
  182. {
  183. entity.SyncFlag = false;
  184. }
  185. }
  186. classInfoIBLL.SaveEntity(keyValue, entity);
  187. return Success("保存成功!");
  188. }
  189. #endregion
  190. }
  191. }