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