From aa5cf63fca559f074a13aa2cd863cc2c7e0e637c Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Fri, 2 Aug 2024 09:38:05 +1000 Subject: [PATCH] =?UTF-8?q?feat(esppSync):=20=D0=BE=D0=B1=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8.=20=D0=9C=D0=B5=D0=BD=D1=8F=D1=82?= =?UTF-8?q?=D1=8C=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=20=D0=BD=D0=B0=20?= =?UTF-8?q?Update,=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B5=D1=81?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BF=D1=80=D0=B5=D0=B4=D1=8B=D0=B4=D1=83=D1=89?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B1=D1=8B=D0=BB=20Update=20(=D1=82=D0=BE=D0=B3?= =?UTF-8?q?=D0=B4=D0=B0=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D1=8F=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20=D1=87=D0=B8=D1=81=D0=BB=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BF=D1=8B=D1=82=D0=BE=D0=BA=20=D0=B8=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE?= =?UTF-8?q?=D0=BA).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.EsppSync/SyncService.cs | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/PARR.EsppSync/SyncService.cs b/PARR.EsppSync/SyncService.cs index 630b5294..f2ad77dc 100644 --- a/PARR.EsppSync/SyncService.cs +++ b/PARR.EsppSync/SyncService.cs @@ -84,12 +84,34 @@ namespace PARR.EsppSync { logger.LogInformation($"Есть изменения, требуется обновление. {esppObject.TemplateName}"); - SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot); + var config = robotConfigurationService.GetFromTemplateByRobotCode(esppObject.Robot, ref template); - if (!await templateService.CommitAsync()) - logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}"); + // Если предыдущий статус был Create или Ок, то ставим ему Update + // пусть даже Create завершился с ошибками, но раз он уже есть в ЕСПП, то изменим на Update, сбросим все счетчики и пусть попробует обновить и исправить все + if (config.TaskStatusCode != (int)TaskStatusEnum.Updating) + { + SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot); + + if (!await templateService.CommitAsync()) + logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}"); + else + logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}"); + } else - logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}"); + { + // Если пред статус был Update, то ничего не делаем, так его и оставляем, не сбрасывам кол-во попыток и ошибок + logger.LogInformation($"Есть изменения в Template {template.Name}, но предыдущий статус TaskStatusCode: {(TaskStatusEnum)config.TaskStatusCode}. Не меняем статус, будем разбираться вручную."); + } + + #region Old logic + + //SetUpdateStatus(ref template, robotConfigurationService, esppObject.Robot); + + //if (!await templateService.CommitAsync()) + // logger.LogError($"Не удалось изменить запись Template {template.Name}, Robot: {esppObject.Robot}"); + //else + // logger.LogInformation($"Установлен принудительный статус {TaskStatusEnum.Updating}, Template {template.Name}, Robot: {esppObject.Robot}"); + #endregion }//надо ли проверять если не изменился, но был статус Updating не понятно. Доверяем роботу пока, что после окончания работ он точно сообщит else {