Merge branch 'worker-repairing' into dev
This commit is contained in:
@@ -217,34 +217,34 @@ namespace PARR.AIHIT
|
|||||||
var respAreas = settingService.Get().Where(ra => ra.Group == AIHTITSettings.RespAreaGroupName).ToList();
|
var respAreas = settingService.Get().Where(ra => ra.Group == AIHTITSettings.RespAreaGroupName).ToList();
|
||||||
|
|
||||||
//Запускаем хранимую процедуру в АИХ ИТ и складываем в таблицу RawDataEKs, предварительно почистив старые данные
|
//Запускаем хранимую процедуру в АИХ ИТ и складываем в таблицу RawDataEKs, предварительно почистив старые данные
|
||||||
foreach (var respArea in respAreas)
|
//foreach (var respArea in respAreas)
|
||||||
{
|
//{
|
||||||
var eksFromAIHIT = aihitService.GetEKList(respArea.Value)?.ToList();
|
// var eksFromAIHIT = aihitService.GetEKList(respArea.Value)?.ToList();
|
||||||
|
|
||||||
if (eksFromAIHIT == null)
|
// if (eksFromAIHIT == null)
|
||||||
continue;
|
// continue;
|
||||||
|
|
||||||
//Удаляем текущие данные по зоне ответственности respArea
|
// //Удаляем текущие данные по зоне ответственности respArea
|
||||||
var toDelete = rawDataEKService.Get().Where(rd => rd.ResponseArea == respArea.Value).ToList();
|
// var toDelete = rawDataEKService.Get().Where(rd => rd.ResponseArea == respArea.Value).ToList();
|
||||||
toDelete.ForEach(d => rawDataEKService.Delete(d));
|
// toDelete.ForEach(d => rawDataEKService.Delete(d));
|
||||||
|
|
||||||
foreach (var ek in eksFromAIHIT)
|
// foreach (var ek in eksFromAIHIT)
|
||||||
{
|
// {
|
||||||
// создаем
|
// // создаем
|
||||||
var mappedEK = mapper.Map<RawDataEK>(ek);
|
// var mappedEK = mapper.Map<RawDataEK>(ek);
|
||||||
|
|
||||||
mappedEK.Id = Guid.NewGuid();
|
// mappedEK.Id = Guid.NewGuid();
|
||||||
mappedEK.DateCreated = DateTimeOffset.UtcNow;
|
// mappedEK.DateCreated = DateTimeOffset.UtcNow;
|
||||||
|
|
||||||
if (!await rawDataEKService.CreateAsync(mappedEK) || !await rawDataEKService.CommitAsync())
|
// if (!await rawDataEKService.CreateAsync(mappedEK) || !await rawDataEKService.CommitAsync())
|
||||||
{
|
// {
|
||||||
logger.LogError($"Не удалось создать запись rawDataEK {mappedEK.ShortName}({mappedEK.IP})");
|
// logger.LogError($"Не удалось создать запись rawDataEK {mappedEK.ShortName}({mappedEK.IP})");
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
logger.LogInformation($"----- Создана запись rawDataEK {mappedEK.ShortName}({mappedEK.IP}) -----");
|
// logger.LogInformation($"----- Создана запись rawDataEK {mappedEK.ShortName}({mappedEK.IP}) -----");
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
//Разбираем сырые данные
|
//Разбираем сырые данные
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ namespace PARR.AIHIT
|
|||||||
services.AddDbContext<AIHITContext>(options =>
|
services.AddDbContext<AIHITContext>(options =>
|
||||||
options.UseSqlServer(
|
options.UseSqlServer(
|
||||||
configuration.GetConnectionString("AihitConnection")
|
configuration.GetConnectionString("AihitConnection")
|
||||||
|
,sqlServerOptions => sqlServerOptions.CommandTimeout(1800)
|
||||||
));
|
));
|
||||||
|
|
||||||
services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
|
services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using PARR.BLL.Settings;
|
||||||
using PARR.DAL.Contracts;
|
using PARR.DAL.Contracts;
|
||||||
using PARR.DAL.Models;
|
using PARR.DAL.Models;
|
||||||
using PARR.DAL.Services.Interfaces;
|
using PARR.DAL.Services.Interfaces;
|
||||||
|
using PARR.EsppTemplateSync.Settings;
|
||||||
|
|
||||||
namespace PARR.EsppTemplateSync.Services
|
namespace PARR.EsppTemplateSync.Services
|
||||||
{
|
{
|
||||||
@@ -11,16 +13,19 @@ namespace PARR.EsppTemplateSync.Services
|
|||||||
private readonly ILogger<Manager> logger;
|
private readonly ILogger<Manager> logger;
|
||||||
private readonly IServiceProvider serviceProvider;
|
private readonly IServiceProvider serviceProvider;
|
||||||
private readonly IParserService parserService;
|
private readonly IParserService parserService;
|
||||||
|
private readonly GlobalSettings globalSettings;
|
||||||
|
|
||||||
public Manager(
|
public Manager(
|
||||||
ILogger<Manager> logger,
|
ILogger<Manager> logger,
|
||||||
IServiceProvider serviceProvider,
|
IServiceProvider serviceProvider,
|
||||||
IParserService parserService
|
IParserService parserService,
|
||||||
|
GlobalSettings globalSettings
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
this.serviceProvider = serviceProvider;
|
this.serviceProvider = serviceProvider;
|
||||||
this.parserService = parserService;
|
this.parserService = parserService;
|
||||||
|
this.globalSettings = globalSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<bool> ManageFileAsync(string path)
|
public Task<bool> ManageFileAsync(string path)
|
||||||
@@ -98,17 +103,19 @@ namespace PARR.EsppTemplateSync.Services
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var isChanged = false;
|
var isChanged = false;
|
||||||
|
var ignoreTemplateFieldsList = globalSettings.IgnoreTemplateFields?.Split(",").ToList().Select(t => t.Trim().ToLower());
|
||||||
|
|
||||||
foreach (var prop in template.GetType().GetProperties())
|
foreach (var prop in template.GetType().GetProperties())
|
||||||
{
|
{
|
||||||
if (prop == null) continue;
|
if (prop == null) continue;
|
||||||
|
|
||||||
if (prop.Name == "Id" ||
|
if (ignoreTemplateFieldsList != null && ignoreTemplateFieldsList.Contains(prop.Name.Trim().ToLower())) continue;
|
||||||
prop.Name == "Status" ||
|
//if (prop.Name == "Id" ||
|
||||||
prop.Name == "DateCreated" ||
|
// prop.Name == "Status" ||
|
||||||
prop.Name == "DateModified" ||
|
// prop.Name == "DateCreated" ||
|
||||||
prop.Name == "StatusCode"
|
// prop.Name == "DateModified" ||
|
||||||
) continue;
|
// prop.Name == "StatusCode"
|
||||||
|
// ) continue;
|
||||||
|
|
||||||
var parrValue = template.GetType().GetProperty(prop.Name)?.GetValue(template, null);
|
var parrValue = template.GetType().GetProperty(prop.Name)?.GetValue(template, null);
|
||||||
var esppValue = esppTemplate.GetType().GetProperty(prop.Name)?.GetValue(esppTemplate, null);
|
var esppValue = esppTemplate.GetType().GetProperty(prop.Name)?.GetValue(esppTemplate, null);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
public MqSettings? MqSettings { get; set; }
|
public MqSettings? MqSettings { get; set; }
|
||||||
|
|
||||||
public StorageSettings? StorageSettings { get; set; }
|
public StorageSettings? StorageSettings { get; set; }
|
||||||
|
public string? IgnoreTemplateFields { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class MqSettings
|
internal class MqSettings
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
},
|
},
|
||||||
"StorageSettings": {
|
"StorageSettings": {
|
||||||
"CheckIntervalSeconds": 30
|
"CheckIntervalSeconds": 30
|
||||||
}
|
},
|
||||||
|
"IgnoreTemplateFields": "Id,Status,DateCreated,DateModified,StatusCode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
"IncludeAddresses": "aihit@gvc.rzd"
|
"IncludeAddresses": "aihit@gvc.rzd"
|
||||||
},
|
},
|
||||||
"WorkerSettings": {
|
"WorkerSettings": {
|
||||||
"OccursEvery": "00:10:00.0"
|
"OccursEvery": "12:00:00.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user