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"); } } } }