feat(esppApi): расширение FindOrdersQuery возможностью поиска нарядов АСУ ЕСПП по статусу
This commit is contained in:
@@ -83,6 +83,9 @@ namespace PARR.EsppApi
|
||||
|
||||
var conditions = new List<string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(query.StatusIs))
|
||||
conditions.Add($"status=\"{query.StatusIs}\"");
|
||||
|
||||
if (!string.IsNullOrEmpty(query.DescriptionContains))
|
||||
conditions.Add($"description like \"*{query.DescriptionContains}*\"");
|
||||
//if (!string.IsNullOrEmpty(query.TemplateNameContains))
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
/// Подробное описание, содержит значение
|
||||
/// </summary>
|
||||
public string? DescriptionContains { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Статус наряда равен
|
||||
/// </summary>
|
||||
public string? StatusIs { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Дата сначала которой выбирать созданные наряды, UTC
|
||||
|
||||
@@ -11,7 +11,11 @@ namespace PARR.Test
|
||||
private readonly IEsppApiService esppApiService;
|
||||
private readonly IIntervalService intervalService;
|
||||
|
||||
public Worker(ILogger<Worker> logger, IEsppApiService esppApiService, IIntervalService intervalService)
|
||||
public Worker(
|
||||
ILogger<Worker> logger,
|
||||
IEsppApiService esppApiService,
|
||||
IIntervalService intervalService
|
||||
)
|
||||
{
|
||||
_logger = logger;
|
||||
this.esppApiService = esppApiService;
|
||||
@@ -40,7 +44,8 @@ namespace PARR.Test
|
||||
|
||||
|
||||
|
||||
await TestEsppApi();
|
||||
//await TestEsppApi();
|
||||
await StopDiscontinuedOrdersInEspp();
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +91,41 @@ namespace PARR.Test
|
||||
_logger.LogWarning($"не найден наряд {recordId}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private async Task StopDiscontinuedOrdersInEspp()
|
||||
{
|
||||
const string ResultMsg = "Сформирован ошибочно";
|
||||
|
||||
var searchQuery = new FindOrdersQuery
|
||||
{
|
||||
DescriptionContains = "ЭИТИ-ПТК-ПАРР",
|
||||
StatusIs = "1-Направлен в группу",
|
||||
GenerateDateStart = new DateTime(2024, 02, 26, 0, 0, 0),
|
||||
GenerateDateEnd = new DateTime(2024, 02, 29, 0, 0, 0)
|
||||
};
|
||||
var result = await esppApiService.FindOrdersAsync(searchQuery);
|
||||
|
||||
if (result.IsSuccess && result.Data != null)
|
||||
{
|
||||
foreach (var item in result.Data)
|
||||
{
|
||||
if (item.StatusEnum == Constants.OrderStatusEnum.New)
|
||||
{
|
||||
await esppApiService.SetStatusInWorkAsync(item.Number, ResultMsg);
|
||||
}
|
||||
|
||||
var newItem = await esppApiService.FindOrderByRecordIdAsync(item.Number);
|
||||
if (newItem.IsSuccess && newItem.Data != null && newItem.Data.StatusEnum == OrderStatusEnum.InWork)
|
||||
{
|
||||
var tnk = new AddMtnkQuery { RecordId = newItem.Data.Number, JobOperation = "Прочее(наряды)", Time = "00:01" };
|
||||
|
||||
await esppApiService.AddMTnkAsync(tnk);
|
||||
await esppApiService.SetStatusIsDoneAsync(newItem.Data.Number, ResultMsg, EsppOrderClosingCodeEnum.Breake);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user