using AutoMapper; using Cksoft.Data; using Cksoft.Data.Repository; using DllEapCommon.NPOI; using DllEapDal; using DllEapDal.OFILM; using DllEapEntity; 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.Linq; using System.Text; using System.Threading.Tasks; namespace DllEapBll.Controllers { /// /// DA 机台首件参数及稼动参数记录 /// [Route("eap/api/[controller]/[action]")] [ApiController] [Authorize] public class DaSampleController : ControllerBase { private IMapper _mapper; IDatabase db; public DaSampleController(IMapper mapper) { _mapper = mapper; } /// /// DA 首件参数记录列表 /// /// /// /// /// /// /// /// /// [HttpGet] public LayuiModel Get(string maccode, string macnum, string type, string result, DateTime? start, DateTime? end, int pageIndex = 1, int pageSize = 20) { using (db = DbFactory.Base("eapslave")) { DaSampleDal dal = new DaSampleDal(db); var total = 0; var datas = dal.Get(maccode, macnum, type, result, start, end, pageIndex, pageSize, out total); return new LayuiModel { code = 1, count = total, data = datas }; } } /// /// DA sample点检导出 /// /// /// [HttpPost] public async Task ExportDaSampl(IDictionary filterInfo) { try { string maccode = string.Empty; string macnum = string.Empty; string type = string.Empty; string result = string.Empty; int pageIndex = 1, pageSize = 100000; DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")); DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); if (filterInfo.ContainsKey("maccode")) { maccode = filterInfo["maccode"]; } if (filterInfo.ContainsKey("macnum")) { macnum = filterInfo["macnum"]; } if (filterInfo.ContainsKey("type")) { type = filterInfo["type"]; } if (filterInfo.ContainsKey("result")) { result = filterInfo["result"]; } if (filterInfo.ContainsKey("start")) { start = Convert.ToDateTime(filterInfo["start"]); } if (filterInfo.ContainsKey("end")) { end = Convert.ToDateTime(filterInfo["end"]); } IEnumerable< Sample> dto = Get(maccode, macnum, type, result, start, end, pageIndex, pageSize).data; var list = _mapper.Map>(dto).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"); } catch (Exception ex) { throw; } } /// /// DA 稼动参数记录列表 /// /// /// /// /// /// /// /// /// [HttpGet] public LayuiModel GetParameter(string maccode, string macnum, string type, DateTime? start, DateTime? end, int pageIndex = 1, int pageSize = 20) { using (db = DbFactory.Base("eapslave")) { DaSampleDal dal = new DaSampleDal(db); int total = 0; var datas = dal.GetParameter(maccode, macnum, type, start, end, pageIndex, pageSize, out total); return new LayuiModel() { code = 1, count = total, data = datas }; } } /// /// DA 稼动参数记录导出 /// /// /// [HttpPost] public async Task ExportParameters(IDictionary filterInfo) { string maccode = string.Empty; string macnum = string.Empty; string type = string.Empty; int pageIndex = 1, pageSize = 100000; DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")); DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); if (filterInfo.ContainsKey("maccode")) { maccode = filterInfo["maccode"]; } if (filterInfo.ContainsKey("macnum")) { macnum = filterInfo["macnum"]; } if (filterInfo.ContainsKey("type")) { type = filterInfo["type"]; } if (filterInfo.ContainsKey("start")) { start = Convert.ToDateTime(filterInfo["start"]); } if (filterInfo.ContainsKey("end")) { end = Convert.ToDateTime(filterInfo["end"]); } var dto = GetParameter(maccode, macnum, type, start, end, pageIndex, pageSize).data; var list = _mapper.Map>(dto).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"); } } }