You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.7 KiB
98 lines
3.7 KiB
using Common.Enum;
|
|
using Entity.Api.Resp;
|
|
using Entity.DbModel.Station;
|
|
using Entity.Dto.Req;
|
|
using HybirdFrameworkCore.Autofac.Attribute;
|
|
using HybirdFrameworkCore.Entity;
|
|
using Repository.Station;
|
|
using Repository.System;
|
|
using Service.Mgr;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using AutoMapper;
|
|
using Entity.Dto;
|
|
using Magicodes.ExporterAndImporter.Excel;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Service.Station
|
|
{
|
|
[Scope("SingleInstance")]
|
|
public class ExStationDayRunResultService : BaseServices<ExchangeStationDayRunResult>
|
|
{
|
|
ExStationDayRunResultRepository _exStationDayRunResultRepository;
|
|
public ExStationDayRunResultService(ExStationDayRunResultRepository dal)
|
|
{
|
|
_exStationDayRunResultRepository = dal;
|
|
BaseDal = dal;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 展示换电站日运行统计结果
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public async Task<PageResult<ExchangeStationDayRunResult>> ExStationDaySwapRunRes(QueryPageModel queryPageModel)
|
|
{
|
|
return PageResult<ExchangeStationDayRunResult>.ConvertPage(_exStationDayRunResultRepository.QueryIPageByCause(queryPageModel, null));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据id 删除换电站日运行结果
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public async Task<bool> DeleteDaySwapRunRes(int id)
|
|
{
|
|
return await _exStationDayRunResultRepository.DeleteByIdAsync(id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据id 批量删除换电站日运行结果
|
|
/// </summary>
|
|
/// <param name="ids"></param>
|
|
/// <returns></returns>
|
|
public async Task<bool> BatchDeleteDaySwapRunRes(List<int> ids)
|
|
{
|
|
return await _exStationDayRunResultRepository.DeleteByIdsAsync(ids);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 导出换电站日运行统计结果 🔖
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public async Task<IActionResult> ExportExchangeStationDayRunResult(string language)
|
|
{
|
|
List<ExchangeStationDayRunResult> exchangeStationDayRunResults = await _exStationDayRunResultRepository.QueryAsync();
|
|
|
|
var config = new MapperConfiguration(cfg =>
|
|
{
|
|
cfg.CreateMap<ExchangeStationDayRunDto, ExchangeStationDayRunResult>().ReverseMap();
|
|
cfg.CreateMap<ExchangeStationDayRunDto2, ExchangeStationDayRunResult>().ReverseMap();
|
|
});
|
|
|
|
IMapper mapper = config.CreateMapper();
|
|
|
|
if (language == "en")
|
|
{
|
|
List<ExchangeStationDayRunDto2> logExList2 = mapper.Map<List<ExchangeStationDayRunDto2>>(exchangeStationDayRunResults);
|
|
IExcelExporter excelExporter = new ExcelExporter();
|
|
var res = await excelExporter.ExportAsByteArray(logExList2);
|
|
return new FileStreamResult(new MemoryStream(res), "application/octet-stream")
|
|
{ FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_Daily_Operation_Statistics.xlsx" };
|
|
}
|
|
else
|
|
{
|
|
List<ExchangeStationDayRunDto> logExList = mapper.Map<List<ExchangeStationDayRunDto>>(exchangeStationDayRunResults);
|
|
IExcelExporter excelExporter = new ExcelExporter();
|
|
var res = await excelExporter.ExportAsByteArray(logExList);
|
|
return new FileStreamResult(new MemoryStream(res), "application/octet-stream")
|
|
{ FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "换电站日运行统计.xlsx" };
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|