增加2021和2022年记录可以导出

This commit is contained in:
ky_fanly
2023-10-08 15:13:07 +08:00
parent 8acd753c27
commit 9e6a200a7a
12 changed files with 564 additions and 13 deletions

View File

@@ -28,11 +28,19 @@ namespace Vote.Services.ApiController
private readonly IRepository<Entities.Projects> rep_Projects;
private readonly IRepository<Entities.Experts> rep_Experts;
private readonly IRepository<Entities.VoteRecords> rep_VoteRecords;
public ProjectsService(IRepository<Entities.Projects> _rep_Projects, IRepository<Entities.Experts> _rep_Experts, IRepository<Entities.VoteRecords> _rep_VoteRecords)
private readonly IRepository<Entities.Projects_2021> rep_Projects2021;
private readonly IRepository<Entities.VoteRecords_2021> rep_VoteRecords2021;
private readonly IRepository<Entities.Projects_2022> rep_Projects2022;
private readonly IRepository<Entities.VoteRecords_2022> rep_VoteRecords2022;
public ProjectsService(IRepository<Entities.Projects> _rep_Projects, IRepository<Entities.Experts> _rep_Experts, IRepository<Entities.VoteRecords> _rep_VoteRecords, IRepository<Entities.Projects_2021> _rep_Projects2021, IRepository<Entities.VoteRecords_2021> _rep_VoteRecords2021, IRepository<Entities.Projects_2022> _rep_Projects2022, IRepository<Entities.VoteRecords_2022> _rep_VoteRecords2022)
{
rep_Projects = _rep_Projects;
rep_Experts = _rep_Experts;
rep_VoteRecords = _rep_VoteRecords;
rep_Projects2021 = _rep_Projects2021;
rep_VoteRecords2021 = _rep_VoteRecords2021;
rep_Projects2022 = _rep_Projects2022;
rep_VoteRecords2022 = _rep_VoteRecords2022;
}
/// <summary>
@@ -104,8 +112,8 @@ namespace Vote.Services.ApiController
}
private async Task<List<ProjectsList2Output>> GetVoteData()
{
var query = from a in rep_Projects.DetachedEntities
join b in rep_VoteRecords.DetachedEntities
var query = from a in rep_Projects2022.DetachedEntities
join b in rep_VoteRecords2022.DetachedEntities
on a.Id equals b.project_id into grouping
from p in grouping.DefaultIfEmpty()
group new { a, p } by new { a.Id, a.name, a.serial_number, a.type } into pp
@@ -169,6 +177,7 @@ namespace Vote.Services.ApiController
public async Task<dynamic> Download()
{
var data = await GetVoteData();
//var filepath = Tools.ExcelHelper.WriteTemplate(data, 4, "C");
var filepath = Tools.ExcelHelper.WriteTemplate(data, 5, "C");
return new FileStreamResult(new FileStream(filepath, FileMode.Open), "application/octet-stream") { FileDownloadName = filepath };
}