diff --git a/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs b/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs index ae2ddd84..60fbc9bd 100644 --- a/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs +++ b/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs @@ -181,8 +181,8 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService private ProcessMapPlanDto ParseRow(IXLRow row) { - var wellSectionTypeCaption = GetCellValue(row, columnWellSectionType); - var modeName = GetCellValue(row, columnMode); + var wellSectionTypeCaption = GetCellValue(row, columnWellSectionType).Trim().ToLower(); + var modeName = GetCellValue(row, columnMode).Trim().ToLower(); var depthStart = GetCellValue(row, columnDepthStart); var depthEnd = GetCellValue(row, columnDepthEnd); var pressurePlan = GetCellValue(row, columnPressurePlan); @@ -199,11 +199,15 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService var usageSaub = GetCellValue(row, columnUsageSaub); var usageSpin = GetCellValue(row, columnUsageSpin); - var wellSection = sections.FirstOrDefault(s => s.Caption.Trim() == wellSectionTypeCaption.Trim()) + var wellSection = sections.FirstOrDefault(s => s.Caption.Trim().ToLower() == wellSectionTypeCaption) ?? throw new FileFormatException( $"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указана некорректная секция"); - if (depthStart is < 0 or > 50000) + var idMode = GetIdMode(modeName) + ?? throw new FileFormatException( + $"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указан некорректный режим"); + + if (depthStart is < 0 or > 50000) throw new FileFormatException( $"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указана некорректная стартовая глубина"); @@ -266,7 +270,7 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService return new() { IdWellSectionType = wellSection.Id, - IdMode = GetIdMode(modeName), + IdMode = idMode, DepthStart = depthStart, LastUpdate = DateTime.UtcNow, DepthEnd = depthEnd, @@ -316,12 +320,13 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService return memoryStream; } - private static int GetIdMode(string modeName) => + private static int? GetIdMode(string modeName) => modeName switch { - "Ротор" => 1, - "Слайд" => 2, - _ => 0 + "ручной" => 0, + "ротор" => 1, + "слайд" => 2, + _ => null }; private static string GetModeCaption(int idMode)