From e7881aab91f6747778e65bee784445cfcc5a208d Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Tue, 3 Feb 2026 12:08:26 +1000 Subject: [PATCH] =?UTF-8?q?feat(esppScheduleSync):=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BF=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=20=D0=B5=D1=81=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=B8=D0=BD=D1=85=D1=80?= =?UTF-8?q?=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B2=20=D0=B1=D0=B0=D0=B7=D0=B5=20=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D1=88=D0=B5=D0=B4=D1=88=D0=B5=D0=BC=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D0=95=D0=A1=D0=9F=D0=9F=20=D0=BE=D1=82=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=B0=D1=8E=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.EsppScheduleSync/ScheduleSyncher.cs | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/PARR.EsppScheduleSync/ScheduleSyncher.cs b/PARR.EsppScheduleSync/ScheduleSyncher.cs index 8cd0d300..1d4c0338 100644 --- a/PARR.EsppScheduleSync/ScheduleSyncher.cs +++ b/PARR.EsppScheduleSync/ScheduleSyncher.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using PARR.BLL.Helpers; using PARR.BLL.Services.Interfaces; +using PARR.Constants; using PARR.DAL.Contracts; using PARR.DAL.Models; using PARR.DAL.Services.Interfaces; @@ -135,6 +136,7 @@ namespace PARR.EsppScheduleSync var templateService = scope.ServiceProvider.GetRequiredService(); var candidates = await templateService.Get() + .Include(t => t.RobotConfigurations) .Where(t => t.Name == templateName || t.ScheduleEsppId == esppScheduleId) .ToListAsync(); @@ -161,6 +163,29 @@ namespace PARR.EsppScheduleSync templateByScheduleId.Name, templateByScheduleId.Id ); + + // Принудительно выставляем статус обновления шаблона, так как имя в ЕСПП изменилось + try + { + var robotConfigurationService = scope.ServiceProvider.GetRequiredService(); + + var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.TemplateOrder, templateByScheduleId); + robotConfigurationService.ChangeTaskStatus(TaskStatusEnum.Updating, config); + + // Сохраняем изменения в базу данных + if (!await robotConfigurationService.CommitAsync()) + { + logger.LogError("Не удалось сохранить изменения статуса задачи для шаблона Id='{TemplateId}'", templateByScheduleId.Id); + } + else + { + logger.LogDebug($"Для шаблона {nameof(templateByScheduleId.Id)}:{templateByScheduleId.Id} установлен статус {RobotStatusEnum.Wait.ToString()} при обнаружении расхождения имени с ЕСПП"); + } + } + catch (Exception updateEx) + { + logger.LogError(updateEx, "Ошибка при установке статуса обновления для шаблона Id='{TemplateId}'", templateByScheduleId.Id); + } } else if (templateByName != null) {