DD.WellWorkover.Cloud/AsbCloudInfrastructure/Services/AutoGeneratedDailyReports/AutogeneratedDailyReportBlocks/SubsystemExcelBlockWriter.cs
Степанов Дмитрий Александрович 1413e80f09 Формирование суточных отчётов
1. Добавил сервис для работы с суточными отчётами.
2. Сделал формирование отчёта в Excel файле по заготовленному шаблону.
3. Поправил Dto.
4. Реализация методов в контроллере + небольшое исправление. В методе получения списка добавил запрос, который позволяет получать данные по параметрам.
2023-07-24 11:14:07 +05:00

31 lines
948 B
C#

using System.Linq;
using AsbCloudApp.Data.AutogeneratedDailyReport;
using ClosedXML.Excel;
namespace AsbCloudInfrastructure.Services.AutoGeneratedDailyReports.AutogeneratedDailyReportBlocks;
public class SubsystemExcelBlockWriter : IExcelBlockWriter
{
private const int rowHeaderBlock = 10;
private const int columnName = 1;
private const int columnKUsage = 2;
private const int columnDepth = 3;
private const int columnUsedTimeHours = 4;
public void Write(IXLWorksheet sheet, AutoGeneratedDailyReportDto report)
{
if(!report.Subsystems.Any())
return;
for (int i = 0; i < report.Subsystems.Length; i++)
{
var row = sheet.Row(1 + i + rowHeaderBlock);
row.Cell(columnName).Value = report.Subsystems[i].Name;
row.Cell(columnKUsage).Value = report.Subsystems[i].KUsage;
row.Cell(columnDepth).Value = report.Subsystems[i].Depth;
row.Cell(columnUsedTimeHours).Value = report.Subsystems[i].UsedTimeHours;
}
}
}