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.
 
 
 
 
 
 

182 lines
5.4 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-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. #region 视图功能
  21. /// <summary>
  22. /// 主页面
  23. /// </summary>
  24. /// <returns></returns>
  25. [HttpGet]
  26. public ActionResult Index()
  27. {
  28. return View();
  29. }
  30. /// <summary>
  31. /// 表单页
  32. /// </summary>
  33. /// <returns></returns>
  34. [HttpGet]
  35. public ActionResult Form()
  36. {
  37. return View();
  38. }
  39. /// <summary>
  40. /// 班级状态
  41. /// </summary>
  42. /// <returns></returns>
  43. [HttpGet]
  44. public ActionResult FormType()
  45. {
  46. return View();
  47. }
  48. #endregion
  49. #region 获取数据
  50. [HttpGet]
  51. public ActionResult GenerateNearByYear()
  52. {
  53. return Success(Learun.Util.WebHelper.GenerateNearByYear2());
  54. }
  55. /// <summary>
  56. /// 获取页面显示列表数据
  57. /// </summary>
  58. /// <param name="queryJson">查询参数</param>
  59. /// <returns></returns>
  60. [HttpGet]
  61. [AjaxOnly]
  62. public ActionResult GetPageList(string pagination, string queryJson)
  63. {
  64. Pagination paginationobj = pagination.ToObject<Pagination>();
  65. var data = classInfoIBLL.GetPageList(paginationobj, queryJson);
  66. var jsonData = new
  67. {
  68. rows = data,
  69. total = paginationobj.total,
  70. page = paginationobj.page,
  71. records = paginationobj.records
  72. };
  73. return Success(jsonData);
  74. }
  75. /// <summary>
  76. /// 获取表单数据
  77. /// </summary>
  78. /// <returns></returns>
  79. [HttpGet]
  80. [AjaxOnly]
  81. public ActionResult GetFormData(string keyValue)
  82. {
  83. var ClassInfoData = classInfoIBLL.GetClassInfoEntity(keyValue);
  84. var jsonData = new
  85. {
  86. ClassInfo = ClassInfoData,
  87. };
  88. return Success(jsonData);
  89. }
  90. #endregion
  91. #region 提交数据
  92. [HttpPost]
  93. [AjaxOnly]
  94. public ActionResult Lock(string keyValue)
  95. {
  96. classInfoIBLL.Lock(keyValue);
  97. return Success("审核成功!");
  98. }
  99. [HttpPost]
  100. [AjaxOnly]
  101. public ActionResult UnLock(string keyValue)
  102. {
  103. classInfoIBLL.UnLock(keyValue);
  104. return Success("去审成功!");
  105. }
  106. /// <summary>
  107. /// 删除实体数据
  108. /// <param name="keyValue">主键</param>
  109. /// </summary>
  110. /// <returns></returns>
  111. [HttpPost]
  112. [AjaxOnly]
  113. public ActionResult DeleteForm(string keyValue)
  114. {
  115. classInfoIBLL.DeleteEntity(keyValue);
  116. return Success("删除成功!");
  117. }
  118. /// <summary>
  119. /// 根据专业获得班级
  120. /// <param name="marjoNo">专业码</param>
  121. /// </summary>
  122. /// <returns></returns>
  123. [HttpGet]
  124. [AjaxOnly]
  125. public ActionResult GetClassByMajorNo(string majorNo)
  126. {
  127. var data = classInfoIBLL.GetClassByMajorNo(majorNo);
  128. return Success(data);
  129. }
  130. /// <summary>
  131. /// 保存实体数据(新增、修改)
  132. /// <param name="keyValue">主键</param>
  133. /// <returns></returns>
  134. /// </summary>
  135. [HttpPost]
  136. [ValidateAntiForgeryToken]
  137. [AjaxOnly]
  138. public ActionResult SaveForm(string keyValue, string strEntity)
  139. {
  140. ClassInfoEntity entity = strEntity.ToObject<ClassInfoEntity>();
  141. entity.SyncFlag = false;
  142. var model = classInfoIBLL.GetClassInfoEntityByClassNo(entity.ClassNo);
  143. if (string.IsNullOrEmpty(keyValue))
  144. {
  145. if (model != null)
  146. {
  147. return Fail("班级代码已存在!");
  148. }
  149. }
  150. else
  151. {
  152. if (model != null && model.ClassId != keyValue)
  153. {
  154. return Fail("班级代码已存在!");
  155. }
  156. entity.SyncFlag = true;
  157. //判断排课同步数据是否存在:若存在,清除同步数据;
  158. var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue);
  159. if (arrangeLessonSyncList.Any())
  160. {
  161. arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue);
  162. }
  163. else
  164. {
  165. entity.SyncFlag = false;
  166. }
  167. }
  168. classInfoIBLL.SaveEntity(keyValue, entity);
  169. return Success("保存成功!");
  170. }
  171. #endregion
  172. }
  173. }