feat(esppOrderManager): доработка логики. EsppApi - запросы переделаны под модели.

This commit is contained in:
Mikhail Trubnikov
2023-11-21 12:26:08 +10:00
parent 7f3a2441c9
commit f85b97f60a
13 changed files with 261 additions and 29 deletions

View File

@@ -47,7 +47,7 @@ namespace PARR.EsppOrderManager
// throw new Exception("Ошибка при подключении к RabbitMq");
//test, and remove async in method name
await ManageOrderAsync("{\"OrderId\":\"77eeccfb-4ca0-443e-8cc7-f6aa9dc774b7\"}");
await ManageOrderAsync("{\"OrderId\":\"dd04a997-e7b5-4326-b6e1-505719cc46fb\"}");
}
public void Stop()
@@ -149,11 +149,11 @@ namespace PARR.EsppOrderManager
.OrderBy(t => t.DateCreated)
.Select(t => $"{t.DateCreated} :: {t.AgentHistoryLevel?.Name} :: {t.Message}");
var baseMsg = order.Template!.ApplicationsInWork!.Solution + "\r\n";
var baseMsg = order.Template!.ApplicationsInWork!.Solution + "\n";
var msgAgent = "Работы выполнены средствами автоматизации. \r\n" +
"Журнал работы: \r\n" +
$"{string.Join("\r\n", agentHistory)}";
var msgAgent = "Работы выполнены средствами автоматизации. \n" +
"Журнал работы: \n" +
$"{string.Join("\n", agentHistory)}";
var msgAgentEmpty = "Работы должны были выполняться средствами автоматизации. " +
"От средств автоматизации не поступило сообщений. " +

View File

@@ -20,6 +20,10 @@ namespace PARR.EsppOrderManager
configuration.GetSection(nameof(MqSettings)).Bind(mqSettings);
services.AddSingleton(mqSettings);
var esppPoligonSettings = new EsppPoligonSettings();
configuration.GetSection(nameof(EsppPoligonSettings)).Bind(esppPoligonSettings);
services.AddSingleton(esppPoligonSettings);
services.AddTransient<IEsppOrderManager, EsppOrderManager>();
services.AddTransient<IEsppOrderService, EsppOrderService>();
}

View File

@@ -3,6 +3,7 @@ using PARR.Constants;
using PARR.DAL.Models;
using PARR.EsppApi;
using PARR.EsppApi.Models.Query;
using PARR.EsppOrderManager.Settings;
namespace PARR.EsppOrderManager.Services
{
@@ -10,14 +11,17 @@ namespace PARR.EsppOrderManager.Services
{
private readonly ILogger<EsppOrderService> logger;
private readonly IEsppApiService esppApiService;
private readonly EsppPoligonSettings esppPoligonSettings;
public EsppOrderService(
ILogger<EsppOrderService> logger,
IEsppApiService esppApiService
IEsppApiService esppApiService,
EsppPoligonSettings esppPoligonSettings
)
{
this.logger = logger;
this.esppApiService = esppApiService;
this.esppPoligonSettings = esppPoligonSettings;
}
@@ -68,9 +72,15 @@ namespace PARR.EsppOrderManager.Services
{
JobOperation = order!.Template!.ApplicationsInWork!.Work!.Name,
RecordId = order.Number,
Time = duration.ToString("HH:mm")
Time = duration.ToString("hh\\:mm")
};
if (esppPoligonSettings.IsEnabled)
{
//для теста, подемеяем значения из БД
tnk.JobOperation = esppPoligonSettings.TnkValue;
}
return await SetCompleteStatusAsync(order.Number, resultMsg, tnk);
}
else
@@ -104,6 +114,8 @@ namespace PARR.EsppOrderManager.Services
return false;
}
else
logger.LogDebug($"В ЕСПП, для наряда {orderNumber} списаны трудозатраты. Операция: {tnk.JobOperation}, время: {tnk.Time}");
// выполняем наряд
var result = await esppApiService.SetStatusIsDoneAsync(orderNumber, resultMsg);

View File

@@ -0,0 +1,19 @@
namespace PARR.EsppOrderManager.Settings
{
/// <summary>
/// Настройки смежных полигнов (продуктив/дев ЕСПП). Значения на полигонах могут отличаться.
/// Чтобы тестировать, подменяем значения из БД, берем из этих настроек.
/// </summary>
internal class EsppPoligonSettings
{
/// <summary>
/// Применить все настройки
/// </summary>
public bool IsEnabled { get; set; }
/// <summary>
/// Значение ТНК, заменяет значение из БД.
/// </summary>
public string TnkValue { get; set; } = string.Empty;
}
}