feat(api): JobAutoControlController - управление автоматическим созданием/деактивацией/активацией РР

This commit is contained in:
Mikhail Trubnikov
2024-09-09 15:48:49 +10:00
parent c74086412b
commit 60c525da54
13 changed files with 3505 additions and 8 deletions

View File

@@ -263,7 +263,7 @@
public static class StatWorkGroupWorkLoad
{
public const string Get = BaseStat + "/work-group-workloads/{responseAreaCode}";
public const string GetByWorkGroups= BaseStat + "/work-group-workloads/";
public const string GetByWorkGroups = BaseStat + "/work-group-workloads/";
}
public static class StatWorkWorkLoad
@@ -361,6 +361,17 @@
}
public static class JobAutoControl
{
public const string Get = "/jobs/" + appInWorkId + "/auto-control";
public const string Create = "/jobs/" + appInWorkId + "/auto-control";
public const string Update = "/jobs/" + appInWorkId + "/auto-control";
public const string Delete = "/jobs/" + appInWorkId + "/auto-control";
public const string appInWorkId = "{applicationInWorkId}";
}
/// <summary>
/// Активатор/деактиватор шаблонов/расписаний
/// </summary>

View File

@@ -0,0 +1,52 @@
using PARR.DAL.Contracts;
namespace PARR.API.Contracts.V1.Requests
{
public class JobAutoControlRequest
{
/// <summary>
/// Создавать новые РР (из настроке РР)
/// </summary>
public bool CreateNew { get; set; }
/// <summary>
/// Деактивировать не актуальные согласно ЭК (обратные статусы ЭК)
/// </summary>
public bool Deactivate { get; set; }
/// <summary>
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
/// </summary>
public bool Activate { get; set; }
/// <summary>
/// Состояние для активированных РР, шаблоны
/// </summary>
public bool OnTemplateIsActive { get; set; }
/// <summary>
/// Состояние для активированных РР, расписания
/// </summary>
public bool OnScheduleIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, шаблоны
/// </summary>
public bool OffTemplateIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, расписания
/// </summary>
public bool OffScheduleIsActive { get; set; }
/// <summary>
/// Маски ЭК
/// </summary>
public required List<string> EkMasks { get; set; }
/// <summary>
/// Статусы ЭК для которых включена генерация РР и активация
/// </summary>
public required List<EkStatusEnum> EnabledEkStatuses { get; set; }
}
}

View File

@@ -0,0 +1,64 @@
namespace PARR.API.Contracts.V1.Responses
{
public class JobAutoControlResponse
{
public Guid Id { get; set; }
public Guid ApplicationInWorkId { get; set; }
/// <summary>
/// Создавать новые РР (из настроке РР)
/// </summary>
public bool CreateNew { get; set; }
/// <summary>
/// Деактивировать не актуальные согласно ЭК (обратные статусы ЭК)
/// </summary>
public bool Deactivate { get; set; }
/// <summary>
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
/// </summary>
public bool Activate { get; set; }
/// <summary>
/// Состояние для активированных РР, шаблоны
/// </summary>
public bool OnTemplateIsActive { get; set; }
/// <summary>
/// Состояние для активированных РР, расписания
/// </summary>
public bool OnScheduleIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, шаблоны
/// </summary>
public bool OffTemplateIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, расписания
/// </summary>
public bool OffScheduleIsActive { get; set; }
/// <summary>
/// Маски ЭК
/// </summary>
public List<JobEkMaskResponse>? EkMasks { get; set; }
/// <summary>
/// Статусы ЭК для которых включена генерация РР и активация
/// </summary>
public List<EkStatusResponse>? EnabledEkStatuses{ get; set; }
/// <summary>
/// Краткое описание
/// </summary>
public required string ShortDescription { get; set; }
/// <summary>
/// Рабочие группы
/// </summary>
public List<WorkGroupResponse>? WorkGroups { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace PARR.API.Contracts.V1.Responses
{
public class JobEkMaskResponse
{
public Guid Id { get; set; }
public required string Name { get; set; }
}
}