forked from ddrilling/AsbCloudServer
Рефактор, корректные названия переменных
This commit is contained in:
parent
454945e2dc
commit
e10823c868
@ -34,9 +34,9 @@
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Services\DailyReport\DailyReportTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\DrillTestReport\DrillTestReportTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\FactTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\NnbTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\PlannedTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\Templates\FactTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\Templates\NnbTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\Trajectory\Templates\PlannedTrajectoryTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\WellOperationService\ScheduleReportTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\AutoGeneratedDailyReports\AutogeneratedDailyReportTemplate.xlsx" />
|
||||
<EmbeddedResource Include="Services\WellOperationImport\Files\WellOperationImportTemplate.xlsx" />
|
||||
|
@ -9,7 +9,7 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
public class FactTrajectoryImportService : TrajectoryImportService<TrajectoryGeoFactDto>
|
||||
{
|
||||
public override string templateFileName { get; set; } = "FactTrajectoryTemplate.xlsx";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates";
|
||||
public override string sheetNamePlannedTrajectory { get; set; } = "Фактическая траектория";
|
||||
public override int headerRowsCount { get; set; } = 2;
|
||||
public override int ColumnWellboreDepth { get; set; } = 1;
|
||||
|
@ -9,8 +9,8 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
public class NnbTrajectoryImportService : TrajectoryImportService<TrajectoryGeoFactDto>
|
||||
{
|
||||
public override string templateFileName { get; set; } = "NnbTrajectoryTemplate.xlsx";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory";
|
||||
public override string sheetNamePlannedTrajectory { get; set; } = "Плановая траектория";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates";
|
||||
public override string sheetNamePlannedTrajectory { get; set; } = "Фактическая ннб-траектория";
|
||||
public override int headerRowsCount { get; set; } = 2;
|
||||
public override int ColumnWellboreDepth { get; set; } = 1;
|
||||
public override int ColumnZenithAngle { get; set; } = 2;
|
||||
|
Binary file not shown.
@ -1,40 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using AsbCloudApp.Repositories;
|
||||
using AsbCloudApp.Services;
|
||||
using AsbCloudDb.Model;
|
||||
using ClosedXML.Excel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
{
|
||||
|
||||
public class PlannedTrajectoryImportService : TrajectoryImportService<TrajectoryGeoPlanDto> //IPlannedTrajectoryImportService
|
||||
public class PlannedTrajectoryImportService : TrajectoryImportService<TrajectoryGeoPlanDto>
|
||||
{
|
||||
/*
|
||||
* password for PlannedTrajectoryTemplate.xlsx is Drill2022
|
||||
*/
|
||||
|
||||
private readonly IWellService wellService;
|
||||
private readonly ITrajectoryEditableRepository<TrajectoryGeoPlanDto> plannedTrajectoryService;
|
||||
|
||||
//private const string templateFileName = "PlannedTrajectoryTemplate.xlsx";
|
||||
//private const string usingTemplateFile = "AsbCloudInfrastructure.Services.Trajectory";
|
||||
//private const string sheetNamePlannedTrajectory = "Плановая траектория";
|
||||
//private const int headerRowsCount = 2;
|
||||
//private const int ColumnWellboreDepth = 1;
|
||||
//private const int ColumnZenithAngle = 2;
|
||||
//private const int ColumnAzimuthGeo = 3;
|
||||
//private const int ColumnAzimuthMagnetic = 4;
|
||||
//private const int ColumnVerticalDepth = 5;
|
||||
//private const int ColumnRadius = 6;
|
||||
//private const int ColumnComment = 7;
|
||||
public override string templateFileName { get; set; } = "PlannedTrajectoryTemplate.xlsx";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory";
|
||||
public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates";
|
||||
public override string sheetNamePlannedTrajectory { get; set; } = "Плановая траектория";
|
||||
public override int headerRowsCount { get; set; } = 2;
|
||||
public override int ColumnWellboreDepth { get; set; } = 1;
|
||||
@ -46,12 +24,11 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
public override int ColumnComment { get; set; } = 7;
|
||||
|
||||
public PlannedTrajectoryImportService(
|
||||
IWellService wellService,
|
||||
ITrajectoryEditableRepository<TrajectoryGeoPlanDto> plannedTrajectoryService)
|
||||
IWellService wellService,
|
||||
ITrajectoryEditableRepository<TrajectoryGeoPlanDto> plannedTrajectoryService)
|
||||
: base(plannedTrajectoryService, wellService)
|
||||
{
|
||||
this.wellService = wellService;
|
||||
}
|
||||
}
|
||||
|
||||
protected override TrajectoryGeoPlanDto ParseRow(IXLRow row)
|
||||
{
|
||||
@ -65,7 +42,7 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
Radius = row.Cell(ColumnRadius).GetCellValue<double>(),
|
||||
Comment = row.Cell(ColumnComment).GetCellValue<string?>()
|
||||
};
|
||||
|
||||
|
||||
return trajectoryRow;
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -1,24 +1,23 @@
|
||||
using AsbCloudApp.Data;
|
||||
using AsbCloudApp.Repositories;
|
||||
using AsbCloudApp.Services;
|
||||
using AsbCloudDb.Model;
|
||||
using AsbCloudInfrastructure.Services.SAUB;
|
||||
using ClosedXML.Excel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
{
|
||||
public abstract class TrajectoryImportService<T> where T: TrajectoryGeoDto
|
||||
public abstract class TrajectoryImportService<T> where T : TrajectoryGeoDto
|
||||
{
|
||||
protected readonly IWellService wellService;
|
||||
private readonly IWellService wellService;
|
||||
|
||||
protected readonly ITrajectoryRepository<T> trajectoryService;
|
||||
private readonly ITrajectoryRepository<T> trajectoryService;
|
||||
protected abstract void AddCoordinatesToRow(IXLRow row, T trajectory);
|
||||
protected abstract T ParseRow(IXLRow row);
|
||||
public abstract string templateFileName { get; set; }
|
||||
public abstract string usingTemplateFile { get; set; }
|
||||
public abstract string sheetNamePlannedTrajectory { get; set; }
|
||||
@ -30,8 +29,6 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
public abstract int ColumnVerticalDepth { get; set; }
|
||||
public abstract int ColumnRadius { get; set; }
|
||||
public abstract int ColumnComment { get; set; }
|
||||
protected abstract void AddCoordinatesToRow(IXLRow row, T trajectory);
|
||||
protected abstract T ParseRow(IXLRow row);
|
||||
|
||||
public TrajectoryImportService(ITrajectoryRepository<T> trajectoryService, IWellService wellService)
|
||||
{
|
||||
@ -54,37 +51,37 @@ namespace AsbCloudInfrastructure.Services.Trajectory
|
||||
return MakeExelFileStream(plannedTrajectorys);
|
||||
}
|
||||
|
||||
private Stream MakeExelFileStream(IEnumerable<T> plannedTrajectories)
|
||||
private Stream MakeExelFileStream(IEnumerable<T> trajectories)
|
||||
{
|
||||
using Stream ecxelTemplateStream = GetTemplateFile();
|
||||
using var workbook = new XLWorkbook(ecxelTemplateStream, XLEventTracking.Disabled);
|
||||
AddPlannedTrajecoryToWorkbook(workbook, plannedTrajectories);
|
||||
AddPlannedTrajecoryToWorkbook(workbook, trajectories);
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
workbook.SaveAs(memoryStream, new SaveOptions { });
|
||||
memoryStream.Seek(0, SeekOrigin.Begin);
|
||||
return memoryStream;
|
||||
}
|
||||
|
||||
private void AddPlannedTrajecoryToWorkbook(XLWorkbook workbook, IEnumerable<T> plannedTrajectories)
|
||||
private void AddPlannedTrajecoryToWorkbook(XLWorkbook workbook, IEnumerable<T> trajectories)
|
||||
{
|
||||
if (plannedTrajectories.Any())
|
||||
if (trajectories.Any())
|
||||
{
|
||||
var sheet = workbook.Worksheets.FirstOrDefault(ws => ws.Name == sheetNamePlannedTrajectory);
|
||||
if (sheet is null)
|
||||
throw new FileFormatException($"Лист с именем {sheetNamePlannedTrajectory} отсутствует, либо имеет некорректное название");
|
||||
AddPlannedTrajecoryToSheet(sheet, plannedTrajectories);
|
||||
AddTrajecoryToSheet(sheet, trajectories);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddPlannedTrajecoryToSheet(IXLWorksheet sheet, IEnumerable<T> plannedTrajectories)
|
||||
private void AddTrajecoryToSheet(IXLWorksheet sheet, IEnumerable<T> trajectories)
|
||||
{
|
||||
var rowList = plannedTrajectories.ToList();
|
||||
var rowList = trajectories.ToList();
|
||||
for (int i = 0; i < rowList.Count; i++)
|
||||
{
|
||||
var row = sheet.Row(1 + i + headerRowsCount);
|
||||
AddCoordinatesToRow(row, rowList[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> GetFileNameAsync(int idWell, CancellationToken token)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user