Игнорируемые поля при сравнении Template в ЕСПП и ПАРР вынесены в настройки
This commit is contained in:
@@ -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<RawDataEK>(ek);
|
||||
// foreach (var ek in eksFromAIHIT)
|
||||
// {
|
||||
// // создаем
|
||||
// var mappedEK = mapper.Map<RawDataEK>(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}) -----");
|
||||
// }
|
||||
//}
|
||||
|
||||
//Разбираем сырые данные
|
||||
|
||||
|
||||
@@ -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<Manager> logger;
|
||||
private readonly IServiceProvider serviceProvider;
|
||||
private readonly IParserService parserService;
|
||||
private readonly GlobalSettings globalSettings;
|
||||
|
||||
public Manager(
|
||||
ILogger<Manager> logger,
|
||||
IServiceProvider serviceProvider,
|
||||
IParserService parserService
|
||||
IParserService parserService,
|
||||
GlobalSettings globalSettings
|
||||
)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.serviceProvider = serviceProvider;
|
||||
this.parserService = parserService;
|
||||
this.globalSettings = globalSettings;
|
||||
}
|
||||
|
||||
public Task<bool> 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);
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
public MqSettings? MqSettings { get; set; }
|
||||
|
||||
public StorageSettings? StorageSettings { get; set; }
|
||||
public string? IgnoreTemplateFields { get; set; }
|
||||
}
|
||||
|
||||
internal class MqSettings
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
},
|
||||
"StorageSettings": {
|
||||
"CheckIntervalSeconds": 30
|
||||
}
|
||||
},
|
||||
"IgnoreTemplateFields": "Id,Status,DateCreated,DateModified,StatusCode"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"IncludeAddresses": "aihit@gvc.rzd"
|
||||
},
|
||||
"WorkerSettings": {
|
||||
"OccursEvery": "00:10:00.0"
|
||||
"OccursEvery": "12:00:00.0"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user