feat(dal): Добавлена таблица Groups для возможности группировки Job

This commit is contained in:
Mikhail Kuznetsov
2025-06-11 11:14:27 +10:00
parent 0d08794636
commit 230dfd6f85
13 changed files with 8226 additions and 40 deletions

View File

@@ -18,7 +18,7 @@ namespace PARR.DAL.Models.Job
public DateTimeOffset? DateModified { get; set; }
public Guid JobDetailsId { get; set; }
public Guid UnitFilterId { get; set; }
public Guid FieldId { get; set; }
@@ -28,7 +28,7 @@ namespace PARR.DAL.Models.Job
[ForeignKey(nameof(FieldId))]
public UnitField? Field { get; set; }
[ForeignKey(nameof(JobDetailsId))]
public JobDetails? JobDetails { get; set; }
[ForeignKey(nameof(UnitFilterId))]
public JobUnitFilter? UnitFilter { get; set; }
}
}

View File

@@ -18,14 +18,15 @@ namespace PARR.DAL.Models.Job
public DateTimeOffset? DateModified { get; set; }
/// <summary>
/// Наименование работ
/// Наименование работ для интерфеса в ПАРР
/// </summary>
public required string Name { get; set; }
/// <summary>
/// Связана ли работа с групповыми ЭК(зонтами)
/// Наименование работ для поля Работа в шаблоне АСУ ЕСПП, может быть динамическое
/// </summary>
public bool? IsUmbrella { get; set; }
public required string WorkName { get; set; }
/// <summary>
/// Минимальное значение дочерних связей группового ЭК
@@ -44,9 +45,16 @@ namespace PARR.DAL.Models.Job
public Guid TnkId { get; set; }
public Guid GroupId { get; set; }
[ForeignKey(nameof(GroupId))]
public JobGroup? Group { get; set; }
[ForeignKey(nameof(TnkId))]
public Tnk? Tnk { get; set; }
public ICollection<JobDetails> JobDetails { get; set; }= new HashSet<JobDetails>();
public ICollection<JobUnitFilter> UnitFilters { get; set; }= new HashSet<JobUnitFilter>();
}
}

View File

@@ -6,9 +6,9 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models.Job
{
[Table("JobDetails", Schema = DataContextSettings.Job)]
[Comment("Таблица описания критериев выборки ЭК, описание полей в АСУ ЕСПП")]
public class JobDetails : IBase
[Table("Groups", Schema = DataContextSettings.Job)]
[Comment("Таблица описания групп работ, для реализации зонтиков")]
public class JobGroup : IBase
{
[Key]
public Guid Id { get; set; }
@@ -16,9 +16,16 @@ namespace PARR.DAL.Models.Job
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public required string UnitFilter { get; set; }
public Guid JobId { get; set; }
/// <summary>
/// Наименование работ для интерфеса в ПАРР
/// </summary>
public required string GroupName { get; set; }
/// <summary>
/// Связана ли работа с групповыми ЭК(зонтами)
/// </summary>
public bool? IsUmbrella { get; set; }
/// <summary>
/// Поле Короткое описания шаблона АСУ ЕСПП
@@ -46,9 +53,6 @@ namespace PARR.DAL.Models.Job
public DateTimeOffset ReferenceDate { get; set; }
[ForeignKey(nameof(JobId))]
public Job? Job { get; set; }
public ICollection<FieldFilter> fieldFilters { get; set; } = new HashSet<FieldFilter>();
public ICollection<Job> Job { get; set; } = new HashSet<Job>();
}
}

View File

@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Context;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models.Job
{
[Table("UnitFilters", Schema = DataContextSettings.Job)]
[Comment("Таблица описания критериев выборки ЭК, описание полей в АСУ ЕСПП")]
public class JobUnitFilter : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public required string UnitFilter { get; set; }
public Guid JobId { get; set; }
[ForeignKey(nameof(JobId))]
public Job? Job { get; set; }
public ICollection<FieldFilter> fieldFilters { get; set; } = new HashSet<FieldFilter>();
}
}