ReportController.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using LeaRun.Application.Busines;
  2. using LeaRun.Application.Entity.ReportManage;
  3. using LeaRun.Util;
  4. using LeaRun.Util.WebControl;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Web;
  9. using System.Web.Mvc;
  10. using System.Text;
  11. using LeaRun.Application.Busines.ReportManage;
  12. using LeaRun.Application.Entity.AuthorizeManage;
  13. using LeaRun.Application.Busines.AuthorizeManage;
  14. using LeaRun.Application.Code;
  15. namespace LeaRun.Application.Web.Areas.ReportManage.Controllers
  16. {
  17. /// <summary>
  18. /// 版 本 6.1
  19. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  20. /// 创建人:刘晓雷
  21. /// 日 期:2016.1.14 14:27
  22. /// 描 述:报表管理
  23. /// </summary>
  24. public class ReportController : MvcControllerBase
  25. {
  26. RptTempBLL rptTempBLL = new RptTempBLL();
  27. ModuleBLL modulebll = new ModuleBLL();
  28. #region 视图功能
  29. /// <summary>
  30. /// 报表管理页面
  31. /// </summary>
  32. /// <returns></returns>
  33. [HttpGet]
  34. [HandlerAuthorize(PermissionMode.Enforce)]
  35. public ActionResult Index()
  36. {
  37. return View();
  38. }
  39. /// <summary>
  40. /// 报表表单页面
  41. /// </summary>
  42. /// <returns></returns>
  43. [HttpGet]
  44. [HandlerAuthorize(PermissionMode.Enforce)]
  45. public ActionResult ReportGuide()
  46. {
  47. return View();
  48. }
  49. /// <summary>
  50. /// 报表预览
  51. /// </summary>
  52. /// <returns></returns>
  53. [HttpGet]
  54. [HandlerAuthorize(PermissionMode.Enforce)]
  55. public ActionResult ReportPreview()
  56. {
  57. return View();
  58. }
  59. #endregion
  60. #region 获取数据
  61. /// <summary>
  62. /// 获得报表列表
  63. /// </summary>
  64. /// <param name="queryJson">查询参数</param>
  65. /// <returns>返回列表Json</returns>
  66. public ActionResult GetListJson(string queryJson)
  67. {
  68. return Content(rptTempBLL.GetList(queryJson).ToJson());
  69. }
  70. /// <summary>
  71. /// 获得报表实体
  72. /// </summary>
  73. /// <param name="keyValue">主键值</param>
  74. /// <returns>返回对象Json</returns>
  75. [HttpGet]
  76. public ActionResult GetFormJson(string keyValue)
  77. {
  78. var data = rptTempBLL.GetEntity(keyValue);
  79. return Content(data.ToJson());
  80. }
  81. /// <summary>
  82. /// 获得报表数据
  83. /// </summary>
  84. /// <param name="reportId">报表主键值</param>
  85. /// <returns>返回对象Json</returns>
  86. [HttpGet]
  87. public ActionResult GetReportJson(string reportId)
  88. {
  89. var reportJson = rptTempBLL.GetReportData(reportId);
  90. return Content(reportJson);
  91. }
  92. #endregion
  93. #region 提交数据
  94. /// <summary>
  95. /// 删除数据
  96. /// </summary>
  97. /// <param name="keyValue">主键值</param>
  98. /// <returns></returns>
  99. [HttpPost]
  100. [ValidateAntiForgeryToken]
  101. [AjaxOnly]
  102. [HandlerAuthorize(PermissionMode.Enforce)]
  103. public ActionResult RemoveForm(string keyValue)
  104. {
  105. rptTempBLL.RemoveForm(keyValue);
  106. return Success("删除成功。");
  107. }
  108. /// <summary>
  109. /// 保存表单(新增、修改)
  110. /// </summary>
  111. /// <param name="keyValue">主键值</param>
  112. /// <param name="tempJson">对象Json</param>
  113. /// <returns></returns>
  114. [HttpPost]
  115. [ValidateAntiForgeryToken]
  116. [AjaxOnly]
  117. public ActionResult SaveForm(string keyValue, string tempJson)
  118. {
  119. dynamic RptTempJson = tempJson.ToJson();
  120. RptTempEntity rptTempEntity = new RptTempEntity();
  121. ModuleEntity moduleEntity = new ModuleEntity();
  122. rptTempEntity.EnCode = RptTempJson.EnCode;
  123. rptTempEntity.Description = RptTempJson.Description;
  124. rptTempEntity.TempType = RptTempJson.TempType;
  125. rptTempEntity.FullName = RptTempJson.FullName;
  126. rptTempEntity.TempCategory = RptTempJson.TempCategory;
  127. StringBuilder rptJson = new StringBuilder();
  128. rptJson.Append("{");
  129. rptJson.AppendFormat(" \"title\":\"{0}\",", RptTempJson.title);//标题
  130. rptJson.AppendFormat(" \"sqlString\":\"{0}\",", RptTempJson.sqlString);
  131. rptJson.AppendFormat(" \"ParentId\":\"{0}\",", RptTempJson.ParentId);
  132. rptJson.AppendFormat(" \"Icon\":\"{0}\",", RptTempJson.Icon);
  133. rptJson.AppendFormat(" \"Description\":\"{0}\",", RptTempJson.Description);
  134. rptJson.AppendFormat(" \"listSqlString\":\"{0}\"", RptTempJson.listSqlString);
  135. rptJson.Append(" }"); rptJson.Replace("\n", "");
  136. rptTempEntity.ParamJson = rptJson.ToString();
  137. string parentId = RptTempJson.ParentId;
  138. if (!string.IsNullOrEmpty(parentId))
  139. {
  140. moduleEntity.Create();
  141. moduleEntity.ParentId = parentId;
  142. moduleEntity.Icon = RptTempJson.Icon;
  143. moduleEntity.Description = RptTempJson.Description;
  144. moduleEntity.IsMenu = 1;
  145. moduleEntity.FullName = rptTempEntity.FullName;
  146. moduleEntity.EnCode = rptTempEntity.EnCode;
  147. moduleEntity.EnabledMark = 1;
  148. moduleEntity.Target = "iframe";
  149. moduleEntity.SortCode = modulebll.GetSortCode();
  150. }
  151. rptTempBLL.SaveForm(keyValue, rptTempEntity, moduleEntity);
  152. return Success("操作成功。");
  153. }
  154. #endregion
  155. }
  156. }