using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
namespace Shentun.Peis.Models
{
///
/// 组合项目
///
[Table("asbitem")]
[Index(nameof(DisplayName), Name = "ix_asbitem", IsUnique = true)]
public class Asbitem : AuditedEntity
{
public Asbitem()
{
AsbitemDetails = new HashSet();
ChargeAsbitems = new HashSet();
CustomerOrgGroupDetails = new HashSet();
MedicalPackageDetails = new HashSet();
RegisterAsbitems = new HashSet();
Rooms = new HashSet();
}
///
/// 名称
///
[Column("display_name")]
[StringLength(30)]
public string DisplayName { get; set; } = null!;
///
/// 简称
///
[Column("short_name")]
[StringLength(20)]
public string? ShortName { get; set; }
///
/// 适用性别,M-男,F-女,A-全部
///
[Column("for_sex_id")]
[MaxLength(1)]
public char ForSexId { get; set; }
///
/// 项目类别
///
[Column("item_type_id")]
public Guid ItemTypeId { get; set; }
///
/// 价格
///
[Column("price")]
[Precision(8, 2)]
public decimal Price { get; set; }
///
/// 仪器类别
///
[Column("device_type_id")]
public Guid DeviceTypeId { get; set; }
///
/// 发票类别
///
[Column("invoice_item_type_id")]
public Guid InvoiceItemTypeId { get; set; }
///
/// 项目结果合并
///
[Column("is_item_result_merger")]
[MaxLength(1)]
public char IsItemResultMerger { get; set; }
///
/// 餐前项目
///
[Column("is_before_eat")]
[MaxLength(1)]
public char IsBeforeEat { get; set; }
///
/// 临床意义
///
[Column("clinical_meaning")]
[StringLength(100)]
public string? ClinicalMeaning { get; set; }
///
/// 默认结果
///
[Column("default_result")]
[StringLength(100)]
public string? DefaultResult { get; set; }
///
/// 候诊时间
///
[Column("queue_time")]
[Precision(3, 1)]
public decimal QueueTime { get; set; }
///
/// 启用诊断函数
///
[Column("is_diagnosis_function")]
[MaxLength(1)]
public char IsDiagnosisFunction { get; set; }
///
/// 诊断函数
///
[Column("diagnosis_function")]
[MaxLength(1)]
public char? DiagnosisFunction { get; set; }
///
/// 诊断函数处理完毕后继续处理
///
[Column("is_continue_process")]
[MaxLength(1)]
public char IsContinueProcess { get; set; }
///
/// 体检报告图片旋转90°
///
[Column("is_picture_rotate")]
[MaxLength(1)]
public char IsPictureRotate { get; set; }
///
/// 是检查项目
///
[Column("is_check")]
[MaxLength(1)]
public char IsCheck { get; set; }
///
/// 是启用
///
[Column("is_active")]
[MaxLength(1)]
public char IsActive { get; set; }
[Column("simple_code")]
[StringLength(30)]
public string SimpleCode { get; set; } = null!;
[Column("display_order")]
public int DisplayOrder { get; set; }
[ForeignKey(nameof(InvoiceItemTypeId))]
[InverseProperty("Asbitems")]
public virtual InvoiceItemType InvoiceItemType { get; set; } = null!;
[ForeignKey(nameof(ItemTypeId))]
[InverseProperty("Asbitems")]
public virtual ItemType ItemType { get; set; } = null!;
[InverseProperty("Asbitem")]
public virtual SampleGroupDetail SampleGroupDetail { get; set; } = null!;
[InverseProperty(nameof(AsbitemDetail.Asbitem))]
public virtual ICollection AsbitemDetails { get; set; }
[InverseProperty(nameof(ChargeAsbitem.Asbitem))]
public virtual ICollection ChargeAsbitems { get; set; }
[InverseProperty(nameof(CustomerOrgGroupDetail.Asbitem))]
public virtual ICollection CustomerOrgGroupDetails { get; set; }
[InverseProperty(nameof(MedicalPackageDetail.Asbitem))]
public virtual ICollection MedicalPackageDetails { get; set; }
[InverseProperty(nameof(RegisterAsbitem.Asbitem))]
public virtual ICollection RegisterAsbitems { get; set; }
[ForeignKey("AsbitemId")]
[InverseProperty(nameof(Room.Asbitems))]
public virtual ICollection Rooms { get; set; }
#region 审计属性
//public DateTime CreationTime { get; set; }
//public Guid? CreatorId { get; set; }
//public Guid? LastModifierId { get; set; }
//public DateTime? LastModificationTime { get; set; }
//public Guid? DeleterId { get; set; }
//public DateTime? DeletionTime { get; set; }
//public bool IsDeleted { get; set; }
//public override object[] GetKeys()
//{
// return new object[] { AsbitemId };
//}
#endregion
}
}