feat(api): в ApplicationInWork добавлена информация о статусах AutoControl

This commit is contained in:
Mikhail Trubnikov
2024-09-11 14:59:37 +10:00
parent a8416564c2
commit 295a95c22a
4 changed files with 21 additions and 14 deletions

View File

@@ -47,6 +47,8 @@
public ApplicationInWorkScheduleResponse? Schedule { get; set; } public ApplicationInWorkScheduleResponse? Schedule { get; set; }
public List<WorkGroupResponse>? WorkGroups { get; set; } public List<WorkGroupResponse>? WorkGroups { get; set; }
public JobAutoControlBaseResponse? AutoControl { get; set; }
} }

View File

@@ -1,11 +1,7 @@
namespace PARR.API.Contracts.V1.Responses namespace PARR.API.Contracts.V1.Responses
{ {
public class JobAutoControlResponse public class JobAutoControlBaseResponse
{ {
public Guid Id { get; set; }
public Guid ApplicationInWorkId { get; set; }
/// <summary> /// <summary>
/// Создавать новые РР (из настроке РР) /// Создавать новые РР (из настроке РР)
/// </summary> /// </summary>
@@ -20,6 +16,13 @@
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК) /// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
/// </summary> /// </summary>
public bool Activate { get; set; } public bool Activate { get; set; }
}
public class JobAutoControlResponse : JobAutoControlBaseResponse
{
public Guid Id { get; set; }
public Guid ApplicationInWorkId { get; set; }
/// <summary> /// <summary>
/// Состояние для активированных РР, шаблоны /// Состояние для активированных РР, шаблоны
@@ -51,11 +54,6 @@
/// </summary> /// </summary>
public List<EkStatusResponse>? EnabledEkStatuses { get; set; } public List<EkStatusResponse>? EnabledEkStatuses { get; set; }
/// <summary>
/// Краткое описание
/// </summary>
public required string ShortDescription { get; set; }
/// <summary> /// <summary>
/// Рабочие группы /// Рабочие группы
/// </summary> /// </summary>

View File

@@ -74,7 +74,8 @@ namespace PARR.API.Controllers.V1
query = query query = query
.Include(t => t.Work) .Include(t => t.Work)
//.Include(t => t.Templates) - большой запрос, делаем его отдельно //.Include(t => t.Templates) - большой запрос, делаем его отдельно
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup); .Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.Include(t => t.JobAutoControl);
} }
query = query.OrderBy(t => t.ShortDescription).ThenBy(t => t.Application!.Name); query = query.OrderBy(t => t.ShortDescription).ThenBy(t => t.Application!.Name);
@@ -123,6 +124,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Work) .Include(t => t.Work)
//.Include(t => t.Templates) //.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup) .Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.Include(t => t.JobAutoControl)
.FirstOrDefaultAsync(t => t.Id == id); .FirstOrDefaultAsync(t => t.Id == id);
if (applicationInWork == null) if (applicationInWork == null)
@@ -206,6 +208,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Work) .Include(t => t.Work)
//.Include(t => t.Templates) //.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup) .Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.Include(t => t.JobAutoControl)
.FirstAsync(t => t.Id == applicationInWork.Id); .FirstAsync(t => t.Id == applicationInWork.Id);
var locationUri = uriService.GetUri(ApiRoutes.Job.Get, ApiRoutes.Job.getParam, createdApplicationInWork.Id); var locationUri = uriService.GetUri(ApiRoutes.Job.Get, ApiRoutes.Job.getParam, createdApplicationInWork.Id);
@@ -320,6 +323,7 @@ namespace PARR.API.Controllers.V1
.Include(t => t.Work) .Include(t => t.Work)
//.Include(t => t.Templates) //.Include(t => t.Templates)
.Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup) .Include(t => t.WorkGroups).ThenInclude(t => t.WorkGroup)
.Include(t => t.JobAutoControl)
.FirstAsync(t => t.Id == orig.Id); .FirstAsync(t => t.Id == orig.Id);
var response = mapper.Map<ApplicationInWorkResponse>(updatedApplicationInWork); var response = mapper.Map<ApplicationInWorkResponse>(updatedApplicationInWork);

View File

@@ -271,16 +271,19 @@ namespace PARR.API.MappingProfiles
.ForMember(d => d.Work, o => o.MapFrom(s => s.Work)) .ForMember(d => d.Work, o => o.MapFrom(s => s.Work))
.ForMember(d => d.TemplatesCount, o => o.MapFrom(s => s.Templates.Count())) .ForMember(d => d.TemplatesCount, o => o.MapFrom(s => s.Templates.Count()))
.ForMember(d => d.Schedule, o => o.MapFrom<ApplicationInWorkScheduleResolver>()) .ForMember(d => d.Schedule, o => o.MapFrom<ApplicationInWorkScheduleResolver>())
.ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.WorkGroups.OrderBy(t => t.WorkGroup.Name).Select(t => t.WorkGroup))); .ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.WorkGroups.OrderBy(t => t.WorkGroup.Name).Select(t => t.WorkGroup)))
.ForMember(d => d.AutoControl, o => o.MapFrom(s => s.JobAutoControl));
#endregion #endregion
#region JobAutoControl #region JobAutoControl
CreateMap<JobAutoControl, JobAutoControlBaseResponse>()
.Include<JobAutoControl, JobAutoControlResponse>();
CreateMap<JobAutoControl, JobAutoControlResponse>() CreateMap<JobAutoControl, JobAutoControlResponse>()
.ForMember(d => d.EkMasks, o => o.MapFrom(s => s.JobEkMasks.OrderBy(t => t.Name))) .ForMember(d => d.EkMasks, o => o.MapFrom(s => s.JobEkMasks.OrderBy(t => t.Name)))
.ForMember(d => d.EnabledEkStatuses, o => o.MapFrom(s => s.JobAutoControlInEkStatuses.Select(t => t.EkStatus).OrderBy(t => t.Name))) .ForMember(d => d.EnabledEkStatuses, o => o.MapFrom(s => s.JobAutoControlInEkStatuses.Select(t => t.EkStatus).OrderBy(t => t.Name)))
.ForMember(d => d.ShortDescription, o => o.MapFrom(s => s.ApplicationsInWork.ShortDescription))
.ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.ApplicationsInWork.WorkGroups.Select(t => t.WorkGroup).OrderBy(t => t.Name))); .ForMember(d => d.WorkGroups, o => o.MapFrom(s => s.ApplicationsInWork.WorkGroups.Select(t => t.WorkGroup).OrderBy(t => t.Name)));