DataItemController.cs 5.7 KB

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