using AutoMapper; using Cksoft.Data; using Cksoft.Data.Repository; using DllEapCommon.NPOI; using DllEapDal; using DllEapEntity; using DllEapEntity.Dtos; 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 { /// /// 机台改机记录 /// [Route("eap/api/[controller]/[action]")] [ApiController] [Authorize] public class MachineChangeController : ControllerBase { IDatabase db; private IMapper _mapper; public MachineChangeController(IMapper mapper) { _mapper = mapper; } /// /// 获取改机记录列表 /// /// /// /// /// /// /// /// /// /// /// /// [HttpGet] public LayuiModel Get(string factory, string plant, string floor, string maccode, string macnum, DateTime? start, DateTime? end, string pcode = "AA", int pageIndex = 1, int pageSize = 20) { using (db = DbFactory.Base("eap")) { var dal = new MachineChangeDal(db); var total = 0; var datas = dal.Get(factory, plant, floor, pcode, maccode, macnum, start, end, out total, pageIndex, pageSize); return new LayuiModel { code = 1, count = total, data = datas }; } } /// /// 改机报表导出 /// /// /// [HttpPost] public async Task ExportGet(IDictionary filterInfo) { string factory = string.Empty, plant = string.Empty, floor = string.Empty, maccode = string.Empty, macnum = string.Empty; DateTime start=DateTime.Now.AddDays(-7), end=DateTime.Now; string pcode = "AA"; int pageIndex = 1; int pageSize = 20; if (filterInfo.ContainsKey("factory")) { factory = filterInfo["factory"]; } if (filterInfo.ContainsKey("plant")) { plant = filterInfo["plant"]; } if (filterInfo.ContainsKey("floor")) { floor = filterInfo["floor"]; } if (filterInfo.ContainsKey("maccode")) { maccode = filterInfo["maccode"]; } if (filterInfo.ContainsKey("macnum")) { macnum = filterInfo["macnum"]; } if (filterInfo.ContainsKey("pcode")) { pcode = filterInfo["pcode"]; } if (filterInfo.ContainsKey("start")) { start = Convert.ToDateTime(filterInfo["start"]); } if (filterInfo.ContainsKey("end")) { end = Convert.ToDateTime(filterInfo["end"]); } if (filterInfo.ContainsKey("pageIndex")) { pageIndex =Convert.ToInt32(filterInfo["pageIndex"]) ; } if (filterInfo.ContainsKey("pageSize")) { pageSize = Convert.ToInt32(filterInfo["pageSize"]); } var roles = Get(factory, plant, floor, maccode, macnum, start, end, pcode, pageIndex, pageSize).data; 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"); } /// /// 获取改机记录图表数据 /// /// /// /// /// /// /// /// /// /// [HttpGet] public ChartDto GetChart(string factory, string plant, string floor, string maccode, string macnum, DateTime? start, DateTime? end, string pcode = "AA") { using (db = DbFactory.Base("eapslave")) { var dal = new MachineChangeDal(db); var dto = dal.CreateCategory(factory, plant, floor, maccode, macnum, pcode, start, end); return dto; } } } }