using Cksoft.Data; using Cksoft.Data.Repository; using Cksoft.Unity; using DllEapCommon.NPOI; using DllEapDal.OFILM; using DllEapEntity.Dtos; using DllEapEntity.OFILM; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Threading.Tasks; namespace DllEapBll.OFILM { [Route("eap/api/[controller]/[action]")] [ApiController] [Authorize] public class MacRunDataController : ControllerBase { public EapResponse GetData(DateTime startTime, DateTime endTime, string filter, string sort, int pageIndex = 1, int pageSize = 5, string sortField = "FCOde", string sortOrder = "ascend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } int start, end; start = (pageIndex - 1) * pageSize + 1; end = start + pageSize; string errorinfo = string.Empty; int total = 0; var res = new EapResponse() { Code = 1, Msg = string.Empty }; using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new MacRunDataDal(db); // endTime = endTime.AddHours(1); var data = dal.GetComplexData(startTime, endTime, filter, start, pageSize, ref errorinfo, out total); res.Data = data; res.Total = total; return res; } } [HttpGet] public LayuiModel GetCountWeek(DateTime startTime, DateTime endTime, string filter, string sort, int pageIndex = 1, int pageSize = 5) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new MacRunDataDal(db); int total = 0; return dal.GetCountWeek(startTime, endTime, filter, pageIndex, pageSize, out total); } } [HttpPost] public async Task ExportWeek([FromBody] dynamic queryData) { var startTime = Convert.ToDateTime(queryData.startTime); var endTime = Convert.ToDateTime(queryData.endTime); var filter = Convert.ToString(queryData.filter); string errorinfo = string.Empty; int total = 0; using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new MacRunDataDal(db); // endTime = endTime.AddHours(1); IEnumerable data = dal.GetCountWeek(startTime, endTime, filter, 1, 1000000, out total).data; if (data == null) { return null; } var buffer = DataExportHelper.ExportWeek(data, ref errorinfo); MemoryStream ms = new MemoryStream(); buffer.Write(ms); ms.Dispose(); ms.Close(); await Task.CompletedTask; return File(ms.ToArray(), "application/octet-stream"); } } [HttpPost] public IActionResult Export([FromBody] dynamic queryData) { var startTime = Convert.ToDateTime(queryData.startTime); var endTime = Convert.ToDateTime(queryData.endTime); var filter = Convert.ToString(queryData.filter); string errorinfo = string.Empty; int total = 0; using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new MacRunDataDal(db); // endTime = endTime.AddHours(1); var data = dal.GetComplexData(startTime, endTime, filter, 1, 1000000, ref errorinfo, out total); if (data == null) { return null; } var buffer = DataExportHelper.ExportRunDataToExcel(data, ref errorinfo); if (buffer == null) { return null; } MemoryStream ms = new MemoryStream(); ms.Position = 0; ms.Write(buffer, 0, buffer.Length); ms.Dispose(); ms.Close(); return File(buffer, "application/octet-stream"); } } } }