feat(api): Обновил логику получения задания роботом для Расписания (nextRun, lastRun))
This commit is contained in:
@@ -27,8 +27,14 @@
|
||||
|
||||
public required string RepeatRange { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Время создания наряда
|
||||
/// </summary>
|
||||
public required string GenerationTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Следующее срабатывание
|
||||
/// </summary>
|
||||
public required string NextStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -8,6 +8,7 @@ using PARR.API.Controllers.V1.Base;
|
||||
using PARR.DAL.Contracts;
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.Services.Interfaces;
|
||||
using PARR.DAL.TransformServices;
|
||||
|
||||
namespace PARR.API.Controllers.V1
|
||||
{
|
||||
@@ -16,16 +17,19 @@ namespace PARR.API.Controllers.V1
|
||||
private readonly IMapper mapper;
|
||||
private readonly SettingsFromDb settingsFromDb;
|
||||
private readonly IRobotConfigurationService robotConfigurationService;
|
||||
private readonly IEsppScheduleTransformService esppScheduleTransformService;
|
||||
|
||||
public RobotTaskController(
|
||||
IMapper mapper,
|
||||
SettingsFromDb settingsFromDb,
|
||||
IRobotConfigurationService robotConfigurationService
|
||||
IRobotConfigurationService robotConfigurationService,
|
||||
IEsppScheduleTransformService esppScheduleTransformService
|
||||
)
|
||||
{
|
||||
this.mapper = mapper;
|
||||
this.settingsFromDb = settingsFromDb;
|
||||
this.robotConfigurationService = robotConfigurationService;
|
||||
this.esppScheduleTransformService = esppScheduleTransformService;
|
||||
}
|
||||
|
||||
|
||||
@@ -114,6 +118,9 @@ namespace PARR.API.Controllers.V1
|
||||
//RobotTaskTemplateResponse
|
||||
return Ok(new Response<RobotTaskTemplateResponse>(mapper.Map<RobotTaskTemplateResponse>(task), true));
|
||||
case RobotsEnum.ScheduleOrder:
|
||||
// если был запрос на расписание, проверяем у него nextRun, lastRun, обновляем их
|
||||
await UpdateLastNextRunDate(task);
|
||||
|
||||
//RobotTaskScheduleResponse
|
||||
return Ok(new Response<RobotTaskScheduleResponse>(mapper.Map<RobotTaskScheduleResponse>(task), true));
|
||||
default:
|
||||
@@ -122,5 +129,19 @@ namespace PARR.API.Controllers.V1
|
||||
|
||||
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>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="id">ИД шаблона</param>
|
||||
/// <returns></returns>
|
||||
[HttpPut(ApiRoutes.Template.ChangeState)]
|
||||
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.Timezone, o => o.MapFrom<RobotTaskScheduleTimezoneResolver>())
|
||||
.ForMember(d => d.RepeatRange, o => o.MapFrom<RobotTaskScheduleRepeatRangeResolver>())
|
||||
.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 => 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.ScheduleType, o => o.MapFrom(s =>
|
||||
s.Template!.ApplicationsInWork!.EsppSchValues!.First()!.EsppSchTypeConfig!.EsppSchTypeSchedule!.Description))
|
||||
|
||||
@@ -4,18 +4,18 @@ namespace PARR.BLL.Helpers
|
||||
{
|
||||
public static class EsppScheduleHelpers
|
||||
{
|
||||
/// <summary>
|
||||
/// Получить дату первого старта в формате ЕСПП
|
||||
/// </summary>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="time"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetFirstStart(DateOnly startDate, TimeSpan time)
|
||||
{
|
||||
var date = new DateTime(startDate.Year, startDate.Month, startDate.Day, time.Hours, time.Minutes, time.Seconds);
|
||||
///// <summary>
|
||||
///// Получить дату первого старта в формате ЕСПП
|
||||
///// </summary>
|
||||
///// <param name="startDate"></param>
|
||||
///// <param name="time"></param>
|
||||
///// <returns></returns>
|
||||
//public static string GetFirstStart(DateOnly startDate, TimeSpan time)
|
||||
//{
|
||||
// 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>
|
||||
///// Получить дату следующего старта в формате для ЕСПП
|
||||
@@ -26,5 +26,25 @@ namespace PARR.BLL.Helpers
|
||||
//{
|
||||
// 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.ToTable("Applications", (string)null);
|
||||
b.ToTable("Applications");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.ApplicationInHost", b =>
|
||||
@@ -419,7 +419,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("HostId");
|
||||
|
||||
b.ToTable("ApplicationsInHost", (string)null);
|
||||
b.ToTable("ApplicationsInHost");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.ApplicationType", b =>
|
||||
@@ -443,7 +443,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("ApplicationTypes", (string)null);
|
||||
b.ToTable("ApplicationTypes");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -475,6 +475,12 @@ namespace PARR.DAL.Migrations
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<string>("AgentName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("AgentScript")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<Guid>("ApplicationId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
@@ -488,11 +494,14 @@ namespace PARR.DAL.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<TimeSpan>("ScheduleGenerationTime")
|
||||
.HasColumnType("interval");
|
||||
b.Property<bool>("IsAgent")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateOnly>("ScheduleStartDate")
|
||||
.HasColumnType("date");
|
||||
b.Property<DateTimeOffset?>("LastRun")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<DateTimeOffset>("NextRun")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("ShortDescription")
|
||||
.IsRequired()
|
||||
@@ -516,7 +525,7 @@ namespace PARR.DAL.Migrations
|
||||
b.HasIndex("WorkId", "ApplicationId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("ApplicationsInWorks", (string)null);
|
||||
b.ToTable("ApplicationsInWorks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
||||
@@ -533,7 +542,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("EkStatuses", (string)null);
|
||||
b.ToTable("EkStatuses");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -596,7 +605,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EsppSchTypes", (string)null);
|
||||
b.ToTable("EsppSchTypes");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -665,7 +674,7 @@ namespace PARR.DAL.Migrations
|
||||
b.HasIndex("TypeScheduleId", "TypeId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("EsppSchTypeConfigs", (string)null);
|
||||
b.ToTable("EsppSchTypeConfigs");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -768,7 +777,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("EsppSchTypeSchedules", (string)null);
|
||||
b.ToTable("EsppSchTypeSchedules");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -829,7 +838,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("TypeId");
|
||||
|
||||
b.ToTable("EsppSchTypeValues", (string)null);
|
||||
b.ToTable("EsppSchTypeValues");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1432,7 +1441,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("TypeValueId");
|
||||
|
||||
b.ToTable("EsppSchValues", (string)null);
|
||||
b.ToTable("EsppSchValues");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
@@ -1470,7 +1479,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("ResponseAreaCode");
|
||||
|
||||
b.ToTable("Hosts", (string)null);
|
||||
b.ToTable("Hosts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
||||
@@ -1494,7 +1503,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Processes", (string)null);
|
||||
b.ToTable("Processes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.ResponseArea", b =>
|
||||
@@ -1511,7 +1520,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("ResponseAreas", (string)null);
|
||||
b.ToTable("ResponseAreas");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1622,7 +1631,7 @@ namespace PARR.DAL.Migrations
|
||||
b.HasIndex("Name")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Robots", (string)null);
|
||||
b.ToTable("Robots");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1677,7 +1686,7 @@ namespace PARR.DAL.Migrations
|
||||
b.HasIndex("TemplateId", "RobotCode")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("RobotConfigurations", (string)null);
|
||||
b.ToTable("RobotConfigurations");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistory", b =>
|
||||
@@ -1712,7 +1721,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("TaskStatusCode");
|
||||
|
||||
b.ToTable("RobotHistories", (string)null);
|
||||
b.ToTable("RobotHistories");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.RobotHistoryLevel", b =>
|
||||
@@ -1733,7 +1742,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Level");
|
||||
|
||||
b.ToTable("RobotHistoryLevels", (string)null);
|
||||
b.ToTable("RobotHistoryLevels");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1780,7 +1789,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("RobotStatuses", (string)null);
|
||||
b.ToTable("RobotStatuses");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1824,7 +1833,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Name");
|
||||
|
||||
b.ToTable("Settings", (string)null);
|
||||
b.ToTable("Settings");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1909,7 +1918,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("ProcessId");
|
||||
|
||||
b.ToTable("Subprocesses", (string)null);
|
||||
b.ToTable("Subprocesses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.TaskStatus", b =>
|
||||
@@ -1930,7 +1939,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("TaskStatuses", (string)null);
|
||||
b.ToTable("TaskStatuses");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -1993,7 +2002,7 @@ namespace PARR.DAL.Migrations
|
||||
b.HasIndex("Name")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Templates", (string)null);
|
||||
b.ToTable("Templates");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Tnk", b =>
|
||||
@@ -2022,7 +2031,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("SubprocessId");
|
||||
|
||||
b.ToTable("Tnks", (string)null);
|
||||
b.ToTable("Tnks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Application", b =>
|
||||
@@ -2048,7 +2057,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("ApplicationTypeId");
|
||||
|
||||
b.ToTable("V1_Applications", (string)null);
|
||||
b.ToTable("V1_Applications");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationInHost", b =>
|
||||
@@ -2080,7 +2089,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("V1_ApplicationId");
|
||||
|
||||
b.ToTable("V1_ApplicationsInHost", (string)null);
|
||||
b.ToTable("V1_ApplicationsInHost");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_ApplicationType", b =>
|
||||
@@ -2109,7 +2118,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("V1_ApplicationTypeId");
|
||||
|
||||
b.ToTable("V1_ApplicationTypes", (string)null);
|
||||
b.ToTable("V1_ApplicationTypes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Host", b =>
|
||||
@@ -2148,7 +2157,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("V1_Hosts", (string)null);
|
||||
b.ToTable("V1_Hosts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_Job", b =>
|
||||
@@ -2202,7 +2211,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("JobTypeId");
|
||||
|
||||
b.ToTable("V1_Jobs", (string)null);
|
||||
b.ToTable("V1_Jobs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobCategory", b =>
|
||||
@@ -2226,7 +2235,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("V1_JobCategorys", (string)null);
|
||||
b.ToTable("V1_JobCategorys");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobJournal", b =>
|
||||
@@ -2270,7 +2279,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("JobStatusId");
|
||||
|
||||
b.ToTable("V1_JobJournals", (string)null);
|
||||
b.ToTable("V1_JobJournals");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.V1.V1_JobMode", b =>
|
||||
@@ -2291,7 +2300,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("V1_JobModes", (string)null);
|
||||
b.ToTable("V1_JobModes");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -2329,7 +2338,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("V1_JobStatuses", (string)null);
|
||||
b.ToTable("V1_JobStatuses");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
@@ -2369,7 +2378,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("V1_JobTypes", (string)null);
|
||||
b.ToTable("V1_JobTypes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Work", b =>
|
||||
@@ -2398,7 +2407,7 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("TnkId");
|
||||
|
||||
b.ToTable("Works", (string)null);
|
||||
b.ToTable("Works");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Application", b =>
|
||||
|
||||
@@ -43,15 +43,40 @@ namespace PARR.DAL.Models
|
||||
///// </summary>
|
||||
//public string AgentName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс)
|
||||
/// </summary>
|
||||
public TimeSpan ScheduleGenerationTime { get; set; }
|
||||
///// <summary>
|
||||
///// Расписание: Время создания наряда и выполнения скрипта (чч:мм:сс)
|
||||
///// </summary>
|
||||
//public TimeSpan ScheduleGenerationTime { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// Расписание: Первое срабатывание
|
||||
///// </summary>
|
||||
//public DateOnly ScheduleStartDate { get; set; }
|
||||
|
||||
/// <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))]
|
||||
public Work? Work { get; set; }
|
||||
|
||||
@@ -163,7 +163,5 @@ namespace PARR.GeneratorTemplates.Services
|
||||
else
|
||||
existTemplates.ForEach(item => logger.LogError($"Ошибка при дактивации шаблона: {item.Name}"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user