48 lines
1.9 KiB
C#
48 lines
1.9 KiB
C#
using langguanApi.Extensions.AutoDI;
|
|
using langguanApi.Model;
|
|
using langguanApi.Model.Entity;
|
|
using Npoi.Mapper;
|
|
using System.Collections.Generic;
|
|
using System.Linq.Expressions;
|
|
|
|
namespace langguanApi.Service
|
|
{
|
|
[ServiceInjection(InjectionType.Transient)]
|
|
public class DetectionService : BaseService<Detection>
|
|
{
|
|
public DetectionService(IConfiguration config) : base(config, nameof(Detection))
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// //获取最新的数据
|
|
/// </summary>
|
|
/// <param name="num"></param>
|
|
/// <returns></returns>
|
|
public async Task<object> GetIndexData(int num = 50)
|
|
{
|
|
Expression<Func<Detection, bool>> exp = filter => true;
|
|
var result = (await GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime).Take(num).ToList();
|
|
return result;
|
|
}
|
|
/// <summary>
|
|
/// 导出数据
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public async Task<byte[]> Export(DateTime start, DateTime end)
|
|
{
|
|
Expression<Func<Detection, bool>> exp = filter => filter.CreateDateTime >= start && filter.CreateDateTime <= end;
|
|
var result = (await GetListWithExp(exp)).OrderBy(s => s.CreateDateTime).ToList();
|
|
var mapper = new Mapper();
|
|
mapper.Map<Detection>("时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss"))
|
|
.Map<Detection>("工序", s => s.OrganizedName)
|
|
.Map<Detection>("设备名称", s => s.DeviceName)
|
|
.Map<Detection>("项目", s => s.keyword)
|
|
.Map<Detection>("检测值", s => s.deviceValue)
|
|
.Format<Detection>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
|
|
MemoryStream stream = new MemoryStream();
|
|
mapper.Save(stream, result.ToList(), sheetName: "sheet1", leaveOpen: true);
|
|
return stream.ToArray();
|
|
}
|
|
}
|
|
}
|