feat(dal,api): В таблицу истории роботов, добавлено поле RobotId. Обновлены методы в api для ведения истории роботов.

This commit is contained in:
Mikhail Trubnikov
2026-05-26 11:43:15 +10:00
parent 856b273e6b
commit 2024056871
8 changed files with 3878 additions and 9 deletions

View File

@@ -2,14 +2,19 @@
namespace PARR.API.Contracts.V1.Requests namespace PARR.API.Contracts.V1.Requests
{ {
public class RobotHistoryRequest public record RobotHistoryRequest
{ {
public RobotHistoryLevelEnum HistoryLevel { get; set; } public RobotHistoryLevelEnum HistoryLevel { get; init; }
public string? RobotMessage { get; set; } public string? RobotMessage { get; init; }
public string? EsppMessage { get; set; } public string? EsppMessage { get; init; }
public Guid TaskId { get; set; } public Guid TaskId { get; init; }
/// <summary>
/// ИД робота
/// </summary>
public string? RobotId { get; init; }
} }
} }

View File

@@ -26,6 +26,8 @@
public string? RobotIp { get; set; } public string? RobotIp { get; set; }
public string? RobotId { get; set; }
public UserBaseResponse? User { get; set; } public UserBaseResponse? User { get; set; }
} }

View File

@@ -123,7 +123,8 @@ namespace PARR.API.Controllers.V1
EsppMessage = request.EsppMessage, EsppMessage = request.EsppMessage,
TaskStatusCode = config.TaskStatusCode, TaskStatusCode = config.TaskStatusCode,
RobotConfigurationId = request.TaskId, RobotConfigurationId = request.TaskId,
RobotIp = clientService.GetClientIp()?.ToString() RobotIp = clientService.GetClientIp()?.ToString(),
RobotId = request.RobotId
}; };
if (!await robotHistoryService.CreateAsync(history) || !await robotHistoryService.CommitAsync()) if (!await robotHistoryService.CreateAsync(history) || !await robotHistoryService.CommitAsync())

View File

@@ -241,9 +241,8 @@ namespace PARR.Core.Services.RobotTask.Implementations
HistoryLevel = (int)RobotHistoryLevelEnum.Start, HistoryLevel = (int)RobotHistoryLevelEnum.Start,
TaskStatusCode = task.TaskStatusCode, TaskStatusCode = task.TaskStatusCode,
RobotConfigurationId = taskId, RobotConfigurationId = taskId,
RobotIp = robotIp RobotIp = robotIp,
//todo: Тут добавить RobotId RobotId = robotId
//RobotId = robotId
}; };
if (!await robotHistoryRepository.CreateAsync(history) || !await robotHistoryRepository.CommitAsync()) if (!await robotHistoryRepository.CreateAsync(history) || !await robotHistoryRepository.CommitAsync())

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class tblRobotHistoriesAddRobotId : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "RobotId",
table: "RobotHistories",
type: "text",
nullable: true,
comment: "Идентификатор робота. Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES.");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "RobotId",
table: "RobotHistories");
}
}
}

View File

@@ -891,6 +891,10 @@ namespace PARR.DAL.Migrations
b.Property<Guid>("RobotConfigurationId") b.Property<Guid>("RobotConfigurationId")
.HasColumnType("uuid"); .HasColumnType("uuid");
b.Property<string>("RobotId")
.HasColumnType("text")
.HasComment("Идентификатор робота. Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES.");
b.Property<string>("RobotIp") b.Property<string>("RobotIp")
.HasColumnType("text"); .HasColumnType("text");

View File

@@ -40,6 +40,13 @@ namespace PARR.Domain.Entities
///// </summary> ///// </summary>
//public Guid IdSeries { get; set; } //public Guid IdSeries { get; set; }
/// <summary>
/// Идентификатор робота.
/// Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES
/// </summary>
[Comment("Идентификатор робота. Форматы: H20-R1-T, H20-R1-S, H20-R1-ET, H20-R1-ES.")]
public string? RobotId { get; set; }
[ForeignKey(nameof(HistoryLevel))] [ForeignKey(nameof(HistoryLevel))]
public RobotHistoryLevel? RobotHistoryLevel { get; set; } public RobotHistoryLevel? RobotHistoryLevel { get; set; }