Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

286 řádky
8.9 KiB

  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. /// <param name="keyword">查询条件</param>
  160. /// <returns></returns>
  161. [HttpGet]
  162. [AjaxOnly]
  163. public ActionResult GetDetailList2(string itemCode, string keyword)
  164. {
  165. var data = dataItemIBLL.GetDetailList2(itemCode, keyword);
  166. return JsonResult(data);
  167. }
  168. /// <summary>
  169. /// 获取数据字典明显树形数据
  170. /// </summary>
  171. /// <param name="itemCode">分类编号</param>
  172. /// <returns></returns>
  173. [HttpGet]
  174. [AjaxOnly]
  175. public ActionResult GetDetailTree(string itemCode)
  176. {
  177. var data = dataItemIBLL.GetDetailTree(itemCode);
  178. return JsonResult(data);
  179. }
  180. /// <summary>
  181. /// 项目值不能重复
  182. /// </summary>
  183. /// <param name="keyValue">主键</param>
  184. /// <param name="F_ItemValue">项目值</param>
  185. /// <param name="itemCode">分类编码</param>
  186. /// <returns></returns>
  187. [HttpGet]
  188. [AjaxOnly]
  189. public ActionResult ExistDetailItemValue(string keyValue, string F_ItemValue, string itemCode)
  190. {
  191. bool res = dataItemIBLL.ExistDetailItemValue(keyValue, F_ItemValue, itemCode);
  192. return JsonResult(res);
  193. }
  194. /// <summary>
  195. /// 项目名不能重复
  196. /// </summary>
  197. /// <param name="keyValue">主键</param>
  198. /// <param name="F_ItemName">项目名</param>
  199. /// <param name="itemCode">分类编码</param>
  200. /// <returns></returns>
  201. [HttpGet]
  202. [AjaxOnly]
  203. public ActionResult ExistDetailItemName(string keyValue, string F_ItemName, string itemCode)
  204. {
  205. bool res = dataItemIBLL.ExistDetailItemName(keyValue, F_ItemName, itemCode);
  206. return JsonResult(res);
  207. }
  208. /// <summary>
  209. /// 保存明细数据实体
  210. /// </summary>
  211. /// <param name="keyValue">主键</param>
  212. /// <param name="itemCode">分类编码</param>
  213. /// <param name="entity">实体</param>
  214. [HttpPost]
  215. [AjaxOnly]
  216. [ValidateAntiForgeryToken]
  217. public ActionResult SaveDetailForm(string keyValue, string itemCode, DataItemDetailEntity entity)
  218. {
  219. var data = dataItemIBLL.GetClassifyEntityByCode(itemCode);
  220. entity.F_ItemId = data.F_ItemId;
  221. dataItemIBLL.SaveDetailEntity(keyValue, entity);
  222. return Success("保存成功!");
  223. }
  224. /// <summary>
  225. /// 删除明细数据
  226. /// </summary>
  227. /// <param name="keyValue">主键</param>
  228. /// <returns></returns>
  229. [HttpPost]
  230. [AjaxOnly]
  231. public ActionResult DeleteDetailForm(string keyValue)
  232. {
  233. dataItemIBLL.VirtualDeleteDetail(keyValue);
  234. return Success("删除成功!");
  235. }
  236. /// <summary>
  237. /// 获取映射数据
  238. /// </summary>
  239. /// <returns></returns>
  240. [HttpGet]
  241. [AjaxOnly]
  242. public ActionResult GetMap(string ver)
  243. {
  244. var data = dataItemIBLL.GetModelMap();
  245. string md5 = Md5Helper.Encrypt(data.ToJson(), 32);
  246. if (md5 == ver)
  247. {
  248. return Success("no update");
  249. }
  250. else
  251. {
  252. var jsondata = new
  253. {
  254. data = data,
  255. ver = md5
  256. };
  257. return JsonResult(jsondata);
  258. }
  259. }
  260. #endregion
  261. #region 明细数据应用于下拉框
  262. /// <summary>
  263. /// 获取数据字典明显根据分类编号
  264. /// </summary>
  265. /// <param name="itemCode">分类编码</param>
  266. /// <param name="parentId">父级主键</param>
  267. /// <returns></returns>
  268. [HttpGet]
  269. [AjaxOnly]
  270. public ActionResult GetDetailListByParentId(string itemCode, string parentId)
  271. {
  272. var data = dataItemIBLL.GetDetailListByParentId(itemCode, parentId);
  273. return JsonResult(data);
  274. }
  275. #endregion
  276. }
  277. }