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