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.
 
 
 
 
 

626 lines
16 KiB

using NFine.Application;
using NFine.Application.SystemManage;
using NFine.Code;
using NFine.Domain.Entity.SystemManage;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace NFine.Web.Areas.SystemManage.Controllers
{
public class CommonReportController : ControllerBase
{
private CommonReportApp App = new CommonReportApp();
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetGridJson(Pagination pagination, string sqlTxt, string DBName, string TempName)
{
DataTable dt = new DataTable();
try
{
dt = App.GetGridJson(sqlTxt, DBName, TempName, ref pagination);
}
catch (Exception ex)
{
dt = null;
return Error(ex.ToString());
}
var data = new
{
rows = dt,
total = pagination.total,
page = pagination.page,
records = pagination.records
};
return Content(data.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetGridJsonNew(Pagination pagination, string MenuID, string sqlTxt_Condition, string DBName, string TempName)
{
DataTable dt = new DataTable();
try
{
dt = App.GetGridJsonNew(MenuID, sqlTxt_Condition, DBName, TempName, ref pagination);
}
catch (Exception ex)
{
dt = null;
return Error(ex.ToString());
}
var data = new
{
rows = dt,
total = pagination.total,
page = pagination.page,
records = pagination.records
};
return Content(data.ToJson());
}
//导出
[HttpPost]
public void ExportAll(string sqlTxt, string DBName, string TempName, string MenuID)
{
sqlTxt = HttpUtility.UrlDecode(sqlTxt);
DataTable data = App.ExportAll(sqlTxt, DBName, TempName, MenuID);
if (data != null && data.Rows.Count > 0)
{
AsposeCell.Export(data);
}
}
//导出
[HttpPost]
public void ExportAllNew(string sqlTxt, string DBName, string TempName, string MenuID, string XCol)
{
sqlTxt = HttpUtility.UrlDecode(sqlTxt);
DataTable data = App.ExportAllNew(sqlTxt, DBName, TempName, MenuID, XCol);
if (data != null && data.Rows.Count > 0)
{
AsposeCell.Export(data);
}
}
//获取数据源DB
[HttpGet]
public ActionResult GetAllDataBase()
{
try
{
DataTable data = App.GetAllDataBase();
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
//获取菜单Name
[HttpGet]
public ActionResult GetMenuID(string MenuTag)
{
try
{
DataTable data = App.GetMenuID(MenuTag);
return Content(data.ToJson());
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//获取数据源DB
[HttpGet]
public ActionResult GetMenu(string MenuID)
{
try
{
DataTable Menu = App.GetMenuSQL(MenuID);
if (Menu != null && Menu.Rows.Count > 0)
{
string MenuCols = App.GetMenuColsNew(Menu.Rows[0]["SourceID"].ToString());
DataTable formatcols = App.Getformatcols(Menu.Rows[0]["SourceID"].ToString());
string UnVisiblecols = App.UnVisiblecols(Menu.Rows[0]["SourceID"].ToString());
String[] Mergercols = { };
if (!string.IsNullOrEmpty(Menu.Rows[0]["Mergercols"].ToString()))
{
Mergercols = Menu.Rows[0]["Mergercols"].ToString().Split(',').ToArray();
}
String[] footercols = { };
if (!string.IsNullOrEmpty(Menu.Rows[0]["footercols"].ToString()))
{
footercols = Menu.Rows[0]["footercols"].ToString().Split(',').ToArray();
}
var data = new
{
sqlTxt = Menu.Rows[0]["sqlTxt"].ToString(),
MenuID = Menu.Rows[0]["MenuID"].ToString(),
Cols = MenuCols,
HiddenCols = UnVisiblecols,
ReportName = Menu.Rows[0]["ReportName"].ToString(),
Mergercols = Mergercols,
XCol = Menu.Rows[0]["XCol"].ToString(),
footercols = footercols,
TempName = Menu.Rows[0]["TempName"].ToString(),
formatcols = formatcols,
footerrow = Menu.Rows[0]["footerrow"].ToString().ToBool(),
IsExistsDataSource = Menu.Rows[0]["IsExistsDataSource"].ToString(),
DBName = Menu.Rows[0]["DBName"].ToString(),
SourceID = Menu.Rows[0]["SourceID"].ToString(),
};
return Content(data.ToJson());
}
else
{
return Content("无菜单数据");
}
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//获取栏位的栏位筛选信息
[HttpGet]
public ActionResult GetColsSelectGrid(string SourceID, string ColsName, string InputKey)
{
try
{
DataTable dt = App.GetColsSelectData(SourceID, ColsName, InputKey);
if (dt != null && dt.Rows.Count > 0)
{
string Cols = App.GetColsSelectCols(dt);
var data = new
{
cols = Cols,
gridData = dt,
};
return Content(data.ToJson());
}
else
{
return Content("无菜单数据");
}
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//获取数据源sql等数据
[HttpGet]
public ActionResult GetMenuSQL(string MenuID)
{
try
{
DataTable data = App.GetMenuSQL(MenuID);
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
//提交数据源信息
[HttpPost]
public ActionResult SetDataSource(string SysDataSourceFlag, string FormatSql, string DbId, string MenuID, string DbParameters, string SourceID, string TempName, string XCol)
{
try
{
App.SetDataSource(SysDataSourceFlag, FormatSql, DbId, MenuID, DbParameters, SourceID, TempName, XCol);
return Content("操作成功");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpPost]
public ActionResult SetDataSourceText(string SysDataSourceFlag, string FormatSql, string DbId, string DbParameters, string TempName, string XCol)
{
try
{
App.SetDataSourceText(SysDataSourceFlag, FormatSql, DbId, DbParameters, TempName, XCol);
return Content("OK");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//获取过滤数据
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetFilter(Pagination pagination, string SourceID)
{
DataTable data = App.GetFilter(SourceID);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = data
};
return Content(JsonData.ToJson());
}
//获取过滤条件详情
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetCondition(Pagination pagination, string SourceID)
{
DataTable data = App.GetCondition(SourceID);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = data
};
return Content(JsonData.ToJson());
}
//设置过滤条件
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetCondition(string SourceID, string List_Condition)
{
try
{
App.SetCondition(SourceID, List_Condition);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//记录账号的过滤条件
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetDefaultRecord(string SourceID, string List_Record)
{
try
{
App.SetDefaultRecord(SourceID, List_Record);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//获取列设置信息
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetCols(Pagination pagination, string SourceID)
{
DataTable data = App.GetCols(SourceID);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = data
};
return Content(JsonData.ToJson());
}
//获取个性化信息
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetGridFormat(Pagination pagination, string ColId)
{
DataTable data = App.GetGridFormat(ColId);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = data
};
return Content(JsonData.ToJson());
}
//保存个性化设置
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetGridFormat(string ColId, string List_GridFormat)
{
try
{
App.SetGridFormat(ColId, List_GridFormat);
return Content("保存成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpPost]
[HandlerAjaxOnly]
public ActionResult ClearAll(string MenuID)
{
try
{
App.ClearAll(MenuID);
return Content("清空成功");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//重置列
[HttpPost]
[HandlerAjaxOnly]
public ActionResult ReSetCols(string MenuID)
{
try
{
App.ReSetCols(MenuID);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
//保存列设置
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetCols(string SourceID, string List_Cols)
{
try
{
App.SetCols(SourceID, List_Cols);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpGet]
public ActionResult GetColsVisible(Pagination pagination, string MenuID, string Roles, string Cols)
{
try
{
DataTable dt = App.GetColsVisible(MenuID, Roles, Cols, ref pagination);
var data = new
{
rows = dt,
total = pagination.total,
page = pagination.page,
records = pagination.records
};
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
[HttpGet]
public ActionResult GetRoles()
{
try
{
DataTable data = App.GetRoles();
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
[HttpGet]
public ActionResult GetColsFiledName(string MenuID)
{
try
{
DataTable data = App.GetColsFiledName(MenuID);
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetColsVisibleALL(string Cols, string IsCommon, string MenuID)
{
try
{
App.SetColsVisibleALL(Cols, IsCommon, MenuID);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetColsVisibleAdd(string Cols, string Roles, string MenuID)
{
try
{
App.SetColsVisibleAdd(Cols, Roles, MenuID);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpPost]
[HandlerAjaxOnly]
public ActionResult SetColsVisibleDel(string MenuID, string IDList)
{
try
{
App.SetColsVisibleDel(MenuID, IDList);
return Content("操作成功。");
}
catch (Exception ex)
{
return Content(ex.ToString());
}
}
[HttpGet]
public ActionResult GetHiddenCols(string MenuID, string Cols)
{
try
{
DataTable data = App.GetHiddenCols(MenuID, Cols);
return Content(data.ToJson());
}
catch (Exception ex)
{
return Error(ex.ToString());
}
}
[HttpGet]
public ActionResult Filter()
{
return View();
}
[HttpGet]
public ActionResult DataSource()
{
return View();
}
[HttpGet]
public ActionResult Cols()
{
return View();
}
[HttpGet]
public ActionResult Condition()
{
return View();
}
[HttpGet]
public ActionResult ColsSelect()
{
return View();
}
[HttpGet]
public ActionResult GridHeader()
{
return View();
}
[HttpGet]
public ActionResult GridFormat()
{
return View();
}
[HttpGet]
public ActionResult WatchPanel()
{
return View();
}
[HttpGet]
public ActionResult ColsVisible()
{
return View();
}
}
}