DataItemController.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. using LeaRun.Application.Busines.SystemManage;
  2. using LeaRun.Application.Code;
  3. using LeaRun.Application.Entity.SystemManage;
  4. using LeaRun.Util;
  5. using LeaRun.Util.WebControl;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Web.Mvc;
  9. namespace LeaRun.Application.Web.Areas.SystemManage.Controllers
  10. {
  11. /// <summary>
  12. /// 版 本 6.1
  13. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  14. /// 创建人:佘赐雄
  15. /// 日 期:2015.11.17 9:56
  16. /// 描 述:数据字典分类
  17. /// </summary>
  18. public class DataItemController : MvcControllerBase
  19. {
  20. private DataItemBLL dataItemBLL = new DataItemBLL();
  21. #region 视图功能
  22. /// <summary>
  23. /// 分类管理
  24. /// </summary>
  25. /// <returns></returns>
  26. [HttpGet]
  27. [HandlerAuthorize(PermissionMode.Enforce)]
  28. public ActionResult Index()
  29. {
  30. return View();
  31. }
  32. /// <summary>
  33. /// 分类表单
  34. /// </summary>
  35. /// <returns></returns>
  36. [HttpGet]
  37. public ActionResult Form()
  38. {
  39. return View();
  40. }
  41. #endregion
  42. #region 获取数据
  43. /// <summary>
  44. /// 分类列表
  45. /// </summary>
  46. /// <param name="keyword">关键字查询</param>
  47. /// <returns>返回树形Json</returns>
  48. [HttpGet]
  49. public ActionResult GetTreeJson(string keyword)
  50. {
  51. var data = dataItemBLL.GetList().ToList();
  52. if (!string.IsNullOrEmpty(keyword))
  53. {
  54. data = data.TreeWhere(t => t.ItemName.Contains(keyword), "");
  55. }
  56. var treeList = new List<TreeEntity>();
  57. foreach (DataItemEntity item in data)
  58. {
  59. TreeEntity tree = new TreeEntity();
  60. bool hasChildren = data.Count(t => t.ParentId == item.ItemId) == 0 ? false : true;
  61. tree.id = item.ItemId;
  62. tree.text = item.ItemName;
  63. tree.value = item.ItemCode;
  64. tree.parentId = item.ParentId;
  65. tree.isexpand = true;
  66. tree.complete = true;
  67. tree.Attribute = "isTree";
  68. tree.AttributeValue = item.IsTree.ToString();
  69. tree.hasChildren = hasChildren;
  70. treeList.Add(tree);
  71. }
  72. return Content(treeList.TreeToJson());
  73. }
  74. /// <summary>
  75. /// 分类列表
  76. /// </summary>
  77. /// <param name="keyword">关键字查询</param>
  78. /// <returns>返回树形列表Json</returns>
  79. [HttpGet]
  80. public ActionResult GetTreeListJson(string keyword)
  81. {
  82. var data = dataItemBLL.GetList().ToList();
  83. if (!string.IsNullOrEmpty(keyword))
  84. {
  85. data = data.TreeWhere(t => t.ItemName.Contains(keyword), "");
  86. }
  87. var TreeList = new List<TreeGridEntity>();
  88. foreach (DataItemEntity item in data)
  89. {
  90. TreeGridEntity tree = new TreeGridEntity();
  91. bool hasChildren = data.Count(t => t.ParentId == item.ItemId) == 0 ? false : true;
  92. tree.id = item.ItemId;
  93. tree.parentId = item.ParentId;
  94. tree.expanded = true;
  95. tree.hasChildren = hasChildren;
  96. tree.entityJson = item.ToJson();
  97. TreeList.Add(tree);
  98. }
  99. return Content(TreeList.TreeJson());
  100. }
  101. /// <summary>
  102. /// 分类实体
  103. /// </summary>
  104. /// <param name="keyValue">主键值</param>
  105. /// <returns>返回对象Json</returns>
  106. [HttpGet]
  107. public ActionResult GetFormJson(string keyValue)
  108. {
  109. var data = dataItemBLL.GetEntity(keyValue);
  110. return Content(data.ToJson());
  111. }
  112. #endregion
  113. #region 验证数据
  114. /// <summary>
  115. /// 分类编号不能重复
  116. /// </summary>
  117. /// <param name="ItemCode">编号</param>
  118. /// <param name="keyValue">主键</param>
  119. /// <returns></returns>
  120. [HttpGet]
  121. public ActionResult ExistItemCode(string ItemCode, string keyValue)
  122. {
  123. bool IsOk = dataItemBLL.ExistItemCode(ItemCode, keyValue);
  124. return Content(IsOk.ToString());
  125. }
  126. /// <summary>
  127. /// 分类名称不能重复
  128. /// </summary>
  129. /// <param name="ItemName">名称</param>
  130. /// <param name="keyValue">主键</param>
  131. /// <returns></returns>
  132. [HttpGet]
  133. public ActionResult ExistItemName(string ItemName, string keyValue)
  134. {
  135. bool IsOk = dataItemBLL.ExistItemName(ItemName, keyValue);
  136. return Content(IsOk.ToString());
  137. }
  138. #endregion
  139. #region 提交数据
  140. /// <summary>
  141. /// 删除分类
  142. /// </summary>
  143. /// <param name="keyValue">主键值</param>
  144. /// <returns></returns>
  145. [HttpPost]
  146. [ValidateAntiForgeryToken]
  147. [AjaxOnly]
  148. public ActionResult RemoveForm(string keyValue)
  149. {
  150. dataItemBLL.RemoveForm(keyValue);
  151. return Success("删除成功。");
  152. }
  153. /// <summary>
  154. /// 保存分类表单(新增、修改)
  155. /// </summary>
  156. /// <param name="keyValue">主键值</param>
  157. /// <param name="dataItemEntity">分类实体</param>
  158. /// <returns></returns>
  159. [HttpPost]
  160. [ValidateAntiForgeryToken]
  161. [AjaxOnly]
  162. public ActionResult SaveForm(string keyValue, DataItemEntity dataItemEntity)
  163. {
  164. dataItemBLL.SaveForm(keyValue, dataItemEntity);
  165. return Success("操作成功。");
  166. }
  167. #endregion
  168. }
  169. }