feat(api): Обновил логику получения задания роботом для Расписания (nextRun, lastRun))
This commit is contained in:
@@ -27,8 +27,14 @@
|
|||||||
|
|
||||||
public required string RepeatRange { get; set; }
|
public required string RepeatRange { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Время создания наряда
|
||||||
|
/// </summary>
|
||||||
public required string GenerationTime { get; set; }
|
public required string GenerationTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Следующее срабатывание
|
||||||
|
/// </summary>
|
||||||
public required string NextStart { get; set; }
|
public required string NextStart { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using PARR.API.Controllers.V1.Base;
|
|||||||
using PARR.DAL.Contracts;
|
using PARR.DAL.Contracts;
|
||||||
using PARR.DAL.Models;
|
using PARR.DAL.Models;
|
||||||
using PARR.DAL.Services.Interfaces;
|
using PARR.DAL.Services.Interfaces;
|
||||||
|
using PARR.DAL.TransformServices;
|
||||||
|
|
||||||
namespace PARR.API.Controllers.V1
|
namespace PARR.API.Controllers.V1
|
||||||
{
|
{
|
||||||
@@ -16,16 +17,19 @@ namespace PARR.API.Controllers.V1
|
|||||||
private readonly IMapper mapper;
|
private readonly IMapper mapper;
|
||||||
private readonly SettingsFromDb settingsFromDb;
|
private readonly SettingsFromDb settingsFromDb;
|
||||||
private readonly IRobotConfigurationService robotConfigurationService;
|
private readonly IRobotConfigurationService robotConfigurationService;
|
||||||
|
private readonly IEsppScheduleTransformService esppScheduleTransformService;
|
||||||
|
|
||||||
public RobotTaskController(
|
public RobotTaskController(
|
||||||
IMapper mapper,
|
IMapper mapper,
|
||||||
SettingsFromDb settingsFromDb,
|
SettingsFromDb settingsFromDb,
|
||||||
IRobotConfigurationService robotConfigurationService
|
IRobotConfigurationService robotConfigurationService,
|
||||||
|
IEsppScheduleTransformService esppScheduleTransformService
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.mapper = mapper;
|
this.mapper = mapper;
|
||||||
this.settingsFromDb = settingsFromDb;
|
this.settingsFromDb = settingsFromDb;
|
||||||
this.robotConfigurationService = robotConfigurationService;
|
this.robotConfigurationService = robotConfigurationService;
|
||||||
|
this.esppScheduleTransformService = esppScheduleTransformService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -114,6 +118,9 @@ namespace PARR.API.Controllers.V1
|
|||||||
//RobotTaskTemplateResponse
|
//RobotTaskTemplateResponse
|
||||||
return Ok(new Response<RobotTaskTemplateResponse>(mapper.Map<RobotTaskTemplateResponse>(task), true));
|
return Ok(new Response<RobotTaskTemplateResponse>(mapper.Map<RobotTaskTemplateResponse>(task), true));
|
||||||
case RobotsEnum.ScheduleOrder:
|
case RobotsEnum.ScheduleOrder:
|
||||||
|
// если был запрос на расписание, проверяем у него nextRun, lastRun, обновляем их
|
||||||
|
await UpdateLastNextRunDate(task);
|
||||||
|
|
||||||
//RobotTaskScheduleResponse
|
//RobotTaskScheduleResponse
|
||||||
return Ok(new Response<RobotTaskScheduleResponse>(mapper.Map<RobotTaskScheduleResponse>(task), true));
|
return Ok(new Response<RobotTaskScheduleResponse>(mapper.Map<RobotTaskScheduleResponse>(task), true));
|
||||||
default:
|
default:
|
||||||
@@ -122,5 +129,19 @@ namespace PARR.API.Controllers.V1
|
|||||||
|
|
||||||
return BadRequest();
|
return BadRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private async Task UpdateLastNextRunDate(RobotConfiguration task)
|
||||||
|
{
|
||||||
|
var appInWorks = task.Template!.ApplicationsInWork!;
|
||||||
|
|
||||||
|
// передаем LastRun, если его нет, то NextRun
|
||||||
|
var nextRun = await esppScheduleTransformService.GetNextDateAsync(task.Template!.ApplicationInWorkId, task.Template.ApplicationsInWork!.LastRun ?? task.Template.ApplicationsInWork.NextRun);
|
||||||
|
|
||||||
|
appInWorks.LastRun = appInWorks.NextRun;
|
||||||
|
appInWorks.NextRun = nextRun;
|
||||||
|
|
||||||
|
await robotConfigurationService.CommitAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ namespace PARR.API.Controllers.V1
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Изменить статус у шаблона по ИД (активировать/деактивировать)
|
/// Изменить статус у шаблона по ИД (активировать/деактивировать)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id">ИД шаблона</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPut(ApiRoutes.Template.ChangeState)]
|
[HttpPut(ApiRoutes.Template.ChangeState)]
|
||||||
public async Task<IActionResult> ChangeState([FromRoute] Guid id, [FromBody] TemplateChangeStateRequest request)
|
public async Task<IActionResult> ChangeState([FromRoute] Guid id, [FromBody] TemplateChangeStateRequest request)
|
||||||
|
|||||||
@@ -116,8 +116,10 @@ namespace PARR.API.MappingProfiles
|
|||||||
.ForMember(d => d.Exclude, o => o.MapFrom<RobotTaskScheduleExcludeResolver>())
|
.ForMember(d => d.Exclude, o => o.MapFrom<RobotTaskScheduleExcludeResolver>())
|
||||||
.ForMember(d => d.Timezone, o => o.MapFrom<RobotTaskScheduleTimezoneResolver>())
|
.ForMember(d => d.Timezone, o => o.MapFrom<RobotTaskScheduleTimezoneResolver>())
|
||||||
.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.GenerationTime, o => o.MapFrom(s => EsppScheduleHelpers.GetGenerationTime(s.Template!.ApplicationsInWork!.NextRun)))
|
||||||
|
.ForMember(d => d.NextStart, o => o.MapFrom(s => EsppScheduleHelpers.GetNextRun(s.Template!.ApplicationsInWork!.NextRun)))
|
||||||
|
//.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.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))
|
||||||
|
|||||||
@@ -4,18 +4,18 @@ namespace PARR.BLL.Helpers
|
|||||||
{
|
{
|
||||||
public static class EsppScheduleHelpers
|
public static class EsppScheduleHelpers
|
||||||
{
|
{
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// Получить дату первого старта в формате ЕСПП
|
///// Получить дату первого старта в формате ЕСПП
|
||||||
/// </summary>
|
///// </summary>
|
||||||
/// <param name="startDate"></param>
|
///// <param name="startDate"></param>
|
||||||
/// <param name="time"></param>
|
///// <param name="time"></param>
|
||||||
/// <returns></returns>
|
///// <returns></returns>
|
||||||
public static string GetFirstStart(DateOnly startDate, TimeSpan time)
|
//public static string GetFirstStart(DateOnly startDate, TimeSpan time)
|
||||||
{
|
//{
|
||||||
var date = new DateTime(startDate.Year, startDate.Month, startDate.Day, time.Hours, time.Minutes, time.Seconds);
|
// var date = new DateTime(startDate.Year, startDate.Month, startDate.Day, time.Hours, time.Minutes, time.Seconds);
|
||||||
|
|
||||||
return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
// return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
||||||
}
|
//}
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// Получить дату следующего старта в формате для ЕСПП
|
///// Получить дату следующего старта в формате для ЕСПП
|
||||||
@@ -26,5 +26,25 @@ 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 GetGenerationTime(DateTimeOffset date)
|
||||||
|
{
|
||||||
|
return date.ToString("HH:mm:ss", CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить следующее срабатывание в формате ЕСПП
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="date"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetNextRun(DateTimeOffset date)
|
||||||
|
{
|
||||||
|
return date.ToString("dd/MM/yy HH:mm:ss", CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2908
PARR.DAL/Migrations/20231017000631_TblAppInWorksUpdNextLastRun.Designer.cs
generated
Normal file
2908
PARR.DAL/Migrations/20231017000631_TblAppInWorksUpdNextLastRun.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,93 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace PARR.DAL.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class TblAppInWorksUpdNextLastRun : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ScheduleGenerationTime",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ScheduleStartDate",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "AgentName",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "text",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "AgentScript",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "text",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<bool>(
|
||||||
|
name: "IsAgent",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "boolean",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: false);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<DateTimeOffset>(
|
||||||
|
name: "LastRun",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "timestamp with time zone",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<DateTimeOffset>(
|
||||||
|
name: "NextRun",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "timestamp with time zone",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "AgentName",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "AgentScript",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "IsAgent",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "LastRun",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "NextRun",
|
||||||
|
table: "ApplicationsInWorks");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<TimeSpan>(
|
||||||
|
name: "ScheduleGenerationTime",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "interval",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new TimeSpan(0, 0, 0, 0, 0));
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<DateOnly>(
|
||||||
|
name: "ScheduleStartDate",
|
||||||
|
table: "ApplicationsInWorks",
|
||||||
|
type: "date",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new DateOnly(1, 1, 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -392,7 +392,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ApplicationTypeId");
|
b.HasIndex("ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("Applications", (string)null);
|
b.ToTable("Applications");
|
||||||
});
|
});
|
||||||
|
|
||||||
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", (string)null);
|
b.ToTable("ApplicationsInHost");
|
||||||
});
|
});
|
||||||
|
|
||||||
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", (string)null);
|
b.ToTable("ApplicationTypes");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -475,6 +475,12 @@ namespace PARR.DAL.Migrations
|
|||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
.HasColumnType("uuid");
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("AgentName")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<string>("AgentScript")
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<Guid>("ApplicationId")
|
b.Property<Guid>("ApplicationId")
|
||||||
.HasColumnType("uuid");
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
@@ -488,11 +494,14 @@ namespace PARR.DAL.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<TimeSpan>("ScheduleGenerationTime")
|
b.Property<bool>("IsAgent")
|
||||||
.HasColumnType("interval");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
b.Property<DateOnly>("ScheduleStartDate")
|
b.Property<DateTimeOffset?>("LastRun")
|
||||||
.HasColumnType("date");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
|
b.Property<DateTimeOffset>("NextRun")
|
||||||
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<string>("ShortDescription")
|
b.Property<string>("ShortDescription")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
@@ -516,7 +525,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("WorkId", "ApplicationId")
|
b.HasIndex("WorkId", "ApplicationId")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("ApplicationsInWorks", (string)null);
|
b.ToTable("ApplicationsInWorks");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
||||||
@@ -533,7 +542,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("EkStatuses", (string)null);
|
b.ToTable("EkStatuses");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -596,7 +605,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypes", (string)null);
|
b.ToTable("EsppSchTypes");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -665,7 +674,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("TypeScheduleId", "TypeId")
|
b.HasIndex("TypeScheduleId", "TypeId")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeConfigs", (string)null);
|
b.ToTable("EsppSchTypeConfigs");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -768,7 +777,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeSchedules", (string)null);
|
b.ToTable("EsppSchTypeSchedules");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -829,7 +838,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TypeId");
|
b.HasIndex("TypeId");
|
||||||
|
|
||||||
b.ToTable("EsppSchTypeValues", (string)null);
|
b.ToTable("EsppSchTypeValues");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1432,7 +1441,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TypeValueId");
|
b.HasIndex("TypeValueId");
|
||||||
|
|
||||||
b.ToTable("EsppSchValues", (string)null);
|
b.ToTable("EsppSchValues");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||||
@@ -1470,7 +1479,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ResponseAreaCode");
|
b.HasIndex("ResponseAreaCode");
|
||||||
|
|
||||||
b.ToTable("Hosts", (string)null);
|
b.ToTable("Hosts");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
||||||
@@ -1494,7 +1503,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("Processes", (string)null);
|
b.ToTable("Processes");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
|
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
|
||||||
@@ -1511,7 +1520,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("ResponseAreas", (string)null);
|
b.ToTable("ResponseAreas");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1622,7 +1631,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("Name")
|
b.HasIndex("Name")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("Robots", (string)null);
|
b.ToTable("Robots");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1677,7 +1686,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("TemplateId", "RobotCode")
|
b.HasIndex("TemplateId", "RobotCode")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("RobotConfigurations", (string)null);
|
b.ToTable("RobotConfigurations");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
|
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
|
||||||
@@ -1712,7 +1721,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TaskStatusCode");
|
b.HasIndex("TaskStatusCode");
|
||||||
|
|
||||||
b.ToTable("RobotHistories", (string)null);
|
b.ToTable("RobotHistories");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
|
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
|
||||||
@@ -1733,7 +1742,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Level");
|
b.HasKey("Level");
|
||||||
|
|
||||||
b.ToTable("RobotHistoryLevels", (string)null);
|
b.ToTable("RobotHistoryLevels");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1780,7 +1789,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("RobotStatuses", (string)null);
|
b.ToTable("RobotStatuses");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1824,7 +1833,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Name");
|
b.HasKey("Name");
|
||||||
|
|
||||||
b.ToTable("Settings", (string)null);
|
b.ToTable("Settings");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1909,7 +1918,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ProcessId");
|
b.HasIndex("ProcessId");
|
||||||
|
|
||||||
b.ToTable("Subprocesses", (string)null);
|
b.ToTable("Subprocesses");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
|
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
|
||||||
@@ -1930,7 +1939,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Code");
|
b.HasKey("Code");
|
||||||
|
|
||||||
b.ToTable("TaskStatuses", (string)null);
|
b.ToTable("TaskStatuses");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -1993,7 +2002,7 @@ namespace PARR.DAL.Migrations
|
|||||||
b.HasIndex("Name")
|
b.HasIndex("Name")
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
|
|
||||||
b.ToTable("Templates", (string)null);
|
b.ToTable("Templates");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
|
||||||
@@ -2022,7 +2031,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("SubprocessId");
|
b.HasIndex("SubprocessId");
|
||||||
|
|
||||||
b.ToTable("Tnks", (string)null);
|
b.ToTable("Tnks");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
|
||||||
@@ -2048,7 +2057,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("ApplicationTypeId");
|
b.HasIndex("ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_Applications", (string)null);
|
b.ToTable("V1_Applications");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
|
||||||
@@ -2080,7 +2089,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("V1_ApplicationId");
|
b.HasIndex("V1_ApplicationId");
|
||||||
|
|
||||||
b.ToTable("V1_ApplicationsInHost", (string)null);
|
b.ToTable("V1_ApplicationsInHost");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
|
||||||
@@ -2109,7 +2118,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("V1_ApplicationTypeId");
|
b.HasIndex("V1_ApplicationTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_ApplicationTypes", (string)null);
|
b.ToTable("V1_ApplicationTypes");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
|
||||||
@@ -2148,7 +2157,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_Hosts", (string)null);
|
b.ToTable("V1_Hosts");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
|
||||||
@@ -2202,7 +2211,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("JobTypeId");
|
b.HasIndex("JobTypeId");
|
||||||
|
|
||||||
b.ToTable("V1_Jobs", (string)null);
|
b.ToTable("V1_Jobs");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
|
||||||
@@ -2226,7 +2235,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobCategorys", (string)null);
|
b.ToTable("V1_JobCategorys");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
|
||||||
@@ -2270,7 +2279,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("JobStatusId");
|
b.HasIndex("JobStatusId");
|
||||||
|
|
||||||
b.ToTable("V1_JobJournals", (string)null);
|
b.ToTable("V1_JobJournals");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
|
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
|
||||||
@@ -2291,7 +2300,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobModes", (string)null);
|
b.ToTable("V1_JobModes");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -2329,7 +2338,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobStatuses", (string)null);
|
b.ToTable("V1_JobStatuses");
|
||||||
|
|
||||||
b.HasData(
|
b.HasData(
|
||||||
new
|
new
|
||||||
@@ -2369,7 +2378,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("V1_JobTypes", (string)null);
|
b.ToTable("V1_JobTypes");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
|
||||||
@@ -2398,7 +2407,7 @@ namespace PARR.DAL.Migrations
|
|||||||
|
|
||||||
b.HasIndex("TnkId");
|
b.HasIndex("TnkId");
|
||||||
|
|
||||||
b.ToTable("Works", (string)null);
|
b.ToTable("Works");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
|
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
|
||||||
|
|||||||
@@ -43,15 +43,40 @@ namespace PARR.DAL.Models
|
|||||||
///// </summary>
|
///// </summary>
|
||||||
//public string AgentName { get; set; } = string.Empty;
|
//public string AgentName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс)
|
///// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс)
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public TimeSpan ScheduleGenerationTime { get; set; }
|
//public TimeSpan ScheduleGenerationTime { get; set; }
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// Расписание: Первое срабатывание
|
||||||
|
///// </summary>
|
||||||
|
//public DateOnly ScheduleStartDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Расписание: Первое срабатывание
|
/// Время последнего запуска скрипта/генерации наряда
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateOnly ScheduleStartDate { get; set; }
|
public DateTimeOffset? LastRun { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Время следующего запуска скрипта/генерации наряда
|
||||||
|
/// </summary>
|
||||||
|
public DateTimeOffset NextRun { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Выполняет агент
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAgent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Какое-то имя которое мы передаем агенту, пока непонятно что это такое.
|
||||||
|
/// </summary>
|
||||||
|
public string? AgentName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Скрипт для автоматического выполнения
|
||||||
|
/// </summary>
|
||||||
|
public string? AgentScript { get; set; }
|
||||||
|
|
||||||
[ForeignKey(nameof(WorkId))]
|
[ForeignKey(nameof(WorkId))]
|
||||||
public Work? Work { get; set; }
|
public Work? Work { get; set; }
|
||||||
|
|||||||
@@ -163,7 +163,5 @@ namespace PARR.GeneratorTemplates.Services
|
|||||||
else
|
else
|
||||||
existTemplates.ForEach(item => logger.LogError($"Ошибка при дактивации шаблона: {item.Name}"));
|
existTemplates.ForEach(item => logger.LogError($"Ошибка при дактивации шаблона: {item.Name}"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user