日志导出修改

master
leo 3 years ago
parent 43343af9e6
commit b348a41824

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Web.Http;
using FactorySystemBll;
using FactorySystemCommon;
@ -87,5 +90,36 @@ namespace FactorySystemApi.Controllers
}, apiResult, Request);
}
/// <summary>
/// 导出操作日志
/// </summary>
[HttpPost]
public ApiResult DownloadLogs(Dictionary<string, object> inParams)
{
ApiResult apiResult = new ApiResult();
return ExceptionHelper.TryReturnException(() =>
{
string basePath = AppDomain.CurrentDomain.BaseDirectory.Trim('\\');
string savePath = basePath + string.Format("\\File\\Temp\\logs\\");
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
int limit = inParams.ContainsKey("limit") ? int.Parse(inParams["limit"].ToString()) : 1000;
if (!Directory.Exists(savePath)) Directory.CreateDirectory(savePath);
CreateExeclFileLogs(fileName, savePath, limit);
string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/") + fileName;
apiResult.Data = url;
}, apiResult, Request);
}
private void CreateExeclFileLogs(string fName, string savePath, int limit)
{
DataTable dataList = new DataTable();
dataList = OperateLogBll.GetLogs(limit);
NPOIHelper.ExportDTtoExcel(dataList, "Sheet1", savePath + fName);
}
}
}

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Xml.Linq;
using FactorySystemCommon;
using FactorySystemModel.ResponseModel;
@ -83,5 +84,39 @@ namespace FactorySystemBll
}).ExecuteCommand();
}
public static DataTable GetLogs(int limit)
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
string strSql = @"
select TOP(" + limit + @")
CONVERT(varchar(100), a.FAddDate, 120) as '',
b.FName as '',
CASE a.FModule
when 1 THEN ''
WHEN 2 THEN '线'
WHEN 3 THEN '线'
WHEN 4 THEN ''
WHEN 5 THEN ''
WHEN 6 THEN ''
ELSE ''
END AS '',
a.FTeamID as 'ID',
c.FName as '',
LEFT(a.FDesc, 100) as ''
from
TFS_OperateLog a
left join TUser b on
a.FAddUser = b.FID
left join TBasicCode c on
a.FType = c.FCode
WHERE c.FType = 33
ORDER by
a.FAddDate desc
";
DataTable data = db.Ado.GetDataTable(strSql);
return data;
}
}
}

Loading…
Cancel
Save