From f8f96fe465cc83d3113d22203f1b0da0dda54cdd Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Wed, 28 Feb 2024 15:40:24 +1000 Subject: [PATCH] =?UTF-8?q?feat(esppApi):=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D0=B5=20FindOrdersQuery=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BD=D0=B0=D1=80=D1=8F?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2=20=D0=90=D0=A1=D0=A3=20=D0=95=D0=A1=D0=9F?= =?UTF-8?q?=D0=9F=20=D0=BF=D0=BE=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81?= =?UTF-8?q?=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.EsppApi/EsppApiService.cs | 3 ++ PARR.EsppApi/Models/Query/FindOrdersQuery.cs | 5 +++ PARR.Test/Worker.cs | 44 +++++++++++++++++++- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/PARR.EsppApi/EsppApiService.cs b/PARR.EsppApi/EsppApiService.cs index 8207e814..e871cb35 100644 --- a/PARR.EsppApi/EsppApiService.cs +++ b/PARR.EsppApi/EsppApiService.cs @@ -83,6 +83,9 @@ namespace PARR.EsppApi var conditions = new List(); + 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)) diff --git a/PARR.EsppApi/Models/Query/FindOrdersQuery.cs b/PARR.EsppApi/Models/Query/FindOrdersQuery.cs index 38f50efe..e21fac32 100644 --- a/PARR.EsppApi/Models/Query/FindOrdersQuery.cs +++ b/PARR.EsppApi/Models/Query/FindOrdersQuery.cs @@ -9,6 +9,11 @@ /// Подробное описание, содержит значение /// public string? DescriptionContains { get; set; } + + /// + /// Статус наряда равен + /// + public string? StatusIs { get; set; } /// /// Дата сначала которой выбирать созданные наряды, UTC diff --git a/PARR.Test/Worker.cs b/PARR.Test/Worker.cs index 5853a2c3..8f8818dd 100644 --- a/PARR.Test/Worker.cs +++ b/PARR.Test/Worker.cs @@ -11,7 +11,11 @@ namespace PARR.Test private readonly IEsppApiService esppApiService; private readonly IIntervalService intervalService; - public Worker(ILogger logger, IEsppApiService esppApiService, IIntervalService intervalService) + public Worker( + ILogger 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); + } + } + } + } } }