Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

220 righe
7.1 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-22 16:32
  14. /// 描 述:专业信息管理
  15. /// </summary>
  16. public class CdMajorController : MvcControllerBase
  17. {
  18. private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
  19. private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL();
  20. private StuEnrollScoreIBLL stuEnrollScoreIBLL = new StuEnrollScoreBLL();
  21. private ExamSubjectIBLL examSubjectIBLL = new ExamSubjectBLL();
  22. private MajorAndSubjectIBLL majorAndSubjectIBLL = new MajorAndSubjectBLL();
  23. #region 视图功能
  24. /// <summary>
  25. /// 主页面
  26. /// <summary>
  27. /// <returns></returns>
  28. [HttpGet]
  29. public ActionResult Index()
  30. {
  31. return View();
  32. }
  33. /// <summary>
  34. /// 表单页
  35. /// <summary>
  36. /// <returns></returns>
  37. [HttpGet]
  38. public ActionResult Form()
  39. {
  40. return View();
  41. }
  42. /// <summary>
  43. /// 主页面【设置选课专业】
  44. /// <summary>
  45. /// <returns></returns>
  46. [HttpGet]
  47. public ActionResult IndexOfElective()
  48. {
  49. return View();
  50. }
  51. #endregion
  52. #region 获取数据
  53. /// <summary>
  54. /// 返回前五年+后五年的年份yyyy
  55. /// </summary>
  56. /// <returns></returns>
  57. public ActionResult GenerateNearByYear()
  58. {
  59. return Success(WebHelper.GenerateNearByYear());
  60. }
  61. /// <summary>
  62. /// 获取页面显示列表数据
  63. /// <summary>
  64. /// <param name="queryJson">查询参数</param>
  65. /// <returns></returns>
  66. [HttpGet]
  67. [AjaxOnly]
  68. public ActionResult GetPageList(string pagination, string queryJson)
  69. {
  70. Pagination paginationobj = pagination.ToObject<Pagination>();
  71. var data = cdMajorIBLL.GetPageList(paginationobj, queryJson);
  72. var jsonData = new
  73. {
  74. rows = data,
  75. total = paginationobj.total,
  76. page = paginationobj.page,
  77. records = paginationobj.records
  78. };
  79. return Success(jsonData);
  80. }
  81. [HttpGet]
  82. [AjaxOnly]
  83. public ActionResult GetElectivePageList(string queryJson)
  84. {
  85. var data = cdMajorIBLL.GetElectivePageList(queryJson).OrderBy(x => x.MajorNo).ThenBy(x => x.Grade);
  86. return Success(data);
  87. }
  88. [HttpGet]
  89. [AjaxOnly]
  90. public ActionResult GetListByDeptNo(string DeptNo)
  91. {
  92. var data = cdMajorIBLL.GetListByDeptNo(DeptNo);
  93. return Success(data);
  94. }
  95. /// <summary>
  96. /// 获取表单数据
  97. /// <summary>
  98. /// <returns></returns>
  99. [HttpGet]
  100. [AjaxOnly]
  101. public ActionResult GetFormData(string keyValue)
  102. {
  103. var CdMajorData = cdMajorIBLL.GetCdMajorEntity(keyValue);
  104. var jsonData = new
  105. {
  106. CdMajor = CdMajorData,
  107. };
  108. return Success(jsonData);
  109. }
  110. #endregion
  111. #region 提交数据
  112. [HttpPost]
  113. [AjaxOnly]
  114. public ActionResult Lock(string keyValue)
  115. {
  116. cdMajorIBLL.Lock(keyValue);
  117. return Success("操作成功!");
  118. }
  119. [HttpPost]
  120. [AjaxOnly]
  121. public ActionResult UnLock(string keyValue)
  122. {
  123. cdMajorIBLL.UnLock(keyValue);
  124. return Success("操作成功!");
  125. }
  126. /// <summary>
  127. /// 删除实体数据
  128. /// <param name="keyValue">主键</param>
  129. /// <summary>
  130. /// <returns></returns>
  131. [HttpPost]
  132. [AjaxOnly]
  133. public ActionResult DeleteForm(string keyValue)
  134. {
  135. var keyValueArr = keyValue.Split(',');
  136. foreach (var item in keyValueArr)
  137. {
  138. var model = cdMajorIBLL.GetCdMajorEntity(item);
  139. int AuditCout = stuEnrollScoreIBLL.IsExistNoCheck(model.Year, keyValue);
  140. if (AuditCout > 0)
  141. {
  142. return Fail("不能删除关联学科");
  143. }
  144. }
  145. cdMajorIBLL.DeleteEntity(keyValue);
  146. return Success("删除成功!");
  147. }
  148. /// <summary>
  149. /// 保存实体数据(新增、修改)
  150. /// <param name="keyValue">主键</param>
  151. /// <summary>
  152. /// <returns></returns>
  153. [HttpPost]
  154. [ValidateAntiForgeryToken]
  155. [AjaxOnly]
  156. public ActionResult SaveForm(string keyValue, string strEntity)
  157. {
  158. CdMajorEntity entity = strEntity.ToObject<CdMajorEntity>();
  159. entity.SyncFlag = false;
  160. var model = cdMajorIBLL.GetCdMajorEntityByMajorNo(entity.MajorNo);
  161. if (string.IsNullOrEmpty(keyValue))
  162. {
  163. if (model != null)
  164. {
  165. return Fail("专业编号已存在!");
  166. }
  167. }
  168. else
  169. {
  170. if (model != null && model.ID != 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. majorAndSubjectIBLL.DeleteEntityById(keyValue);
  187. }
  188. int AuditCout = stuEnrollScoreIBLL.IsExistNoCheck(entity.Year, keyValue);
  189. if (AuditCout > 0)
  190. {
  191. return Fail("不能修改关联学科");
  192. }
  193. cdMajorIBLL.SaveEntity(keyValue, entity);
  194. //#region 给关联表添加科目
  195. //MajorAndSubjectEntity majorAndSubjectEntity = new MajorAndSubjectEntity();
  196. //string[] SubNo = entity.SubjectNo.Split(',');
  197. //for (int i = 0; i < SubNo.Length; i++)
  198. //{
  199. // majorAndSubjectEntity.MajorId = entity.ID;//关联专业主键
  200. // majorAndSubjectEntity.SubId = SubNo[i];//考试科目的主键
  201. // majorAndSubjectIBLL.SaveEntity("", majorAndSubjectEntity);
  202. //}
  203. //#endregion
  204. return Success("保存成功!");
  205. }
  206. #endregion
  207. }
  208. }