Рефактор, корректные названия переменных

This commit is contained in:
Оля Бизюкова 2023-11-22 17:30:30 +05:00
parent 454945e2dc
commit e10823c868
9 changed files with 25 additions and 51 deletions

View File

@ -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" />

View File

@ -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;

View File

@ -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;

View File

@ -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;
} }

View File

@ -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)
{ {