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.
 
 
 
 
 
 

155 lines
4.8 KiB

  1. using Learun.Application.Organization;
  2. using Learun.Application.TwoDevelopment.EducationalAdministration;
  3. using Learun.Util;
  4. using Learun.Util.Operat;
  5. using System.Linq;
  6. using System.Web.Mvc;
  7. namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers
  8. {
  9. /// <summary>
  10. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  11. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  12. /// 创建人:陈彬彬
  13. /// 日 期:2017.03.09
  14. /// 描 述:公司管理
  15. /// </summary>
  16. public class CompanyController : MvcControllerBase
  17. {
  18. private CompanyIBLL companyIBLL = new CompanyBLL();
  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. #endregion
  40. #region 获取数据
  41. /// <summary>
  42. /// 获取公司列表信息
  43. /// </summary>
  44. /// <param name="keyword">查询关键字</param>
  45. /// <returns></returns>
  46. [HttpGet]
  47. [AjaxOnly]
  48. public ActionResult GetList(string keyword)
  49. {
  50. var data = companyIBLL.GetList(keyword);
  51. return JsonResult(data);
  52. }
  53. /// <summary>
  54. /// 获取树形数据
  55. /// </summary>
  56. /// <param name="parentId">父级id</param>
  57. /// <returns></returns>
  58. [HttpGet]
  59. [AjaxOnly]
  60. public ActionResult GetTree(string parentId)
  61. {
  62. var data = companyIBLL.GetTree(parentId);
  63. return JsonResult(data);
  64. }
  65. /// <summary>
  66. /// 获取映射数据
  67. /// </summary>
  68. /// <returns></returns>
  69. [HttpGet]
  70. [AjaxOnly]
  71. public ActionResult GetMap(string ver)
  72. {
  73. var data = companyIBLL.GetModelMap();
  74. string md5 = Md5Helper.Encrypt(data.ToJson(), 32);
  75. if (md5 == ver)
  76. {
  77. return Success("no update");
  78. }
  79. else
  80. {
  81. var jsondata = new
  82. {
  83. data = data,
  84. ver = md5
  85. };
  86. return JsonResult(jsondata);
  87. }
  88. }
  89. #endregion
  90. #region 提交数据
  91. /// <summary>
  92. /// 保存表单数据
  93. /// </summary>
  94. /// <param name="keyValue">主键</param>
  95. /// <param name="entity">实体数据</param>
  96. /// <returns></returns>
  97. [HttpPost]
  98. [ValidateAntiForgeryToken]
  99. [AjaxOnly]
  100. public ActionResult SaveForm(string keyValue, CompanyEntity entity)
  101. {
  102. entity.SyncFlag = false;
  103. var list = companyIBLL.GetList();
  104. if (!string.IsNullOrEmpty(keyValue))
  105. {
  106. entity.SyncFlag = true;
  107. //判断排课同步数据是否存在:若存在,清除同步数据;
  108. var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue);
  109. if (arrangeLessonSyncList.Any())
  110. {
  111. arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue);
  112. }
  113. else
  114. {
  115. entity.SyncFlag = false;
  116. }
  117. list = list.Where(m => m.F_CompanyId != keyValue).ToList();
  118. }
  119. if (list.Any(a => a.F_FullName == entity.F_FullName))
  120. {
  121. return Fail("学校名称重复");
  122. }
  123. if (list.Any(a => a.F_EnCode == entity.F_EnCode))
  124. {
  125. return Fail("学校编码重复");
  126. }
  127. if (list.Any(a => a.F_ShortName == entity.F_ShortName))
  128. {
  129. return Fail("学校简称重复");
  130. }
  131. companyIBLL.SaveEntity(keyValue, entity);
  132. return Success("保存成功!", "公司信息", string.IsNullOrEmpty(keyValue) ? OperationType.Create : OperationType.Update, entity.F_CompanyId, entity.ToJson());
  133. }
  134. /// <summary>
  135. /// 删除表单数据
  136. /// </summary>
  137. /// <param name="keyValue">主键</param>
  138. /// <returns></returns>
  139. [HttpPost]
  140. [AjaxOnly]
  141. public ActionResult DeleteForm(string keyValue)
  142. {
  143. companyIBLL.VirtualDelete(keyValue);
  144. return Success("删除成功!", "公司信息", OperationType.Delete, keyValue, "");
  145. }
  146. #endregion
  147. }
  148. }