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.

DatabaseTableController.cs 7.9 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. using Learun.Application.Base.SystemModule;
  2. using Learun.Util;
  3. using System.Collections.Generic;
  4. using System.Web.Mvc;
  5. namespace Learun.Application.Web.Areas.LR_SystemModule.Controllers
  6. {
  7. /// <summary>
  8. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  9. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  10. /// 创建人:陈彬彬
  11. /// 日 期:2017.04.01
  12. /// 描 述:数据表管理
  13. /// </summary>
  14. public class DatabaseTableController : MvcControllerBase
  15. {
  16. private DatabaseTableIBLL databaseTableIBLL = new DatabaseTableBLL();
  17. private DbDraftIBLL dbDraftIBLL = new DbDraftBLL();
  18. #region 获取视图
  19. /// <summary>
  20. /// 主页面管理
  21. /// </summary>
  22. /// <returns></returns>
  23. [HttpGet]
  24. public ActionResult Index()
  25. {
  26. return View();
  27. }
  28. /// <summary>
  29. /// 表单页面管理
  30. /// </summary>
  31. /// <returns></returns>
  32. [HttpGet]
  33. public ActionResult Form() {
  34. return View();
  35. }
  36. /// <summary>
  37. /// 表数据查询
  38. /// </summary>
  39. /// <returns></returns>
  40. [HttpGet]
  41. public ActionResult TableIndex() {
  42. return View();
  43. }
  44. /// <summary>
  45. /// 新增、编辑表页面
  46. /// </summary>
  47. /// <returns></returns>
  48. [HttpGet]
  49. public ActionResult EditTableForm()
  50. {
  51. return View();
  52. }
  53. /// <summary>
  54. /// 复制表
  55. /// </summary>
  56. /// <returns></returns>
  57. [HttpGet]
  58. public ActionResult CopyTableForm()
  59. {
  60. return View();
  61. }
  62. /// <summary>
  63. /// 草稿管理
  64. /// </summary>
  65. /// <returns></returns>
  66. [HttpGet]
  67. public ActionResult DraftForm()
  68. {
  69. return View();
  70. }
  71. #endregion
  72. #region 获取数据
  73. /// <summary>
  74. /// 获取数据表数据
  75. /// </summary>
  76. /// <param name="databaseLinkId">连接串Id</param>
  77. /// <param name="tableName">表名</param>
  78. /// <returns></returns>
  79. [HttpGet]
  80. [AjaxOnly]
  81. public ActionResult GetList(string databaseLinkId,string tableName)
  82. {
  83. var data = databaseTableIBLL.GetTableList(databaseLinkId, tableName);
  84. return JsonResult(data);
  85. }
  86. /// <summary>
  87. /// 获取表的字段数据
  88. /// </summary>
  89. /// <param name="databaseLinkId">连接串Id</param>
  90. /// <param name="tableName">表名</param>
  91. /// <returns></returns>
  92. [HttpGet]
  93. [AjaxOnly]
  94. public ActionResult GetDraftList(string queryJson)
  95. {
  96. var data = dbDraftIBLL.GetList(queryJson);
  97. return JsonResult(data);
  98. }
  99. /// <summary>
  100. /// 获取表的字段数据
  101. /// </summary>
  102. /// <param name="databaseLinkId">连接串Id</param>
  103. /// <param name="tableName">表名</param>
  104. /// <returns></returns>
  105. [HttpGet]
  106. [AjaxOnly]
  107. public ActionResult GetFieldList(string databaseLinkId, string tableName) {
  108. var data = databaseTableIBLL.GetTableFiledList(databaseLinkId, tableName);
  109. return JsonResult(data);
  110. }
  111. /// <summary>
  112. /// 获取表数据
  113. /// </summary>
  114. /// <param name="databaseLinkId">连接串ID</param>
  115. /// <param name="tableName">表名</param>
  116. /// <param name="field">字段名</param>
  117. /// <param name="logic">逻辑</param>
  118. /// <param name="keyword">关键字</param>
  119. /// <param name="pagination">分页参数</param>
  120. /// <returns></returns>
  121. [HttpGet]
  122. [AjaxOnly]
  123. public ActionResult GetTableDataList(string databaseLinkId, string tableName, string field, string logic, string keyword, string pagination)
  124. {
  125. Pagination paginationobj = pagination.ToObject<Pagination>();
  126. var data = databaseTableIBLL.GetTableDataList(databaseLinkId, tableName, field, logic, keyword, paginationobj);
  127. var jsonData = new
  128. {
  129. rows = data,
  130. total = paginationobj.total,
  131. page = paginationobj.page,
  132. records = paginationobj.records,
  133. };
  134. return JsonResult(jsonData);
  135. }
  136. /// <summary>
  137. /// 获取表数据
  138. /// </summary>
  139. /// <param name="databaseLinkId">连接串ID</param>
  140. /// <param name="tableName">表名</param>
  141. /// <returns></returns>
  142. [HttpGet]
  143. [AjaxOnly]
  144. public ActionResult GetTableDataAllList(string databaseLinkId, string tableName)
  145. {
  146. var data = databaseTableIBLL.GetTableDataList(databaseLinkId, tableName);
  147. return JsonResult(data);
  148. }
  149. /// <summary>
  150. /// 获取表数据(树形数据)
  151. /// </summary>
  152. /// <param name="parentId">连接串主键</param>
  153. /// <returns></returns>
  154. [HttpGet]
  155. [AjaxOnly]
  156. public ActionResult GetTreeList(string parentId)
  157. {
  158. var data = databaseTableIBLL.GetTreeList(parentId);
  159. return JsonResult(data);
  160. }
  161. /// <summary>
  162. /// 获取表字段树形数据
  163. /// </summary>
  164. /// <param name="databaseLinkId">连接串主键</param>
  165. /// <param name="tableName">表名</param>
  166. /// <returns></returns>
  167. public ActionResult GetFieldTreeList(string databaseLinkId, string tableName)
  168. {
  169. var data = databaseTableIBLL.GetFiledTreeList(databaseLinkId, tableName);
  170. return JsonResult(data);
  171. }
  172. /// <summary>
  173. /// 给定查询语句查询字段
  174. /// </summary>
  175. /// <param name="databaseLinkId">连接串主键</param>
  176. /// <param name="strSql">sql语句</param>
  177. /// <returns></returns>
  178. public ActionResult GetSqlColName(string databaseLinkId, string strSql)
  179. {
  180. var data = databaseTableIBLL.GetSqlColName(databaseLinkId, strSql);
  181. return JsonResult(data);
  182. }
  183. #endregion
  184. #region 提交数据
  185. /// <summary>
  186. /// 保存列数据(新增、修改)
  187. /// <param name="entity">表类</param>
  188. /// <summary>
  189. /// <returns></returns>
  190. [HttpPost]
  191. [AjaxOnly]
  192. public ActionResult SaveDraft(string keyValue, DbDraftEntity entity)
  193. {
  194. dbDraftIBLL.SaveEntity(keyValue, entity);
  195. return Success("保存草稿成功", entity.F_Id);
  196. }
  197. /// <summary>
  198. /// 保存列数据(新增、修改)
  199. /// <param name="entity">表类</param>
  200. /// <summary>
  201. /// <returns></returns>
  202. [HttpPost]
  203. [AjaxOnly]
  204. public ActionResult DeleteDraft(string keyValue)
  205. {
  206. dbDraftIBLL.DeleteEntity(keyValue);
  207. return Success("删除草稿成功");
  208. }
  209. /// <summary>
  210. /// 保存表数据(新增)
  211. /// <param name="entity">表类</param>
  212. /// <summary>
  213. /// <returns></returns>
  214. [HttpPost]
  215. [AjaxOnly]
  216. public ActionResult SaveTable(string databaseLinkId, string draftId, string tableName,string tableRemark,string strColList)
  217. {
  218. List<DatabaseTableFieldModel> colList = strColList.ToObject<List<DatabaseTableFieldModel>>();
  219. string res = databaseTableIBLL.CreateTable(databaseLinkId, tableName, tableRemark, colList);
  220. if (res == "建表成功")
  221. {
  222. if (!string.IsNullOrEmpty(draftId))
  223. {
  224. dbDraftIBLL.DeleteEntity(draftId);
  225. }
  226. return Success("创建成功");
  227. }
  228. else {
  229. return Fail(res);
  230. }
  231. }
  232. #endregion
  233. }
  234. }