feat(dal,api): удалены таблицы которые относились к старому JobAutoControl. Добавлена новая таблица JobAutoControl

This commit is contained in:
Mikhail Trubnikov
2025-12-05 14:07:48 +10:00
parent 8541d7495b
commit 54ccd2e8e3
26 changed files with 8446 additions and 725 deletions

View File

@@ -117,6 +117,6 @@ namespace PARR.DAL.Models
public ICollection<AppInWorkInWorkGroup> WorkGroups { get; set; } = new HashSet<AppInWorkInWorkGroup>();
public JobAutoControl? JobAutoControl { get; set; }
//public JobAutoControl? JobAutoControl { get; set; }
}
}

View File

@@ -14,6 +14,6 @@ namespace PARR.DAL.Models
public ICollection<Host> Hosts { get; set; } = new HashSet<Host>();
public ICollection<JobAutoControlInEkStatus> JobAutoControlInEkStatuses { get; set; } = new HashSet<JobAutoControlInEkStatus>();
//public ICollection<JobAutoControlInEkStatus> JobAutoControlInEkStatuses { get; set; } = new HashSet<JobAutoControlInEkStatus>();
}
}

View File

@@ -71,5 +71,8 @@ namespace PARR.DAL.Models.Job
public ICollection<JobUnitFilter> UnitFilters { get; set; } = new HashSet<JobUnitFilter>();
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
public JobAutoControl? AutoControl { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Context;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models.Job
{
[Table("AutoControls", Schema = DataContextSettings.Job)]
[Comment("Таблица управления автоконтролем для работ")]
public class JobAutoControl
{
[Key]
public Guid JobId { get; set; }
/// <summary>
/// Включен автоконтроль
/// </summary>
public bool IsEnable { get; set; } = false;
/// <summary>
/// Значение при синхронизации, статус шаблона
/// </summary>
public bool SyncIsActiveTemplate { get; set; } = false;
/// <summary>
/// Значение при синхронизации, статус расписания
/// </summary>
public bool SyncIsActiveSchedule { get; set; } = false;
/// <summary>
/// Значение при обновлении, статус шаблона
/// </summary>
public bool UpdateIsActiveTemplate { get; set; } = false;
/// <summary>
/// Значение при обновлении, статус расписания
/// </summary>
public bool UpdateIsActiveSchedule { get; set; } = false;
[ForeignKey(nameof(JobId))]
public Job? Job { get; set; }
}
}

View File

@@ -1,71 +0,0 @@
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("JobAutoControls")]
[Index(nameof(ApplicationInWorkId), IsUnique = true)]
public class JobAutoControl : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public Guid ApplicationInWorkId { get; set; }
[ForeignKey(nameof(ApplicationInWorkId))]
public ApplicationsInWork? ApplicationsInWork { get; set; }
/// <summary>
/// Создавать новые РР (из настроке РР)
/// </summary>
public bool CreateNew { get; set; }
/// <summary>
/// Деактивировать не актуальные согласно ЭК (обратные статусы ЭК)
/// </summary>
public bool Deactivate { get; set; }
/// <summary>
/// Активировать РР после смены ЭК (согласно настройкам статусов ЭК)
/// </summary>
public bool Activate { get; set; }
/// <summary>
/// Состояние для активированных РР, шаблоны
/// </summary>
public bool OnTemplateIsActive { get; set; }
/// <summary>
/// Состояние для активированных РР, расписания
/// </summary>
public bool OnScheduleIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, шаблоны
/// </summary>
public bool OffTemplateIsActive { get; set; }
/// <summary>
/// Состояние для деактивированных РР, расписания
/// </summary>
public bool OffScheduleIsActive { get; set; }
/// <summary>
/// Список масок ЭК, или ЭК
/// </summary>
public ICollection<JobEkMask> JobEkMasks { get; set; } = new HashSet<JobEkMask>();
/// <summary>
/// Список статусов ЭК для которых создавать/активировать шаблоны/расписания
/// </summary>
public ICollection<JobAutoControlInEkStatus> JobAutoControlInEkStatuses { get; set; } = new HashSet<JobAutoControlInEkStatus>();
}
}

View File

@@ -1,20 +0,0 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("JobAutoControlInEkStatus")]
[PrimaryKey(nameof(JobAutoControlId), nameof(EkStatusCode))]
public class JobAutoControlInEkStatus
{
public Guid JobAutoControlId { get; set; }
public int EkStatusCode { get; set; }
[ForeignKey(nameof(EkStatusCode))]
public EkStatus? EkStatus { get; set; }
[ForeignKey(nameof(JobAutoControlId))]
public JobAutoControl? JobAutoControl { get; set; }
}
}

View File

@@ -1,27 +0,0 @@
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("JobEkMasks")]
[Index(nameof(JobAutoControlId), nameof(Name), IsUnique = true)]
public class JobEkMask : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
[NotMapped]
public DateTimeOffset? DateModified { get; set; }
public required string Name { get; set; }
public Guid JobAutoControlId { get; set; }
[ForeignKey(nameof(JobAutoControlId))]
public JobAutoControl? JobAutoControl { get; set; }
}
}