feat(api,core,dal): Группы работ - управление автокнотролем

This commit is contained in:
Mikhail Trubnikov
2026-06-18 16:39:35 +10:00
parent 108eb05853
commit 8151ea89b9
18 changed files with 4326 additions and 186 deletions

View File

@@ -1,47 +1,47 @@
namespace PARR.API.Contracts.V1.Requests
{
public class JobGroupRequest
public record JobGroupRequest
{
public required string Name { get; set; }
public required string Name { get; init; }
//public bool? IsUmbrella { get; set; }
public Guid GroupTypeId { get; set; }
public Guid GroupTypeId { get; init; }
/// <summary>
/// Поле по которому групиируем, если тип - ГРУППА
/// </summary>
public Guid? GroupingUnitFieldId { get; set; }
public Guid? GroupingUnitFieldId { get; init; }
public bool? IsGroupByResponsible { get; set; }
public bool? IsGroupByResponsible { get; init; }
public required string ShortDescription { get; set; }
public required string ShortDescription { get; init; }
public required string FullDescription { get; set; }
public required string FullDescription { get; init; }
public required string Solution { get; set; }
public required string Solution { get; init; }
public required string TemplateDuration { get; set; }
public required string TemplateDuration { get; init; }
public DateTimeOffset ReferenceDate { get; set; }
public DateTimeOffset ReferenceDate { get; init; }
public int? UserTimeZoneOffsetMinutes { get; set; }
public int? UserTimeZoneOffsetMinutes { get; init; }
/// <summary>
/// Использовать таймзону рабочей группы ответственного за ЭК шаблона
/// </summary>
public bool IsWorkGroupTimezone { get; set; }
public bool IsWorkGroupTimezone { get; init; }
public Guid ScheduleExcludeTypeId { get; set; }
public Guid ScheduleExcludeTypeId { get; init; }
public Guid? ScheduleExcludeTypeCalendarId { get; set; }
public Guid? ScheduleExcludeTypeCalendarId { get; init; }
public bool IsAutoDistributionEnabled { get; set; }
public bool IsAutoDistributionEnabled { get; init; }
/// <summary>
/// Настройки автораспределения
/// </summary>
public DistributionConfigRequest? DistributionConfig { get; set; }
public DistributionConfigRequest? DistributionConfig { get; init; }
//public bool IsAgent { get; set; }
@@ -51,28 +51,35 @@
//public string? AgentScript { get; set; }
public List<EsppSchValueRequest> Schedule { get; set; } = new List<EsppSchValueRequest>();
public List<EsppSchValueRequest> Schedule { get; init; } = new List<EsppSchValueRequest>();
/// <summary>
/// Настройки автоконтроля (возможны только в случае, если JobGroupType.IsJobGroupAutocontrol==true)
/// </summary>
public JobAutoControlRequest? AutoControl { get; init; }
}
public class EsppSchValueRequest
public record EsppSchValueRequest
{
public Guid TypeValueId { get; set; }
public Guid TypeValueId { get; init; }
public Guid TypeConfigId { get; set; }
public Guid TypeConfigId { get; init; }
}
public class DistributionConfigRequest
public record DistributionConfigRequest
{
public Guid DistributionPeriodId { get; set; }
public Guid DistributionPeriodId { get; init; }
/// <summary>
/// Исключать выходные и праздники
/// </summary>
public bool IsExcludeWeekends { get; set; }
public bool IsExcludeWeekends { get; init; }
/// <summary>
/// Группировать по рабочей группе
/// </summary>
public bool IsGroupingByWorkGroup { get; set; }
public bool IsGroupingByWorkGroup { get; init; }
}
}