feat(api): Изменение состояния у шаблона/расписания (акивировано/деактивировано)
This commit is contained in:
@@ -56,6 +56,7 @@
|
|||||||
{
|
{
|
||||||
public const string GetAll = Base + "/templates/";
|
public const string GetAll = Base + "/templates/";
|
||||||
public const string Get = Base + "/templates/" + getParam;
|
public const string Get = Base + "/templates/" + getParam;
|
||||||
|
public const string ChangeState = Base + "/templates/" + getParam + "/change-state";
|
||||||
//public const string SetOkStatus = Base + "/templates/" + getParam + "/status/ok";
|
//public const string SetOkStatus = Base + "/templates/" + getParam + "/status/ok";
|
||||||
//public const string GetByStatusCode = Base + "/templates/status/{statusCode}";
|
//public const string GetByStatusCode = Base + "/templates/status/{statusCode}";
|
||||||
|
|
||||||
|
|||||||
15
PARR.API/Contracts/V1/Requests/TemplateChangeStateRequest.cs
Normal file
15
PARR.API/Contracts/V1/Requests/TemplateChangeStateRequest.cs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
namespace PARR.API.Contracts.V1.Requests
|
||||||
|
{
|
||||||
|
public class TemplateChangeStateRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Активировать шаблон
|
||||||
|
/// </summary>
|
||||||
|
public bool IsActiveTemplate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Активировать расписание
|
||||||
|
/// </summary>
|
||||||
|
public bool IsActiveSchedule { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using PARR.API.Contracts.V1;
|
using PARR.API.Contracts.V1;
|
||||||
|
using PARR.API.Contracts.V1.Requests;
|
||||||
using PARR.API.Contracts.V1.Requests.Queries;
|
using PARR.API.Contracts.V1.Requests.Queries;
|
||||||
using PARR.API.Contracts.V1.Responses;
|
using PARR.API.Contracts.V1.Responses;
|
||||||
using PARR.API.Contracts.V1.Responses.Base;
|
using PARR.API.Contracts.V1.Responses.Base;
|
||||||
@@ -20,16 +21,19 @@ namespace PARR.API.Controllers.V1
|
|||||||
private readonly IMapper mapper;
|
private readonly IMapper mapper;
|
||||||
private readonly ITemplateService templateService;
|
private readonly ITemplateService templateService;
|
||||||
private readonly SettingsFromDb settingsFromDb;
|
private readonly SettingsFromDb settingsFromDb;
|
||||||
|
private readonly IRobotConfigurationService robotConfigurationService;
|
||||||
|
|
||||||
public TemplateController(
|
public TemplateController(
|
||||||
IMapper mapper,
|
IMapper mapper,
|
||||||
ITemplateService templateService,
|
ITemplateService templateService,
|
||||||
SettingsFromDb settingsFromDb
|
SettingsFromDb settingsFromDb,
|
||||||
|
IRobotConfigurationService robotConfigurationService
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.mapper = mapper;
|
this.mapper = mapper;
|
||||||
this.templateService = templateService;
|
this.templateService = templateService;
|
||||||
this.settingsFromDb = settingsFromDb;
|
this.settingsFromDb = settingsFromDb;
|
||||||
|
this.robotConfigurationService = robotConfigurationService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +48,7 @@ namespace PARR.API.Controllers.V1
|
|||||||
var paginationFilter = mapper.Map<PaginationFilter>(paginationQuery);
|
var paginationFilter = mapper.Map<PaginationFilter>(paginationQuery);
|
||||||
|
|
||||||
IQueryable<Template> query = templateService.GetWithIncludes()
|
IQueryable<Template> query = templateService.GetWithIncludes()
|
||||||
.Include(t => t.RobotConfigurations).ThenInclude(t=>t.Robot)
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.Robot)
|
||||||
.Include(t => t.RobotConfigurations).ThenInclude(t => t.TaskStatus)
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.TaskStatus)
|
||||||
.Include(t => t.RobotConfigurations).ThenInclude(t => t.RobotStatus)
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.RobotStatus)
|
||||||
.OrderBy(t => t.Name)
|
.OrderBy(t => t.Name)
|
||||||
@@ -88,6 +92,56 @@ namespace PARR.API.Controllers.V1
|
|||||||
return Ok(new Response<TemplateResponse>(response, true));
|
return Ok(new Response<TemplateResponse>(response, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Изменить статус у шаблона по ИД (активировать/деактивировать)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPut(ApiRoutes.Template.ChangeState)]
|
||||||
|
public async Task<IActionResult> ChangeState([FromRoute] Guid id, [FromBody] TemplateChangeStateRequest request)
|
||||||
|
{
|
||||||
|
var template = await templateService.GetWithIncludes()
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.Robot)
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.TaskStatus)
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.RobotStatus)
|
||||||
|
.AsSplitQuery()
|
||||||
|
.FirstOrDefaultAsync(t => t.Id == id);
|
||||||
|
|
||||||
|
if (template == null)
|
||||||
|
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = $"Не найден шаблона с id: {id}" } }));
|
||||||
|
|
||||||
|
if (template.IsActiveTemplate != request.IsActiveTemplate)
|
||||||
|
{
|
||||||
|
template.IsActiveTemplate = request.IsActiveTemplate;
|
||||||
|
//необходимо обновить шаблон
|
||||||
|
var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.TemplateOrder, ref template);
|
||||||
|
robotConfigurationService.ChangeTaskStatus(TaskStatusEnum.Updating, ref config);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (template.IsActiveSchedule != request.IsActiveSchedule)
|
||||||
|
{
|
||||||
|
template.IsActiveSchedule = request.IsActiveSchedule;
|
||||||
|
//необходимо обновить расписание
|
||||||
|
var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.ScheduleOrder, ref template);
|
||||||
|
robotConfigurationService.ChangeTaskStatus(TaskStatusEnum.Updating, ref config);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!await templateService.CommitAsync())
|
||||||
|
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = "Ошибка при изменении шаблона." } }));
|
||||||
|
|
||||||
|
var templateToResponse = await templateService.GetWithIncludes()
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.Robot)
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.TaskStatus)
|
||||||
|
.Include(t => t.RobotConfigurations).ThenInclude(t => t.RobotStatus)
|
||||||
|
.AsSplitQuery()
|
||||||
|
.FirstOrDefaultAsync(t => t.Id == id);
|
||||||
|
|
||||||
|
var response = mapper.Map<TemplateResponse>(templateToResponse);
|
||||||
|
|
||||||
|
return Ok(new Response<TemplateResponse>(response, true));
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить один шаблон по заданному статусу
|
/// Получить один шаблон по заданному статусу
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ namespace PARR.API.MappingProfiles
|
|||||||
.ForMember(d => d.RepeatRange, o => o.MapFrom<RobotTaskScheduleRepeatRangeResolver>())
|
.ForMember(d => d.RepeatRange, o => o.MapFrom<RobotTaskScheduleRepeatRangeResolver>())
|
||||||
.ForMember(d => d.GenerationTime, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.ScheduleGenerationTime))
|
.ForMember(d => d.GenerationTime, o => o.MapFrom(s => s.Template!.ApplicationsInWork!.ScheduleGenerationTime))
|
||||||
.ForMember(d => d.NextStart, o => o.MapFrom(s => EsppScheduleHelpers.GetFirstStart(s.Template!.ApplicationsInWork!.ScheduleStartDate, s.Template!.ApplicationsInWork!.ScheduleGenerationTime)))
|
.ForMember(d => d.NextStart, o => o.MapFrom(s => EsppScheduleHelpers.GetFirstStart(s.Template!.ApplicationsInWork!.ScheduleStartDate, s.Template!.ApplicationsInWork!.ScheduleGenerationTime)))
|
||||||
|
//.ForMember(d => d.NextStart, o => o.MapFrom(s => EsppScheduleHelpers.GetNextScheduleStart(s.Template!.NextScheduleStart)))
|
||||||
.ForMember(d => d.ScheduleType, o => o.MapFrom(s =>
|
.ForMember(d => d.ScheduleType, o => o.MapFrom(s =>
|
||||||
s.Template!.ApplicationsInWork!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Description))
|
s.Template!.ApplicationsInWork!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Description))
|
||||||
.ForMember(d => d.ScheduleTypeCode, o => o.MapFrom(s =>
|
.ForMember(d => d.ScheduleTypeCode, o => o.MapFrom(s =>
|
||||||
|
|||||||
@@ -16,5 +16,15 @@ namespace PARR.BLL.Helpers
|
|||||||
|
|
||||||
return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Получить дату следующего старта в формате для ЕСПП
|
||||||
|
///// </summary>
|
||||||
|
///// <param name="date"></param>
|
||||||
|
///// <returns></returns>
|
||||||
|
//public static string GetNextScheduleStart(DateTimeOffset date)
|
||||||
|
//{
|
||||||
|
// return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
namespace PARR.DAL.Contracts
|
namespace PARR.DAL.Contracts
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Статус задания на синхронизацию
|
||||||
|
/// </summary>
|
||||||
public enum TaskStatusEnum
|
public enum TaskStatusEnum
|
||||||
{
|
{
|
||||||
Creating = 10,
|
Creating = 10,
|
||||||
|
|||||||
@@ -392,7 +392,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ApplicationTypeId");
|
b.HasIndex("ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("Applications");
|
b.ToTable("Applications", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.ApplicationInHost", b =>
|
modelBuilder.Entity("PARR.DAL.Models.ApplicationInHost", b =>
|
||||||
@@ -419,7 +419,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("HostId");
|
b.HasIndex("HostId");
|
||||||
|
|
||||||
b.ToTable("ApplicationsInHost");
|
b.ToTable("ApplicationsInHost", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.ApplicationType", b =>
|
modelBuilder.Entity("PARR.DAL.Models.ApplicationType", b =>
|
||||||
@@ -443,7 +443,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("ApplicationTypes");
|
b.ToTable("ApplicationTypes", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -516,7 +516,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("WorkId", "ApplicationId")
|
b.HasIndex("WorkId", "ApplicationId")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("ApplicationsInWorks");
|
b.ToTable("ApplicationsInWorks", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
||||||
@@ -533,7 +533,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("EkStatuses");
|
b.ToTable("EkStatuses", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -596,7 +596,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypes");
|
b.ToTable("EsppSchTypes", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -665,7 +665,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("TypeScheduleId", "TypeId")
|
b.HasIndex("TypeScheduleId", "TypeId")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeConfigs");
|
b.ToTable("EsppSchTypeConfigs", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -768,7 +768,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeSchedules");
|
b.ToTable("EsppSchTypeSchedules", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -829,7 +829,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TypeId");
|
b.HasIndex("TypeId");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeValues");
|
b.ToTable("EsppSchTypeValues", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1432,7 +1432,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TypeValueId");
|
b.HasIndex("TypeValueId");
|
||||||
|
|
||||||
b.ToTable("EsppSchValues");
|
b.ToTable("EsppSchValues", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||||
@@ -1470,7 +1470,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ResponseAreaCode");
|
b.HasIndex("ResponseAreaCode");
|
||||||
|
|
||||||
b.ToTable("Hosts");
|
b.ToTable("Hosts", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
||||||
@@ -1494,7 +1494,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("Processes");
|
b.ToTable("Processes", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
|
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
|
||||||
@@ -1511,7 +1511,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("ResponseAreas");
|
b.ToTable("ResponseAreas", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1622,7 +1622,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("Name")
|
b.HasIndex("Name")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("Robots");
|
b.ToTable("Robots", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1677,7 +1677,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("TemplateId", "RobotCode")
|
b.HasIndex("TemplateId", "RobotCode")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("RobotConfigurations");
|
b.ToTable("RobotConfigurations", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
|
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
|
||||||
@@ -1712,7 +1712,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TaskStatusCode");
|
b.HasIndex("TaskStatusCode");
|
||||||
|
|
||||||
b.ToTable("RobotHistories");
|
b.ToTable("RobotHistories", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
|
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
|
||||||
@@ -1733,7 +1733,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Level");
|
b.HasKey("Level");
|
||||||
|
|
||||||
b.ToTable("RobotHistoryLevels");
|
b.ToTable("RobotHistoryLevels", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1780,7 +1780,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("RobotStatuses");
|
b.ToTable("RobotStatuses", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1824,7 +1824,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Name");
|
b.HasKey("Name");
|
||||||
|
|
||||||
b.ToTable("Settings");
|
b.ToTable("Settings", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1909,7 +1909,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ProcessId");
|
b.HasIndex("ProcessId");
|
||||||
|
|
||||||
b.ToTable("Subprocesses");
|
b.ToTable("Subprocesses", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
|
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
|
||||||
@@ -1930,7 +1930,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("TaskStatuses");
|
b.ToTable("TaskStatuses", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1993,7 +1993,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("Name")
|
b.HasIndex("Name")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("Templates");
|
b.ToTable("Templates", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
|
||||||
@@ -2022,7 +2022,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("SubprocessId");
|
b.HasIndex("SubprocessId");
|
||||||
|
|
||||||
b.ToTable("Tnks");
|
b.ToTable("Tnks", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
|
||||||
@@ -2048,7 +2048,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ApplicationTypeId");
|
b.HasIndex("ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_Applications");
|
b.ToTable("V1_Applications", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
|
||||||
@@ -2080,7 +2080,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("V1_ApplicationId");
|
b.HasIndex("V1_ApplicationId");
|
||||||
|
|
||||||
b.ToTable("V1_ApplicationsInHost");
|
b.ToTable("V1_ApplicationsInHost", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
|
||||||
@@ -2109,7 +2109,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("V1_ApplicationTypeId");
|
b.HasIndex("V1_ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_ApplicationTypes");
|
b.ToTable("V1_ApplicationTypes", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
|
||||||
@@ -2148,7 +2148,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_Hosts");
|
b.ToTable("V1_Hosts", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
|
||||||
@@ -2202,7 +2202,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("JobTypeId");
|
b.HasIndex("JobTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_Jobs");
|
b.ToTable("V1_Jobs", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
|
||||||
@@ -2226,7 +2226,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobCategorys");
|
b.ToTable("V1_JobCategorys", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
|
||||||
@@ -2270,7 +2270,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("JobStatusId");
|
b.HasIndex("JobStatusId");
|
||||||
|
|
||||||
b.ToTable("V1_JobJournals");
|
b.ToTable("V1_JobJournals", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
|
||||||
@@ -2291,7 +2291,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobModes");
|
b.ToTable("V1_JobModes", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -2329,7 +2329,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobStatuses");
|
b.ToTable("V1_JobStatuses", (string)null);
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -2369,7 +2369,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobTypes");
|
b.ToTable("V1_JobTypes", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
|
||||||
@@ -2398,7 +2398,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TnkId");
|
b.HasIndex("TnkId");
|
||||||
|
|
||||||
b.ToTable("Works");
|
b.ToTable("Works", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
|
||||||
|
|||||||
@@ -28,13 +28,28 @@ namespace PARR.DAL.Models
|
|||||||
|
|
||||||
public required string Solution { get; set; }
|
public required string Solution { get; set; }
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Выполняется автоматически агентом на сервере, скриптами
|
||||||
|
///// </summary>
|
||||||
|
//public bool? IsAutomatic { get; set; }
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Скрипт для автоматического выполнения
|
||||||
|
///// </summary>
|
||||||
|
//public string AgentScript { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Какое-то имя которое мы передаем агенту, пока непонятно что это такое.
|
||||||
|
///// </summary>
|
||||||
|
//public string AgentName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Расписание: Время создания наряда (чч:мм:сс)
|
/// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TimeSpan ScheduleGenerationTime { get; set; }
|
public TimeSpan ScheduleGenerationTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Расписание: Следующее срабатывание
|
/// Расписание: Первое срабатывание
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateOnly ScheduleStartDate { get; set; }
|
public DateOnly ScheduleStartDate { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,17 @@ namespace PARR.DAL.Models
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string? ScheduleEsppId { get; set; }
|
public string? ScheduleEsppId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Следующая дата срабатываения генерации наряда
|
||||||
|
///// </summary>
|
||||||
|
//public DateTimeOffset NextScheduleStart { get; set; }
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Следующа дата выполнения скрипта агентом. Может быть нулл если шаблон не автоматический (не выполняется скриптом)
|
||||||
|
///// </summary>
|
||||||
|
//public DateTimeOffset? NextScriptStart { get; set; }
|
||||||
|
|
||||||
public Guid ApplicationInWorkId { get; set; }
|
public Guid ApplicationInWorkId { get; set; }
|
||||||
|
|
||||||
[ForeignKey(nameof(ApplicationInWorkId))]
|
[ForeignKey(nameof(ApplicationInWorkId))]
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ using PARR.BLL.Services.Interfaces;
|
|||||||
using PARR.DAL.Models;
|
using PARR.DAL.Models;
|
||||||
using PARR.GeneratorTemplates.Services;
|
using PARR.GeneratorTemplates.Services;
|
||||||
using PARR.GeneratorTemplates.Settings;
|
using PARR.GeneratorTemplates.Settings;
|
||||||
using System.Text;
|
|
||||||
using System.Text.Json;
|
|
||||||
|
|
||||||
namespace PARR.GeneratorTemplates
|
namespace PARR.GeneratorTemplates
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user