feat(esppApi): расширение FindOrdersQuery возможностью поиска нарядов АСУ ЕСПП по статусу

This commit is contained in:
Mikhail Kuznetsov
2024-02-28 15:40:24 +10:00
parent 5f0ae0f46e
commit f8f96fe465
3 changed files with 50 additions and 2 deletions

View File

@@ -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))

View File

@@ -10,6 +10,11 @@
/// </summary>
public string? DescriptionContains { get; set; }
/// <summary>
/// Статус наряда равен
/// </summary>
public string? StatusIs { get; set; }
/// <summary>
/// Дата сначала которой выбирать созданные наряды, UTC
/// </summary>

View File

@@ -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);
}
}
}
}
}
}