using AutoMapper;
using Cksoft.Data;
using Cksoft.Data.Repository;
using Cksoft.Unity;
using Cksoft.Unity.Log4NetConfig;
using DllEapCommon.NPOI;
using DllEapDal.OFILM;
using DllEapDal.OFILM.MES;
using DllEapEntity;
using DllEapEntity.Dtos;
using DllEapEntity.OFILM;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DllEapBll.OFILM
{
[Route("eap/api/[controller]/[action]")]
public class OfAppletlogController : ControllerBase
{
private IMapper _mapper;
public OfAppletlogController(IMapper mapper)
{
_mapper = mapper;
}
///
/// 待机程序日志列表
///
///
///
///
///
///
///
[HttpGet]
public LayuiModel Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "RecTime", string sortOrder = "ascend")
{
if (sortOrder == "descend")
{
sortOrder = "desc";
}
else
{
sortOrder = "asc";
}
int start, end;
start = (pageIndex - 1) * pageSize + 1;
end = start + pageSize;
using (IDatabase db = DbFactory.Base("eapslave"))
{
db.BeginTrans();
var dal = new OfAppletlogDal(db);
string errorinfo = string.Empty;
var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo);
var total = dal.GetCount(filter);
return new LayuiModel
{
code = 1,
count = total,
data = roles,
msg = errorinfo
};
}
}
///
/// 待机程序日志导出
///
///
///
[HttpPost]
public async Task Export(IDictionary filterInfo)
{
var filter = string.Empty;
if (filterInfo.ContainsKey("filter"))
filter = filterInfo["filter"];
/*var roles = Get(filter, 1, 10000).data;*/
using (IDatabase db = DbFactory.Base("eapslave"))
{
int pageIndex = 1, pageSize = 10000;
var start = (pageIndex - 1) * pageSize + 1;
var dal = new OfAppletlogDal(db);
string errorinfo = string.Empty;
var roles = dal.Get(start, pageSize, "asc", "RecTime", filter, errorinfo);
var list = _mapper.Map>(roles).ToList();
var book = DataExportHelper.EntityToExcel(list);
MemoryStream ms = new MemoryStream();
ms.Position = 0;
book.Write(ms);
ms.Dispose();
ms.Close();
await Task.CompletedTask;
return File(ms.ToArray(), "application/octet-stream");
}
}
}
}