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.

DataItemController.cs 8.4 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. using Learun.Application.Base.SystemModule;
  2. using Learun.Util;
  3. using System.Web.Mvc;
  4. namespace Learun.Application.Web.Areas.LR_SystemModule.Controllers
  5. {
  6. /// <summary>
  7. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  8. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  9. /// 创建人:陈彬彬
  10. /// 日 期:2017.03.09
  11. /// 描 述:数据字典
  12. /// </summary>
  13. public class DataItemController : MvcControllerBase
  14. {
  15. #region 属性
  16. private DataItemIBLL dataItemIBLL = new DataItemBLL();
  17. #endregion
  18. #region 视图功能
  19. /*明细管理*/
  20. /// <summary>
  21. /// 数据字典管理
  22. /// </summary>
  23. /// <returns></returns>
  24. [HttpGet]
  25. public ActionResult Index()
  26. {
  27. return View();
  28. }
  29. /// <summary>
  30. /// 明细管理(表单)
  31. /// </summary>
  32. /// <returns></returns>
  33. [HttpGet]
  34. public ActionResult Form()
  35. {
  36. return View();
  37. }
  38. /*分类管理*/
  39. /// <summary>
  40. /// 分类管理
  41. /// </summary>
  42. /// <returns></returns>
  43. [HttpGet]
  44. public ActionResult ClassifyIndex() {
  45. return View();
  46. }
  47. /// <summary>
  48. /// 分类管理(表单)
  49. /// </summary>
  50. /// <returns></returns>
  51. [HttpGet]
  52. public ActionResult ClassifyForm()
  53. {
  54. return View();
  55. }
  56. /// <summary>
  57. /// 明细管理
  58. /// </summary>
  59. /// <returns></returns>
  60. [HttpGet]
  61. public ActionResult DetailIndex()
  62. {
  63. return View();
  64. }
  65. #endregion
  66. #region 字典分类
  67. /// <summary>
  68. /// 获取字典分类列表
  69. /// </summary>
  70. /// <param name="keyword">关键词(名称/编码)</param>
  71. /// <returns></returns>
  72. [HttpGet]
  73. [AjaxOnly]
  74. public ActionResult GetClassifyList(string keyword)
  75. {
  76. var data = dataItemIBLL.GetClassifyList(keyword, false);
  77. return this.JsonResult(data);
  78. }
  79. /// <summary>
  80. /// 获取字典分类列表(树结构)
  81. /// </summary>
  82. /// <returns></returns>
  83. [HttpGet]
  84. [AjaxOnly]
  85. public ActionResult GetClassifyTree()
  86. {
  87. var data = dataItemIBLL.GetClassifyTree();
  88. return this.JsonResult(data);
  89. }
  90. /// <summary>
  91. /// 保存分类数据
  92. /// </summary>
  93. /// <param name="keyValue">主键</param>
  94. /// <param name="entity">实体</param>
  95. /// <returns></returns>
  96. [HttpPost]
  97. [ValidateAntiForgeryToken]
  98. [AjaxOnly]
  99. public ActionResult SaveClassifyForm(string keyValue, DataItemEntity entity) {
  100. dataItemIBLL.SaveClassifyEntity(keyValue, entity);
  101. return Success("保存成功!");
  102. }
  103. /// <summary>
  104. /// 删除分类数据
  105. /// </summary>
  106. /// <param name="keyValue">主键</param>
  107. /// <returns></returns>
  108. [HttpPost]
  109. [AjaxOnly]
  110. public ActionResult DeleteClassifyForm(string keyValue) {
  111. dataItemIBLL.VirtualDeleteClassify(keyValue);
  112. return Success("删除成功!");
  113. }
  114. /// <summary>
  115. /// 分类编号不能重复
  116. /// </summary>
  117. /// <param name="ItemCode">编码</param>
  118. /// <param name="keyValue">主键</param>
  119. /// <returns></returns>
  120. [HttpGet]
  121. [AjaxOnly]
  122. public ActionResult ExistItemCode(string keyValue, string F_ItemCode)
  123. {
  124. bool res = dataItemIBLL.ExistItemCode(keyValue, F_ItemCode);
  125. return JsonResult(res);
  126. }
  127. /// <summary>
  128. /// 分类名称不能重复
  129. /// </summary>
  130. /// <param name="ItemName">名称</param>
  131. /// <param name="keyValue">主键</param>
  132. /// <returns></returns>
  133. [HttpGet]
  134. [AjaxOnly]
  135. public ActionResult ExistItemName(string keyValue, string F_ItemName)
  136. {
  137. bool res = dataItemIBLL.ExistItemName(keyValue, F_ItemName);
  138. return JsonResult(res);
  139. }
  140. #endregion
  141. #region 字典明细
  142. /// <summary>
  143. /// 获取数据字典明显根据分类编号
  144. /// </summary>
  145. /// <param name="itemCode">分类编号</param>
  146. /// <param name="keyword">查询条件</param>
  147. /// <returns></returns>
  148. [HttpGet]
  149. [AjaxOnly]
  150. public ActionResult GetDetailList(string itemCode, string keyword)
  151. {
  152. var data = dataItemIBLL.GetDetailList(itemCode, keyword);
  153. return JsonResult(data);
  154. }
  155. /// <summary>
  156. /// 获取数据字典明显树形数据
  157. /// </summary>
  158. /// <param name="itemCode">分类编号</param>
  159. /// <returns></returns>
  160. [HttpGet]
  161. [AjaxOnly]
  162. public ActionResult GetDetailTree(string itemCode)
  163. {
  164. var data = dataItemIBLL.GetDetailTree(itemCode);
  165. return JsonResult(data);
  166. }
  167. /// <summary>
  168. /// 项目值不能重复
  169. /// </summary>
  170. /// <param name="keyValue">主键</param>
  171. /// <param name="F_ItemValue">项目值</param>
  172. /// <param name="itemCode">分类编码</param>
  173. /// <returns></returns>
  174. [HttpGet]
  175. [AjaxOnly]
  176. public ActionResult ExistDetailItemValue(string keyValue, string F_ItemValue, string itemCode)
  177. {
  178. bool res = dataItemIBLL.ExistDetailItemValue(keyValue, F_ItemValue, itemCode);
  179. return JsonResult(res);
  180. }
  181. /// <summary>
  182. /// 项目名不能重复
  183. /// </summary>
  184. /// <param name="keyValue">主键</param>
  185. /// <param name="F_ItemName">项目名</param>
  186. /// <param name="itemCode">分类编码</param>
  187. /// <returns></returns>
  188. [HttpGet]
  189. [AjaxOnly]
  190. public ActionResult ExistDetailItemName(string keyValue, string F_ItemName, string itemCode)
  191. {
  192. bool res = dataItemIBLL.ExistDetailItemName(keyValue, F_ItemName, itemCode);
  193. return JsonResult(res);
  194. }
  195. /// <summary>
  196. /// 保存明细数据实体
  197. /// </summary>
  198. /// <param name="keyValue">主键</param>
  199. /// <param name="itemCode">分类编码</param>
  200. /// <param name="entity">实体</param>
  201. [HttpPost]
  202. [AjaxOnly]
  203. [ValidateAntiForgeryToken]
  204. public ActionResult SaveDetailForm(string keyValue, string itemCode, DataItemDetailEntity entity)
  205. {
  206. var data = dataItemIBLL.GetClassifyEntityByCode(itemCode);
  207. entity.F_ItemId = data.F_ItemId;
  208. dataItemIBLL.SaveDetailEntity(keyValue, entity);
  209. return Success("保存成功!");
  210. }
  211. /// <summary>
  212. /// 删除明细数据
  213. /// </summary>
  214. /// <param name="keyValue">主键</param>
  215. /// <returns></returns>
  216. [HttpPost]
  217. [AjaxOnly]
  218. public ActionResult DeleteDetailForm(string keyValue)
  219. {
  220. dataItemIBLL.VirtualDeleteDetail(keyValue);
  221. return Success("删除成功!");
  222. }
  223. /// <summary>
  224. /// 获取映射数据
  225. /// </summary>
  226. /// <returns></returns>
  227. [HttpGet]
  228. [AjaxOnly]
  229. public ActionResult GetMap(string ver)
  230. {
  231. var data = dataItemIBLL.GetModelMap();
  232. string md5 = Md5Helper.Encrypt(data.ToJson(), 32);
  233. if (md5 == ver)
  234. {
  235. return Success("no update");
  236. }
  237. else
  238. {
  239. var jsondata = new
  240. {
  241. data = data,
  242. ver = md5
  243. };
  244. return JsonResult(jsondata);
  245. }
  246. }
  247. #endregion
  248. #region 明细数据应用于下拉框
  249. /// <summary>
  250. /// 获取数据字典明显根据分类编号
  251. /// </summary>
  252. /// <param name="itemCode">分类编码</param>
  253. /// <param name="parentId">父级主键</param>
  254. /// <returns></returns>
  255. [HttpGet]
  256. [AjaxOnly]
  257. public ActionResult GetDetailListByParentId(string itemCode, string parentId)
  258. {
  259. var data = dataItemIBLL.GetDetailListByParentId(itemCode, parentId);
  260. return JsonResult(data);
  261. }
  262. #endregion
  263. }
  264. }