2025-05-14 15:13:30 +10:00
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
2026-04-15 09:35:03 +10:00
|
|
|
|
using PARR.Domain.Constants;
|
2026-04-13 16:58:30 +10:00
|
|
|
|
using PARR.Domain.Entities.Base;
|
2026-07-03 11:17:48 +10:00
|
|
|
|
using PARR.Domain.Entities.JobEntities;
|
2026-06-15 16:56:23 +10:00
|
|
|
|
using PARR.Domain.Entities.JobGroupEntities;
|
2025-05-14 15:13:30 +10:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
|
2026-04-30 10:35:31 +10:00
|
|
|
|
namespace PARR.Domain.Entities.Unit
|
2025-05-14 15:13:30 +10:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Справочник полей ЭК (компонентный состав, ответствтвенные, любые поля)
|
|
|
|
|
|
/// </summary>
|
2026-04-15 09:35:03 +10:00
|
|
|
|
[Table("Fields", Schema = DatabaseSchemas.Unit)]
|
2025-05-14 15:13:30 +10:00
|
|
|
|
[Comment("Справочник полей ЭК")]
|
|
|
|
|
|
[Index(nameof(AihitName))]
|
|
|
|
|
|
[Index(nameof(EsppName))]
|
2026-04-13 16:58:30 +10:00
|
|
|
|
public class UnitField : IBaseEntity
|
2025-05-14 15:13:30 +10:00
|
|
|
|
{
|
|
|
|
|
|
[Key]
|
|
|
|
|
|
public Guid Id { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DateTimeOffset DateCreated { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[NotMapped]
|
|
|
|
|
|
public DateTimeOffset? DateModified { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Имя поля в АИХ ИТ, заполняется при синхронизации
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public required string AihitName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Название поля в ЕСПП, возможно в дальнейшем для синхронизации
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? EsppName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Название поля для отображения в ГУИ
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? DisplayName { get; set; }
|
|
|
|
|
|
|
2025-11-28 09:12:26 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Код поля, используется в GUI
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? Code { get; set; }
|
|
|
|
|
|
|
2025-09-22 15:25:17 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Могут ли принимать несколько значений. Из АИХ ИТ приходят значения разделённые запятой
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public bool? IsMultipleValue { get; set; }
|
2025-05-14 15:13:30 +10:00
|
|
|
|
|
|
|
|
|
|
public ICollection<UnitInValue> UnitInValues { get; set; } = new HashSet<UnitInValue>();
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-09-22 15:25:17 +10:00
|
|
|
|
public ICollection<UnitFieldInUnitFieldValue> UnitFieldValues { get; set; } = new HashSet<UnitFieldInUnitFieldValue>();
|
2025-05-14 15:13:30 +10:00
|
|
|
|
|
2025-08-01 17:14:39 +10:00
|
|
|
|
public ICollection<JobRelationshipFilter> RelationshipFilters { get; set; } = new HashSet<JobRelationshipFilter>();
|
2025-12-19 09:31:25 +10:00
|
|
|
|
|
2026-06-15 16:56:23 +10:00
|
|
|
|
public ICollection<JobGroupRelationshipFilter> JobGroupRelationshipFilters { get; set; } = new HashSet<JobGroupRelationshipFilter>();
|
|
|
|
|
|
|
2025-12-19 09:31:25 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// JobGroup которые группируются по этому полю (!!!отключено каскадное удаление!!!)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public ICollection<JobGroup> JobGroupWithGrouping { get; set; } = new HashSet<JobGroup>();
|
2026-06-15 16:56:23 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ICollection<JobFieldFilter> JobFieldFilters { get; set; } = new HashSet<JobFieldFilter>();
|
|
|
|
|
|
|
|
|
|
|
|
public ICollection<JobGroupFieldFilter> JobGroupFieldFilters { get; set; } = new HashSet<JobGroupFieldFilter>();
|
2025-05-14 15:13:30 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|