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