feat(dal): Созданы таблицы схемы Job

This commit is contained in:
Mikhail Kuznetsov
2025-06-04 11:55:23 +10:00
parent 7b1c676507
commit 50ef7dee5c
18 changed files with 8117 additions and 10 deletions

View File

@@ -0,0 +1,34 @@
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Context;
using PARR.DAL.Models.Base;
using PARR.DAL.Models.Unit;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models.Job
{
[Table("FieldFilters", Schema = DataContextSettings.Job)]
[Comment("Таблица описания критериев выборки аттрибутов ЭК")]
public class FieldFilter : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public Guid JobDetailsId { get; set; }
public Guid FieldId { get; set; }
public required string ValueMask { get; set; }
[ForeignKey(nameof(FieldId))]
public UnitField? Field { get; set; }
[ForeignKey(nameof(JobDetailsId))]
public JobDetails? JobDetails { get; set; }
}
}

View File

@@ -0,0 +1,52 @@
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("Jobs", Schema = DataContextSettings.Job)]
[Comment("Таблица видов работ")]
public class Job : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
/// <summary>
/// Наименование работ
/// </summary>
public required string Name { get; set; }
/// <summary>
/// Связана ли работа с групповыми ЭК(зонтами)
/// </summary>
public bool? IsUmbrella { get; set; }
/// <summary>
/// Минимальное значение дочерних связей группового ЭК
/// </summary>
public int? MinValueRelationships { get; set; }
/// <summary>
/// Максимальное значение дочерних связей группового ЭК
/// </summary>
public int? MaxValueRelationships { get; set; }
/// <summary>
/// Маска для динамического формирования имени шаблона
/// </summary>
public string? TemplateNameMask { get; set; }
public Guid TnkId { get; set; }
[ForeignKey(nameof(TnkId))]
public Tnk? Tnk { get; set; }
public ICollection<JobDetails> JobDetails { get; set; }= new HashSet<JobDetails>();
}
}

View File

@@ -0,0 +1,54 @@
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("JobDetails", Schema = DataContextSettings.Job)]
[Comment("Таблица описания критериев выборки ЭК, описание полей в АСУ ЕСПП")]
public class JobDetails : 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; }
/// <summary>
/// Поле Короткое описания шаблона АСУ ЕСПП
/// </summary>
public required string ShortDescription { get; set; }
/// <summary>
/// Поле Подробное описания шаблона АСУ ЕСПП
/// </summary>
public required string FullDescription { get; set; }
/// <summary>
/// Поле Решение описания шаблона АСУ ЕСПП
/// </summary>
public required string Solution { get; set; }
/// <summary>
/// Поле Длительность описания шаблона АСУ ЕСПП
/// </summary>
public required string Duration { get; set; }
/// <summary>
/// Дата начала работ или дата для отсчёта периода следующего выполнения
/// </summary>
public DateTimeOffset ReferenceDate { get; set; }
[ForeignKey(nameof(JobId))]
public Job? Job { get; set; }
public ICollection<FieldFilter> fieldFilters { get; set; } = new HashSet<FieldFilter>();
}
}