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 { /// /// 组合项目 /// [Table("asbitem")] [Index(nameof(DisplayName), Name = "ix_asbitem", IsUnique = true)] public class Asbitem : AuditedEntity, IDisplayName, IDisplayOrder, IHasConcurrencyStamp { public Asbitem(Guid id):base(id) { } public Asbitem() { AsbitemDetails = new HashSet(); ChargeAsbitems = new HashSet(); CustomerOrgGroupDetails = new HashSet(); MedicalPackageDetails = new HashSet(); RegisterCheckAsbitems = new HashSet(); RoomDetails = new HashSet(); } /// /// 名称 /// [Column("display_name")] [StringLength(30)] public string DisplayName { get; set; } /// /// 简称 /// [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("marital_status_id")] [MaxLength(1)] public char MaritalStatusId { 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; } /// /// 汇总项目类别ID /// [Column("collect_item_type_id")] public Guid CollectItemTypeId { 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(500)] 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(4000)] public string 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; } /// /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0 /// [Column("barcode_mode")] [MaxLength(1)] public char BarcodeMode { get; set; } /// /// 是否支持网上预约 /// [Column("is_web_appoint")] [MaxLength(1)] public char IsWebAppoint { get; set; } /// /// 疾病筛查类别 /// [Column("disease_screening_type_id")] public Guid? DiseaseScreeningTypeId { get; set; } /// /// 警告事项 /// [MaxLength(100)] [Column("warn")] public string Warn { get; set; } /// /// 备孕期间禁止检查 /// [MaxLength(1)] [Column("for_pregnant_flag")] public char ForPregnantFlag { get; set; } /// /// 是否启用危急值函数 Y N /// [Column("is_critical_value_function")] [MaxLength(1)] public char IsCriticalValueFunction { get; set; } /// /// 危急值函数 /// [Column("critical_value_function")] public string CriticalValueFunction { get; set; } /// /// 是否启用随访函数 Y N /// [Column("is_follow_up_function")] [MaxLength(1)] public char IsFollowUpFunction { get; set; } /// /// 随访函数 /// [Column("follow_up_function")] public string FollowUpFunction { get; set; } /// /// 是否隐私项目 /// [Column("is_privacy")] public char IsPrivacy { get; set; } /// /// 是否外检项目 /// [Column("is_outsend")] public char IsOutsend { 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 AsbitemDetails { get; set; } [InverseProperty(nameof(ChargeAsbitem.Asbitem))] public virtual ICollection ChargeAsbitems { get; set; } [InverseProperty(nameof(ChargeRequestAsbitem.Asbitem))] public virtual ICollection ChargeRequestAsbitems { get; set; } [InverseProperty(nameof(CustomerOrgGroupDetail.Asbitem))] public virtual ICollection CustomerOrgGroupDetails { get; set; } [InverseProperty(nameof(MedicalPackageDetail.Asbitem))] public virtual ICollection MedicalPackageDetails { get; set; } [InverseProperty(nameof(RegisterCheckAsbitem.Asbitem))] public virtual ICollection RegisterCheckAsbitems { get; set; } [InverseProperty(nameof(RoomDetail.Asbitem))] public virtual ICollection RoomDetails { 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 } }