diff --git a/PARR.AIHIT/AIHIT/Syncher.cs b/PARR.AIHIT/AIHIT/Syncher.cs index 887267bc..c0330a97 100644 --- a/PARR.AIHIT/AIHIT/Syncher.cs +++ b/PARR.AIHIT/AIHIT/Syncher.cs @@ -217,34 +217,34 @@ namespace PARR.AIHIT var respAreas = settingService.Get().Where(ra => ra.Group == AIHTITSettings.RespAreaGroupName).ToList(); //Запускаем хранимую процедуру в АИХ ИТ и складываем в таблицу RawDataEKs, предварительно почистив старые данные - foreach (var respArea in respAreas) - { - var eksFromAIHIT = aihitService.GetEKList(respArea.Value)?.ToList(); + //foreach (var respArea in respAreas) + //{ + // var eksFromAIHIT = aihitService.GetEKList(respArea.Value)?.ToList(); - if (eksFromAIHIT == null) - continue; + // if (eksFromAIHIT == null) + // continue; - //Удаляем текущие данные по зоне ответственности respArea - var toDelete = rawDataEKService.Get().Where(rd => rd.ResponseArea == respArea.Value).ToList(); - toDelete.ForEach(d => rawDataEKService.Delete(d)); + // //Удаляем текущие данные по зоне ответственности respArea + // var toDelete = rawDataEKService.Get().Where(rd => rd.ResponseArea == respArea.Value).ToList(); + // toDelete.ForEach(d => rawDataEKService.Delete(d)); - foreach (var ek in eksFromAIHIT) - { - // создаем - var mappedEK = mapper.Map(ek); + // foreach (var ek in eksFromAIHIT) + // { + // // создаем + // var mappedEK = mapper.Map(ek); - mappedEK.Id = Guid.NewGuid(); - mappedEK.DateCreated = DateTimeOffset.UtcNow; + // mappedEK.Id = Guid.NewGuid(); + // mappedEK.DateCreated = DateTimeOffset.UtcNow; - if (!await rawDataEKService.CreateAsync(mappedEK) || !await rawDataEKService.CommitAsync()) - { - logger.LogError($"Не удалось создать запись rawDataEK {mappedEK.ShortName}({mappedEK.IP})"); - continue; - } - else - logger.LogInformation($"----- Создана запись rawDataEK {mappedEK.ShortName}({mappedEK.IP}) -----"); - } - } + // if (!await rawDataEKService.CreateAsync(mappedEK) || !await rawDataEKService.CommitAsync()) + // { + // logger.LogError($"Не удалось создать запись rawDataEK {mappedEK.ShortName}({mappedEK.IP})"); + // continue; + // } + // else + // logger.LogInformation($"----- Создана запись rawDataEK {mappedEK.ShortName}({mappedEK.IP}) -----"); + // } + //} //Разбираем сырые данные diff --git a/PARR.EsppTemplateSync/Services/Manager.cs b/PARR.EsppTemplateSync/Services/Manager.cs index 087f0dab..a64fcced 100644 --- a/PARR.EsppTemplateSync/Services/Manager.cs +++ b/PARR.EsppTemplateSync/Services/Manager.cs @@ -1,8 +1,10 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using PARR.BLL.Settings; using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; +using PARR.EsppTemplateSync.Settings; namespace PARR.EsppTemplateSync.Services { @@ -11,16 +13,19 @@ namespace PARR.EsppTemplateSync.Services private readonly ILogger logger; private readonly IServiceProvider serviceProvider; private readonly IParserService parserService; + private readonly GlobalSettings globalSettings; public Manager( ILogger logger, IServiceProvider serviceProvider, - IParserService parserService + IParserService parserService, + GlobalSettings globalSettings ) { this.logger = logger; this.serviceProvider = serviceProvider; this.parserService = parserService; + this.globalSettings = globalSettings; } public Task ManageFileAsync(string path) @@ -98,17 +103,19 @@ namespace PARR.EsppTemplateSync.Services else { var isChanged = false; + var ignoreTemplateFieldsList = globalSettings.IgnoreTemplateFields?.Split(",").ToList().Select(t => t.Trim().ToLower()); foreach (var prop in template.GetType().GetProperties()) { if (prop == null) continue; - if (prop.Name == "Id" || - prop.Name == "Status" || - prop.Name == "DateCreated" || - prop.Name == "DateModified" || - prop.Name == "StatusCode" - ) continue; + if (ignoreTemplateFieldsList != null && ignoreTemplateFieldsList.Contains(prop.Name.Trim().ToLower())) continue; + //if (prop.Name == "Id" || + // prop.Name == "Status" || + // prop.Name == "DateCreated" || + // prop.Name == "DateModified" || + // prop.Name == "StatusCode" + // ) continue; var parrValue = template.GetType().GetProperty(prop.Name)?.GetValue(template, null); var esppValue = esppTemplate.GetType().GetProperty(prop.Name)?.GetValue(esppTemplate, null); diff --git a/PARR.EsppTemplateSync/Settings/GlobalSettings.cs b/PARR.EsppTemplateSync/Settings/GlobalSettings.cs index 051d8204..789a0d00 100644 --- a/PARR.EsppTemplateSync/Settings/GlobalSettings.cs +++ b/PARR.EsppTemplateSync/Settings/GlobalSettings.cs @@ -5,6 +5,7 @@ public MqSettings? MqSettings { get; set; } public StorageSettings? StorageSettings { get; set; } + public string? IgnoreTemplateFields { get; set; } } internal class MqSettings diff --git a/PARR.EsppTemplateSyncWorker/appsettings.json b/PARR.EsppTemplateSyncWorker/appsettings.json index 63291c72..d243317d 100644 --- a/PARR.EsppTemplateSyncWorker/appsettings.json +++ b/PARR.EsppTemplateSyncWorker/appsettings.json @@ -43,6 +43,7 @@ }, "StorageSettings": { "CheckIntervalSeconds": 30 - } + }, + "IgnoreTemplateFields": "Id,Status,DateCreated,DateModified,StatusCode" } } diff --git a/PARR.Worker/PARR.Worker/appsettings.json b/PARR.Worker/PARR.Worker/appsettings.json index deb7aab4..e986dbf1 100644 --- a/PARR.Worker/PARR.Worker/appsettings.json +++ b/PARR.Worker/PARR.Worker/appsettings.json @@ -38,7 +38,7 @@ "IncludeAddresses": "aihit@gvc.rzd" }, "WorkerSettings": { - "OccursEvery": "00:10:00.0" + "OccursEvery": "12:00:00.0" } }