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 { ExStationDayRunResultRepository _exStationDayRunResultRepository; public ExStationDayRunResultService(ExStationDayRunResultRepository dal) { _exStationDayRunResultRepository = dal; BaseDal = dal; } /// /// 展示换电站日运行统计结果 /// /// public async Task> ExStationDaySwapRunRes(QueryPageModel queryPageModel) { return PageResult.ConvertPage(_exStationDayRunResultRepository.QueryIPageByCause(queryPageModel, null)); } /// /// 根据id 删除换电站日运行结果 /// /// /// public async Task DeleteDaySwapRunRes(int id) { return await _exStationDayRunResultRepository.DeleteByIdAsync(id); } /// /// 根据id 批量删除换电站日运行结果 /// /// /// public async Task BatchDeleteDaySwapRunRes(List ids) { return await _exStationDayRunResultRepository.DeleteByIdsAsync(ids); } /// /// 导出换电站日运行统计结果 🔖 /// /// public async Task ExportExchangeStationDayRunResult(string language) { List exchangeStationDayRunResults = await _exStationDayRunResultRepository.QueryAsync(); var config = new MapperConfiguration(cfg => { cfg.CreateMap().ReverseMap(); cfg.CreateMap().ReverseMap(); }); IMapper mapper = config.CreateMapper(); if (language == "en") { List logExList2 = mapper.Map>(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 logExList = mapper.Map>(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" }; } } } }