From 0fb8e5d1b619fcba6c92191c2fb59b59c01e5665 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Thu, 7 Dec 2023 11:19:08 +1000 Subject: [PATCH] =?UTF-8?q?feat(esppApi):=20=D0=BF=D1=80=D0=B8=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=80=D1=8F=D0=B4=D0=B0,=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=BE=D0=BB=D1=8F=20"?= =?UTF-8?q?=D0=AD=D0=9A=20=D1=80=D0=BE=D0=B1=D0=BE=D1=82=D0=B0"=20=D0=B8?= =?UTF-8?q?=20"=D0=9A=D0=BE=D0=B4=20=D0=BC=D0=B5=D1=80=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D1=8F=D1=82=D0=B8=D1=8F=20=D0=A0=D0=A0=D0=9E"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.EsppApi/EsppApiService.cs | 21 +++++++--------- PARR.EsppApi/Requests/SetStatusRequest.cs | 25 ++++++++++++++++++++ PARR.EsppApi/Settings/EsppOrderSettings.cs | 12 +++++++++- PARR.EsppOrderManagerWorker/appsettings.json | 4 +++- PARR.Test/Worker.cs | 9 +++---- PARR.Test/appsettings.Development.json | 6 ----- PARR.Test/appsettings.json | 11 ++++++--- 7 files changed, 61 insertions(+), 27 deletions(-) diff --git a/PARR.EsppApi/EsppApiService.cs b/PARR.EsppApi/EsppApiService.cs index 98786e6f..8c945408 100644 --- a/PARR.EsppApi/EsppApiService.cs +++ b/PARR.EsppApi/EsppApiService.cs @@ -36,24 +36,21 @@ namespace PARR.EsppApi } - private async Task> SetStatusAsync(string recordId, string newStatusStr, string resultMsg, EsppOrderClosingCodeEnum? closingCode = null) + private async Task> SetStatusAsync( + string recordId, + string newStatusStr, + string resultMsg, + EsppOrderClosingCodeEnum? closingCode = null + ) { - //TODO assignee сразу назначаем принудительно, чтобы было понятно кто менял объект - //var query = $"{{" + - // $"\"recordid\":\"{recordId}\"," + - // $"\"status\":\"{newStatusStr}\"," + - // $"\"assignee\":\"{esppOrderSettings.AccountName}\"," + - // $"\"resolution\":\"{resultMsg}\"" + - // $"}}"; - - //var result = await esppHttpService.SendAsync(QuerySanitize(query)); - var request = new SetStatusRequest(closingCode ?? EsppOrderClosingCodeEnum.Complete) { recordid = recordId, status = newStatusStr, assignee = esppOrderSettings.AccountName, - resolution = resultMsg + resolution = resultMsg, + rzdEventCode = esppOrderSettings.CodeRRO, + rzdKeRobot = esppOrderSettings.RobotEk }; var result = await esppHttpService.SendAsync(GenerateRequest(EsppOperationsEnum.SaveTask, request)); diff --git a/PARR.EsppApi/Requests/SetStatusRequest.cs b/PARR.EsppApi/Requests/SetStatusRequest.cs index 6d411ed9..ae35f32f 100644 --- a/PARR.EsppApi/Requests/SetStatusRequest.cs +++ b/PARR.EsppApi/Requests/SetStatusRequest.cs @@ -26,14 +26,39 @@ namespace PARR.EsppApi.Requests } } + /// + /// Номер запроса + /// public required string recordid { get; set; } + /// + /// Статус + /// public required string status { get; set; } + /// + /// Исполнитель + /// public required string assignee { get; set; } + /// + /// Решение + /// public required string resolution { get; set; } + /// + /// Код закрытия + /// public string resolutionCode { get; private set; } + + /// + /// ЭК робота + /// + public string rzdKeRobot { get; set; } = string.Empty; + + /// + /// Код мероприятия по PPO + /// + public string rzdEventCode { get; set; } = string.Empty; } } diff --git a/PARR.EsppApi/Settings/EsppOrderSettings.cs b/PARR.EsppApi/Settings/EsppOrderSettings.cs index e066f94d..b0d27e58 100644 --- a/PARR.EsppApi/Settings/EsppOrderSettings.cs +++ b/PARR.EsppApi/Settings/EsppOrderSettings.cs @@ -15,6 +15,16 @@ namespace PARR.EsppApi.Settings /// /// Часовая зона пользователя в ЕСПП относительно UTC /// - public int EsppUserTimeZone { get; set; } + public int EsppUserTimeZone { get; set; } + + /// + /// Вкладка История: ЭК робота + /// + public string RobotEk { get; set; } = string.Empty; + + /// + /// Вкладка История: Код мероприятия по РРО + /// + public string CodeRRO { get; set; } = string.Empty; } } diff --git a/PARR.EsppOrderManagerWorker/appsettings.json b/PARR.EsppOrderManagerWorker/appsettings.json index accc9da2..b8a455df 100644 --- a/PARR.EsppOrderManagerWorker/appsettings.json +++ b/PARR.EsppOrderManagerWorker/appsettings.json @@ -38,7 +38,9 @@ "UserName": "Auto-PTK-DVS", "AccountName": "АВТО ТЕХНОЛОГ ПТК-ДВС (AUTO-PTK-DVS)", "Password": "123456789", - "EsppUserTimeZone": 10 + "EsppUserTimeZone": 10, + "RobotEk": "РПА-РОБИН-ГВЦ-ЕСПП-ТС-513-ДВС", + "CodeRRO": "ЦТС-РЦТ-9999" }, "EsppPoligonSettings": { "IsEnabled": true, diff --git a/PARR.Test/Worker.cs b/PARR.Test/Worker.cs index 10d977e5..03c4c1f6 100644 --- a/PARR.Test/Worker.cs +++ b/PARR.Test/Worker.cs @@ -37,7 +37,7 @@ namespace PARR.Test private async Task TestEsppApi() { //var result = await esppApiService.FindOrdersAsync(new FindOrdersQuery { DescriptionContains = "Полное", GenerateDateStart = new DateTime(2023, 10, 10) , GenerateDateEnd = new DateTime(2023, 10, 24) }); - var recordId = "НАР23-00046650"; + var recordId = "НАР23-00058421"; var result = await esppApiService.FindOrderByRecordIdAsync(recordId); @@ -45,7 +45,8 @@ namespace PARR.Test { //var orders = result.Data; - var inWorkResult = await esppApiService.SetStatusInWorkAsync(recordId, "Решение...\nС новой строки"); + //в работу + var inWorkResult = await esppApiService.SetStatusInWorkAsync(recordId, "Выполнено."); //"Решение...\nС новой строки" if (!inWorkResult.IsSuccess) { _logger.LogError(inWorkResult.Exception, $"Не удалось взять в работу наряда{recordId}"); @@ -62,8 +63,8 @@ namespace PARR.Test return; } - - var resFinish = await esppApiService.SetStatusIsDoneAsync(recordId, "Решение...", EsppOrderClosingCodeEnum.Auto); + //выполнить + var resFinish = await esppApiService.SetStatusIsDoneAsync(recordId, "Выполнено.", EsppOrderClosingCodeEnum.Auto); if (!resFinish.IsSuccess) { _logger.LogError(resFinish.Exception, $"Не удалось обновить статус наряда {recordId}"); diff --git a/PARR.Test/appsettings.Development.json b/PARR.Test/appsettings.Development.json index 2a5e9169..291a2e9d 100644 --- a/PARR.Test/appsettings.Development.json +++ b/PARR.Test/appsettings.Development.json @@ -22,11 +22,5 @@ } } ] - }, - - "EsppOrderSettings": { - "Url": "http://rzd-espp-t-rpa-app-1.gvc.oao.rzd:8080/espp_api/OperationExecutor/", - "UserName": "Auto-PTK-DVS", - "Password": "123456789" } } \ No newline at end of file diff --git a/PARR.Test/appsettings.json b/PARR.Test/appsettings.json index f3e5285d..d5aeea48 100644 --- a/PARR.Test/appsettings.json +++ b/PARR.Test/appsettings.json @@ -25,9 +25,14 @@ }, "EsppOrderSettings": { "Url": "http://rzd-espp-t-rpa-app-1.gvc.oao.rzd:8080/espp_api/OperationExecutor/", - "UserName": "Auto-PTK-DVS", - "AccountName": "АВТО ТЕХНОЛОГ ПТК-ДВС (AUTO-PTK-DVS)", + //"UserName": "Auto-PTK-DVS", + //"AccountName": "АВТО ТЕХНОЛОГ ПТК-ДВС (AUTO-PTK-DVS)", + //"Password": "123456789", + "UserName": "AUTO-PTK-INFO-0002-DVS", + "AccountName": "АВТО ТЕХНОЛОГ ПТК-ИНФО-0002-ДВС (AUTO-PTK-INFO-0002-DVS)", "Password": "123456789", - "EsppUserTimeZone": 10 + "EsppUserTimeZone": 10, + "RobotEk": "РПА-РОБИН-ГВЦ-ЕСПП-ТС-513-ДВС", + "CodeRRO": "ЦТС-РЦТ-9999" } }