feat(api): Контроллер RobotTaskRobotStatusController управления статусами работы робота

This commit is contained in:
Mikhail Trubnikov
2023-10-06 11:38:33 +10:00
parent 1934f7c645
commit d334e46780
21 changed files with 4313 additions and 20 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class TblRobotHistoryRmIdSeries : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IdSeries",
table: "RobotHistories");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "IdSeries",
table: "RobotHistories",
type: "uuid",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class TblRobotConfiguratinosUpd : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "LastStatusUpdated",
table: "RobotConfigurations",
newName: "LastRobotStatusUpdated");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "LastRobotStatusUpdated",
table: "RobotConfigurations",
newName: "LastStatusUpdated");
}
}
}

View File

@@ -788,7 +788,7 @@ namespace PARR.DAL.Migrations
b.Property<DateTimeOffset>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTimeOffset?>("LastStatusUpdated")
b.Property<DateTimeOffset?>("LastRobotStatusUpdated")
.HasColumnType("timestamp with time zone");
b.Property<int>("RobotCode")
@@ -832,9 +832,6 @@ namespace PARR.DAL.Migrations
b.Property<int>("HistoryLevel")
.HasColumnType("integer");
b.Property<Guid>("IdSeries")
.HasColumnType("uuid");
b.Property<Guid>("RobotConfigurationId")
.HasColumnType("uuid");

View File

@@ -42,7 +42,7 @@ namespace PARR.DAL.Models
/// <summary>
/// Последняя дата обновления статуса RobotStatusCode роботом
/// </summary>
public DateTimeOffset? LastStatusUpdated { get; set; }
public DateTimeOffset? LastRobotStatusUpdated { get; set; }
[ForeignKey(nameof(TemplateId))]
public Template? Template { get; set; }

View File

@@ -26,10 +26,10 @@ namespace PARR.DAL.Models
public Guid RobotConfigurationId { get; set; }
/// <summary>
/// Уникальный идентификатор серии выполнения, нужен для сопоставления истории
/// </summary>
public Guid IdSeries { get; set; }
///// <summary>
///// Уникальный идентификатор серии выполнения, нужен для сопоставления истории
///// </summary>
//public Guid IdSeries { get; set; }
[ForeignKey(nameof(HistoryLevel))]

View File

@@ -52,15 +52,15 @@ namespace PARR.DAL.Services.Implementations
{
case RobotStatusEnum.InProgress:
configuration.AttemptsNumber++;
configuration.LastStatusUpdated = DateTimeOffset.UtcNow;
configuration.LastRobotStatusUpdated = DateTimeOffset.UtcNow;
break;
//case RobotStatusEnum.Error:
// break;
case RobotStatusEnum.Complete:
configuration.LastStatusUpdated = DateTimeOffset.UtcNow;
configuration.LastRobotStatusUpdated = DateTimeOffset.UtcNow;
break;
case RobotStatusEnum.Wait:
configuration.LastStatusUpdated = null;
configuration.LastRobotStatusUpdated = null;
configuration.AttemptsNumber = 0;
break;
default:
@@ -93,7 +93,7 @@ namespace PARR.DAL.Services.Implementations
var configObjs = await EntitySet.Where(t =>
t.RobotStatusCode == (int)RobotStatusEnum.InProgress
&& t.AttemptsNumber >= robotAttemptsNumber
&& t.LastStatusUpdated <= endDate
&& t.LastRobotStatusUpdated <= endDate
).ToListAsync();
if (!configObjs.Any())

View File

@@ -117,7 +117,7 @@ namespace PARR.DAL.Services.Implementations
TaskStatusCode = (int)TaskStatusEnum.Creating,
RobotStatusCode = (int)RobotStatusEnum.Wait,
AttemptsNumber = 0,
LastStatusUpdated = null
LastRobotStatusUpdated = null
},
// робот по управлениею расписанием
new RobotConfiguration
@@ -129,7 +129,7 @@ namespace PARR.DAL.Services.Implementations
TaskStatusCode = (int)TaskStatusEnum.Creating,
RobotStatusCode = (int)RobotStatusEnum.Wait,
AttemptsNumber = 0,
LastStatusUpdated = null
LastRobotStatusUpdated = null
}
};

View File

@@ -14,7 +14,7 @@ namespace PARR.DAL.Services.Interfaces
void ChangeRobotStatus(RobotStatusEnum robotStatus, ref RobotConfiguration configuration);
/// <summary>
/// Обновить статус задания (автоматически обновляется статус робота)
/// Обновить статус задания (автоматически обновляется статус робота при необходимости)
/// </summary>
/// <param name="taskStatus"></param>
/// <param name="configuration"></param>