2024-05-20 14:56:49 +00:00
|
|
|
|
using langguanApi.Extensions.AutoDI;
|
|
|
|
|
|
using langguanApi.Model;
|
|
|
|
|
|
using langguanApi.Model.Dto;
|
2024-06-10 09:55:56 +00:00
|
|
|
|
using langguanApi.Model.Entity;
|
|
|
|
|
|
using Npoi.Mapper;
|
2024-05-20 14:56:49 +00:00
|
|
|
|
using System.Linq.Expressions;
|
|
|
|
|
|
|
|
|
|
|
|
namespace langguanApi.Service
|
|
|
|
|
|
{
|
|
|
|
|
|
[ServiceInjection(InjectionType.Transient)]
|
|
|
|
|
|
public class AlertService : BaseService<Alert>
|
|
|
|
|
|
{
|
2024-05-21 15:53:40 +00:00
|
|
|
|
public AlertService(IConfiguration config) : base(config, nameof(Alert))
|
2024-05-20 14:56:49 +00:00
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 新加
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="input"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<ApiResult> Add(Alert input)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (input != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
await base.CreateAsync(input);
|
|
|
|
|
|
return new ApiResult { code = 0, msg = "" };
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ApiResult { code = -1, msg = "" }; ;
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
2024-05-21 15:53:40 +00:00
|
|
|
|
/// 首页数据,最近7天的
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<object> IndexData()
|
|
|
|
|
|
{
|
|
|
|
|
|
Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false;
|
|
|
|
|
|
return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime);
|
|
|
|
|
|
}
|
2024-06-10 09:55:56 +00:00
|
|
|
|
public async Task<byte[]> ExportData(DateTime start, DateTime end)
|
|
|
|
|
|
{
|
|
|
|
|
|
Expression<Func<Alert, bool>> exp = filter => filter.CreateDateTime >= start
|
|
|
|
|
|
&& filter.CreateDateTime <= end
|
|
|
|
|
|
&& filter.IsDelete == false;
|
|
|
|
|
|
var list = await base.GetListWithExp(exp);
|
|
|
|
|
|
var mapper = new Mapper();
|
|
|
|
|
|
mapper.Map<Alert>("报警开始时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
|
|
.Map<Alert>("设备名称", s => s.deviceName)
|
|
|
|
|
|
// .Map<Alert>("工序", s => s.)
|
|
|
|
|
|
.Map<Ledger>("新能源", s => s.NewCar ? "是" : "否")
|
|
|
|
|
|
.Map<Ledger>("燃油车", s => s.Emissions)
|
|
|
|
|
|
.Map<Ledger>("出厂日间 ", s => s.OutTime)
|
|
|
|
|
|
.Format<Alert>("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime);
|
|
|
|
|
|
MemoryStream stream = new MemoryStream();
|
|
|
|
|
|
mapper.Save(stream, list.ToList(), sheetName: "sheet1", leaveOpen: true);
|
|
|
|
|
|
return stream.ToArray();
|
|
|
|
|
|
}
|
2024-05-21 15:53:40 +00:00
|
|
|
|
/// <summary>
|
2024-05-20 14:56:49 +00:00
|
|
|
|
/// 分页取数据
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="input"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<object> GetPage(reqpage input)
|
|
|
|
|
|
{
|
2024-05-29 15:53:04 +00:00
|
|
|
|
Expression<Func<Alert, bool>> exp = filter => filter.IsDelete == false;
|
2024-05-20 14:56:49 +00:00
|
|
|
|
return await base.GetPager(new ReqPaing()
|
|
|
|
|
|
{
|
|
|
|
|
|
pageSize = input.pageSize,
|
|
|
|
|
|
current = input.current
|
|
|
|
|
|
}, exp);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|