You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

267 lines
8.3 KiB

using Microsoft.EntityFrameworkCore;
using Shentun.Peis.CollectItemTypes;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
namespace Shentun.Peis.Models
{
/// <summary>
/// 组合项目
/// </summary>
[Table("asbitem")]
[Index(nameof(DisplayName), Name = "ix_asbitem", IsUnique = true)]
public class Asbitem : AuditedEntity<Guid>, IDisplayName, IDisplayOrder, IHasConcurrencyStamp
{
public Asbitem(Guid id):base(id) { }
public Asbitem()
{
AsbitemDetails = new HashSet<AsbitemDetail>();
ChargeAsbitems = new HashSet<ChargeAsbitem>();
CustomerOrgGroupDetails = new HashSet<CustomerOrgGroupDetail>();
MedicalPackageDetails = new HashSet<MedicalPackageDetail>();
RegisterCheckAsbitems = new HashSet<RegisterCheckAsbitem>();
Rooms = new HashSet<Room>();
}
/// <summary>
/// 名称
/// </summary>
[Column("display_name")]
[StringLength(30)]
public string DisplayName { get; set; }
/// <summary>
/// 简称
/// </summary>
[Column("short_name")]
[StringLength(20)]
public string ShortName { get; set; }
/// <summary>
/// 适用性别,M-男,F-女,A-全部
/// </summary>
[Column("for_sex_id")]
[MaxLength(1)]
public char ForSexId { get; set; }
/// <summary>
/// 婚姻状况
/// </summary>
[Column("marital_status_id")]
[MaxLength(1)]
public char MaritalStatusId { get; set; }
/// <summary>
/// 项目类别
/// </summary>
[Column("item_type_id")]
public Guid ItemTypeId { get; set; }
/// <summary>
/// 价格
/// </summary>
[Column("price")]
[Precision(8, 2)]
public decimal Price { get; set; }
/// <summary>
/// 仪器类别
/// </summary>
[Column("device_type_id")]
public Guid? DeviceTypeId { get; set; }
/// <summary>
///// 发票类别
///// </summary>
//[Column("invoice_item_type_id")]
//public Guid InvoiceItemTypeId { get; set; }
/// <summary>
/// 汇总项目类别ID
/// </summary>
[Column("collect_item_type_id")]
public Guid CollectItemTypeId { get; set; }
/// <summary>
/// 项目结果合并
/// </summary>
[Column("is_item_result_merger")]
[MaxLength(1)]
public char IsItemResultMerger { get; set; }
/// <summary>
/// 餐前项目
/// </summary>
[Column("is_before_eat")]
[MaxLength(1)]
public char IsBeforeEat { get; set; }
/// <summary>
/// 临床意义
/// </summary>
[Column("clinical_meaning")]
[StringLength(100)]
public string ClinicalMeaning { get; set; }
/// <summary>
/// 默认结果
/// </summary>
[Column("default_result")]
[StringLength(100)]
public string DefaultResult { get; set; }
/// <summary>
/// 候诊时间
/// </summary>
[Column("queue_time")]
[Precision(3, 1)]
public decimal QueueTime { get; set; }
/// <summary>
/// 启用诊断函数
/// </summary>
[Column("is_diagnosis_function")]
[MaxLength(1)]
public char IsDiagnosisFunction { get; set; }
/// <summary>
/// 诊断函数
/// </summary>
[Column("diagnosis_function")]
[MaxLength(4000)]
public string DiagnosisFunction { get; set; }
/// <summary>
/// 诊断函数处理完毕后继续处理
/// </summary>
[Column("is_continue_process")]
[MaxLength(1)]
public char IsContinueProcess { get; set; }
/// <summary>
/// 体检报告图片旋转90°
/// </summary>
[Column("is_picture_rotate")]
[MaxLength(1)]
public char IsPictureRotate { get; set; }
/// <summary>
/// 是否为检查项目
/// </summary>
[Column("is_check")]
[MaxLength(1)]
public char IsCheck { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[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; }
/// <summary>
/// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
/// </summary>
[Column("barcode_mode")]
[MaxLength(1)]
public char BarcodeMode { get; set; }
/// <summary>
/// 是否支持网上预约
/// </summary>
[Column("is_web_appoint")]
[MaxLength(1)]
public char IsWebAppoint { get; set; }
/// <summary>
/// 疾病筛查类别
/// </summary>
[Column("disease_screening_type_id")]
public Guid? DiseaseScreeningTypeId { get; set; }
/// <summary>
/// 警告事项
/// </summary>
[MaxLength(100)]
[Column("warn")]
public string Warn { get; set; }
/// <summary>
/// 备孕期间禁止检查
/// </summary>
[MaxLength(1)]
[Column("pregnant_flag")]
public char PregnantFlag { get; set; }
///// <summary>
///// 备孕期间禁止检查
///// </summary>
//[MaxLength(1)]
//[Column("is_disable_prepare_pregnancy")]
//public char IsDisablePreparePregnancy { get; set; }
///// <summary>
///// 怀孕期间禁止检查
///// </summary>
//[MaxLength(1)]
//[Column("is_disable_pregnancy")]
//public char IsDisablePregnancy { get; set; }
[Column("concurrency_stamp")]
public string ConcurrencyStamp { get; set; }
//[ForeignKey(nameof(InvoiceItemTypeId))]
//[InverseProperty("Asbitems")]
//public virtual InvoiceItemType InvoiceItemType { get; set; }
[ForeignKey(nameof(CollectItemTypeId))]
[InverseProperty("Asbitems")]
public virtual CollectItemType CollectItemType { get; set; }
[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<AsbitemDetail> AsbitemDetails { get; set; }
[InverseProperty(nameof(ChargeAsbitem.Asbitem))]
public virtual ICollection<ChargeAsbitem> ChargeAsbitems { get; set; }
[InverseProperty(nameof(ChargeRequestAsbitem.Asbitem))]
public virtual ICollection<ChargeRequestAsbitem> ChargeRequestAsbitems { get; set; }
[InverseProperty(nameof(CustomerOrgGroupDetail.Asbitem))]
public virtual ICollection<CustomerOrgGroupDetail> CustomerOrgGroupDetails { get; set; }
[InverseProperty(nameof(MedicalPackageDetail.Asbitem))]
public virtual ICollection<MedicalPackageDetail> MedicalPackageDetails { get; set; }
[InverseProperty(nameof(RegisterCheckAsbitem.Asbitem))]
public virtual ICollection<RegisterCheckAsbitem> RegisterCheckAsbitems { get; set; }
[ForeignKey("AsbitemId")]
[InverseProperty(nameof(Room.Asbitems))]
public virtual ICollection<Room> 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
}
}