OrganizeController.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. using Lottomat.Application.Busines.BaseManage;
  2. using Lottomat.Application.Cache;
  3. using Lottomat.Application.Code;
  4. using Lottomat.Application.Entity.BaseManage;
  5. using Lottomat.Util;
  6. using Lottomat.Util.WebControl;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Web.Mvc;
  10. using Lottomat.Util.Extension;
  11. namespace Lottomat.Application.Admin.Areas.BaseManage.Controllers
  12. {
  13. /// <summary>
  14. /// 版 本 1.0
  15. /// Copyright (c) 2016-2017
  16. /// 创建人:赵轶
  17. /// 日 期:2015.11.02 14:27
  18. /// 描 述:机构管理
  19. /// </summary>
  20. public class OrganizeController : MvcControllerBase
  21. {
  22. private OrganizeBLL organizeBLL = new OrganizeBLL();
  23. private OrganizeCache organizeCache = new OrganizeCache();
  24. #region 视图功能
  25. /// <summary>
  26. /// 机构管理
  27. /// </summary>
  28. /// <returns></returns>
  29. [HttpGet]
  30. [HandlerAuthorize(PermissionMode.Enforce)]
  31. public ActionResult Index()
  32. {
  33. return View();
  34. }
  35. /// <summary>
  36. /// 机构表单
  37. /// </summary>
  38. /// <returns></returns>
  39. [HttpGet]
  40. [HandlerAuthorize(PermissionMode.Enforce)]
  41. public ActionResult Form()
  42. {
  43. return View();
  44. }
  45. #endregion
  46. #region 获取数据
  47. /// <summary>
  48. /// 机构列表
  49. /// </summary>
  50. /// <param name="keyword">关键字</param>
  51. /// <returns>返回树形Json</returns>
  52. [HttpGet]
  53. public ActionResult GetTreeJson(string keyword)
  54. {
  55. var data = organizeCache.GetList().ToList();
  56. if (!string.IsNullOrEmpty(keyword))
  57. {
  58. data = data.TreeWhere(t => t.FullName.Contains(keyword), "OrganizeId");
  59. }
  60. var treeList = new List<TreeEntity>();
  61. foreach (OrganizeEntity item in data)
  62. {
  63. TreeEntity tree = new TreeEntity();
  64. bool hasChildren = data.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
  65. tree.id = item.OrganizeId;
  66. tree.text = item.FullName;
  67. tree.value = item.OrganizeId;
  68. tree.isexpand = true;
  69. tree.complete = true;
  70. tree.hasChildren = hasChildren;
  71. tree.parentId = item.ParentId;
  72. treeList.Add(tree);
  73. }
  74. return Content(treeList.TreeToJson());
  75. }
  76. /// <summary>
  77. /// 机构列表
  78. /// </summary>
  79. /// <param name="condition">查询条件</param>
  80. /// <param name="keyword">关键字</param>
  81. /// <returns>返回树形列表Json</returns>
  82. [HttpGet]
  83. public ActionResult GetTreeListJson(string condition, string keyword)
  84. {
  85. var data = organizeBLL.GetList().ToList();
  86. if (!string.IsNullOrEmpty(condition) && !string.IsNullOrEmpty(keyword))
  87. {
  88. #region 多条件查询
  89. switch (condition)
  90. {
  91. case "FullName": //机构名称
  92. data = data.TreeWhere(t => t.FullName.Contains(keyword), "OrganizeId");
  93. break;
  94. case "EnCode": //外文名称
  95. data = data.TreeWhere(t => t.EnCode.Contains(keyword), "OrganizeId");
  96. break;
  97. case "ShortName": //中文名称
  98. data = data.TreeWhere(t => t.ShortName.Contains(keyword), "OrganizeId");
  99. break;
  100. case "Manager": //负责人
  101. data = data.TreeWhere(t => t.Manager.Contains(keyword), "OrganizeId");
  102. break;
  103. default:
  104. break;
  105. }
  106. #endregion
  107. }
  108. var treeList = new List<TreeGridEntity>();
  109. foreach (OrganizeEntity item in data)
  110. {
  111. TreeGridEntity tree = new TreeGridEntity();
  112. bool hasChildren = data.Count(t => t.ParentId == item.OrganizeId) != 0;
  113. tree.id = item.OrganizeId;
  114. tree.hasChildren = hasChildren;
  115. tree.parentId = item.ParentId;
  116. tree.expanded = true;
  117. tree.entityJson = item.ToJson();
  118. treeList.Add(tree);
  119. }
  120. return Content(treeList.TreeJson());
  121. }
  122. /// <summary>
  123. /// 机构实体
  124. /// </summary>
  125. /// <param name="keyValue">主键值</param>
  126. /// <returns>返回对象Json</returns>
  127. [HttpGet]
  128. public ActionResult GetFormJson(string keyValue)
  129. {
  130. var data = organizeBLL.GetEntity(keyValue);
  131. return Content(data.ToJson());
  132. }
  133. #endregion
  134. #region 验证数据
  135. /// <summary>
  136. /// 机构名称不能重复
  137. /// </summary>
  138. /// <param name="fullName">机构名称</param>
  139. /// <param name="keyValue">主键</param>
  140. /// <returns></returns>
  141. [HttpGet]
  142. public ActionResult ExistFullName(string fullName, string keyValue)
  143. {
  144. bool IsOk = organizeBLL.ExistFullName(fullName, keyValue);
  145. return Content(IsOk.ToString());
  146. }
  147. /// <summary>
  148. /// 外文名称不能重复
  149. /// </summary>
  150. /// <param name="enCode">外文名称</param>
  151. /// <param name="keyValue">主键</param>
  152. /// <returns></returns>
  153. [HttpGet]
  154. public ActionResult ExistEnCode(string enCode, string keyValue)
  155. {
  156. bool IsOk = organizeBLL.ExistEnCode(enCode, keyValue);
  157. return Content(IsOk.ToString());
  158. }
  159. /// <summary>
  160. /// 中文名称不能重复
  161. /// </summary>
  162. /// <param name="shortName">中文名称</param>
  163. /// <param name="keyValue">主键</param>
  164. /// <returns></returns>
  165. [HttpGet]
  166. public ActionResult ExistShortName(string shortName, string keyValue)
  167. {
  168. bool IsOk = organizeBLL.ExistShortName(shortName, keyValue);
  169. return Content(IsOk.ToString());
  170. }
  171. #endregion
  172. #region 提交数据
  173. /// <summary>
  174. /// 删除机构
  175. /// </summary>
  176. /// <param name="keyValue">主键值</param>
  177. /// <returns></returns>
  178. [HttpPost]
  179. [ValidateAntiForgeryToken]
  180. [AjaxOnly]
  181. [HandlerAuthorize(PermissionMode.Enforce)]
  182. public ActionResult RemoveForm(string keyValue)
  183. {
  184. organizeBLL.RemoveForm(keyValue);
  185. return Success("删除成功。");
  186. }
  187. /// <summary>
  188. /// 保存机构表单(新增、修改)
  189. /// </summary>
  190. /// <param name="keyValue">主键值</param>
  191. /// <param name="organizeEntity">机构实体</param>
  192. /// <returns></returns>
  193. [HttpPost]
  194. [ValidateAntiForgeryToken]
  195. [AjaxOnly]
  196. public ActionResult SaveForm(string keyValue, OrganizeEntity organizeEntity)
  197. {
  198. organizeBLL.SaveForm(keyValue, organizeEntity);
  199. return Success("操作成功。");
  200. }
  201. #endregion
  202. }
  203. }