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.
 
 
 
 
 
 

201 lines
6.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. using DocumentFormat.OpenXml.Bibliography;
  8. namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  12. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2019-01-22 16:32
  15. /// 描 述:专业信息管理
  16. /// </summary>
  17. public class CdMajorController : MvcControllerBase
  18. {
  19. private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
  20. private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL();
  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 IndexOfElective()
  46. {
  47. return View();
  48. }
  49. #endregion
  50. #region 获取数据
  51. /// <summary>
  52. /// 获取页面显示列表数据
  53. /// <summary>
  54. /// <param name="queryJson">查询参数</param>
  55. /// <returns></returns>
  56. [HttpGet]
  57. [AjaxOnly]
  58. public ActionResult GetPageList(string pagination, string queryJson)
  59. {
  60. Pagination paginationobj = pagination.ToObject<Pagination>();
  61. var data = cdMajorIBLL.GetPageList(paginationobj, queryJson);
  62. var jsonData = new
  63. {
  64. rows = data,
  65. total = paginationobj.total,
  66. page = paginationobj.page,
  67. records = paginationobj.records
  68. };
  69. return Success(jsonData);
  70. }
  71. [HttpGet]
  72. [AjaxOnly]
  73. public ActionResult GetElectivePageList(string queryJson)
  74. {
  75. var data = cdMajorIBLL.GetElectivePageList(queryJson).OrderBy(x => x.MajorNo).ThenBy(x => x.Grade);
  76. return Success(data);
  77. }
  78. [HttpGet]
  79. [AjaxOnly]
  80. public ActionResult GetListByDeptNo(string DeptNo)
  81. {
  82. var data = cdMajorIBLL.GetListByDeptNo(DeptNo);
  83. return Success(data);
  84. }
  85. /// <summary>
  86. /// 获取表单数据
  87. /// <summary>
  88. /// <returns></returns>
  89. [HttpGet]
  90. [AjaxOnly]
  91. public ActionResult GetFormData(string keyValue)
  92. {
  93. var CdMajorData = cdMajorIBLL.GetCdMajorEntity(keyValue);
  94. var jsonData = new
  95. {
  96. CdMajor = CdMajorData,
  97. };
  98. return Success(jsonData);
  99. }
  100. /// <summary>
  101. /// 获取树形数据
  102. /// </summary>
  103. /// <param name="parentId">父级id</param>
  104. /// <returns></returns>
  105. [HttpGet]
  106. [AjaxOnly]
  107. public ActionResult GetTree(string parentId)
  108. {
  109. var data = cdMajorIBLL.GetTree(parentId);
  110. return JsonResult(data);
  111. }
  112. #endregion
  113. #region 提交数据
  114. [HttpPost]
  115. [AjaxOnly]
  116. public ActionResult Lock(string keyValue)
  117. {
  118. cdMajorIBLL.Lock(keyValue);
  119. return Success("审核成功!");
  120. }
  121. [HttpPost]
  122. [AjaxOnly]
  123. public ActionResult UnLock(string keyValue)
  124. {
  125. cdMajorIBLL.UnLock(keyValue);
  126. return Success("去审成功!");
  127. }
  128. /// <summary>
  129. /// 删除实体数据
  130. /// <param name="keyValue">主键</param>
  131. /// <summary>
  132. /// <returns></returns>
  133. [HttpPost]
  134. [AjaxOnly]
  135. public ActionResult DeleteForm(string keyValue)
  136. {
  137. cdMajorIBLL.DeleteEntity(keyValue);
  138. return Success("删除成功!");
  139. }
  140. /// <summary>
  141. /// 保存实体数据(新增、修改)
  142. /// <param name="keyValue">主键</param>
  143. /// <summary>
  144. /// <returns></returns>
  145. [HttpPost]
  146. [ValidateAntiForgeryToken]
  147. [AjaxOnly]
  148. public ActionResult SaveForm(string keyValue, string strEntity)
  149. {
  150. CdMajorEntity entity = strEntity.ToObject<CdMajorEntity>();
  151. entity.SyncFlag = false;
  152. var model = cdMajorIBLL.GetCdMajorEntityByMajorNo(entity.MajorNo);
  153. if (!string.IsNullOrEmpty(entity.MajorDirector))
  154. {
  155. var isOccupy = cdMajorIBLL.GetCdMajorIsMajorDirector(keyValue, entity.MajorDirector);
  156. if (isOccupy)
  157. {
  158. return Fail("该负责人已负责其他专业,请重新选择!");
  159. }
  160. }
  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. cdMajorIBLL.SaveEntity(keyValue, entity);
  187. return Success("保存成功!");
  188. }
  189. #endregion
  190. }
  191. }