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.

237 lines
7.5 KiB

3 years ago
3 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. using Microsoft.EntityFrameworkCore;
  2. using Shentun.Peis.CollectItemTypes;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.ComponentModel.DataAnnotations.Schema;
  7. using Volo.Abp.Domain.Entities;
  8. using Volo.Abp.Domain.Entities.Auditing;
  9. namespace Shentun.Peis.Models
  10. {
  11. /// <summary>
  12. /// 组合项目
  13. /// </summary>
  14. [Table("asbitem")]
  15. [Index(nameof(DisplayName), Name = "ix_asbitem", IsUnique = true)]
  16. public class Asbitem : AuditedEntity<Guid>, IDisplayName, IDisplayOrder, IHasConcurrencyStamp
  17. {
  18. public Asbitem(Guid id):base(id) { }
  19. public Asbitem()
  20. {
  21. AsbitemDetails = new HashSet<AsbitemDetail>();
  22. ChargeAsbitems = new HashSet<ChargeAsbitem>();
  23. CustomerOrgGroupDetails = new HashSet<CustomerOrgGroupDetail>();
  24. MedicalPackageDetails = new HashSet<MedicalPackageDetail>();
  25. RegisterCheckAsbitems = new HashSet<RegisterCheckAsbitem>();
  26. Rooms = new HashSet<Room>();
  27. }
  28. /// <summary>
  29. /// 名称
  30. /// </summary>
  31. [Column("display_name")]
  32. [StringLength(30)]
  33. public string DisplayName { get; set; }
  34. /// <summary>
  35. /// 简称
  36. /// </summary>
  37. [Column("short_name")]
  38. [StringLength(20)]
  39. public string ShortName { get; set; }
  40. /// <summary>
  41. /// 适用性别,M-男,F-女,A-全部
  42. /// </summary>
  43. [Column("for_sex_id")]
  44. [MaxLength(1)]
  45. public char ForSexId { get; set; }
  46. /// <summary>
  47. /// 项目类别
  48. /// </summary>
  49. [Column("item_type_id")]
  50. public Guid ItemTypeId { get; set; }
  51. /// <summary>
  52. /// 价格
  53. /// </summary>
  54. [Column("price")]
  55. [Precision(8, 2)]
  56. public decimal Price { get; set; }
  57. /// <summary>
  58. /// 仪器类别
  59. /// </summary>
  60. [Column("device_type_id")]
  61. public Guid? DeviceTypeId { get; set; }
  62. /// <summary>
  63. ///// 发票类别
  64. ///// </summary>
  65. //[Column("invoice_item_type_id")]
  66. //public Guid InvoiceItemTypeId { get; set; }
  67. /// <summary>
  68. /// 汇总项目类别ID
  69. /// </summary>
  70. [Column("collect_item_type_id")]
  71. public Guid CollectItemTypeId { get; set; }
  72. /// <summary>
  73. /// 项目结果合并
  74. /// </summary>
  75. [Column("is_item_result_merger")]
  76. [MaxLength(1)]
  77. public char IsItemResultMerger { get; set; }
  78. /// <summary>
  79. /// 餐前项目
  80. /// </summary>
  81. [Column("is_before_eat")]
  82. [MaxLength(1)]
  83. public char IsBeforeEat { get; set; }
  84. /// <summary>
  85. /// 临床意义
  86. /// </summary>
  87. [Column("clinical_meaning")]
  88. [StringLength(100)]
  89. public string ClinicalMeaning { get; set; }
  90. /// <summary>
  91. /// 默认结果
  92. /// </summary>
  93. [Column("default_result")]
  94. [StringLength(100)]
  95. public string DefaultResult { get; set; }
  96. /// <summary>
  97. /// 候诊时间
  98. /// </summary>
  99. [Column("queue_time")]
  100. [Precision(3, 1)]
  101. public decimal QueueTime { get; set; }
  102. /// <summary>
  103. /// 启用诊断函数
  104. /// </summary>
  105. [Column("is_diagnosis_function")]
  106. [MaxLength(1)]
  107. public char IsDiagnosisFunction { get; set; }
  108. /// <summary>
  109. /// 诊断函数
  110. /// </summary>
  111. [Column("diagnosis_function")]
  112. [MaxLength(4000)]
  113. public string DiagnosisFunction { get; set; }
  114. /// <summary>
  115. /// 诊断函数处理完毕后继续处理
  116. /// </summary>
  117. [Column("is_continue_process")]
  118. [MaxLength(1)]
  119. public char IsContinueProcess { get; set; }
  120. /// <summary>
  121. /// 体检报告图片旋转90°
  122. /// </summary>
  123. [Column("is_picture_rotate")]
  124. [MaxLength(1)]
  125. public char IsPictureRotate { get; set; }
  126. /// <summary>
  127. /// 是否为检查项目
  128. /// </summary>
  129. [Column("is_check")]
  130. [MaxLength(1)]
  131. public char IsCheck { get; set; }
  132. /// <summary>
  133. /// 是否启用
  134. /// </summary>
  135. [Column("is_active")]
  136. [MaxLength(1)]
  137. public char IsActive { get; set; }
  138. [Column("simple_code")]
  139. [StringLength(30)]
  140. public string SimpleCode { get; set; } = null!;
  141. [Column("display_order")]
  142. public int DisplayOrder { get; set; }
  143. /// <summary>
  144. /// 条码模式 0-使用项目类别设置,1-打印人员登记号,2-不打印,默认值是0
  145. /// </summary>
  146. [Column("barcode_mode")]
  147. [MaxLength(1)]
  148. public char BarcodeMode { get; set; }
  149. /// <summary>
  150. /// 是否支持网上预约
  151. /// </summary>
  152. [Column("is_web_appoint")]
  153. [MaxLength(1)]
  154. public char IsWebAppoint { get; set; }
  155. /// <summary>
  156. /// 疾病筛查类别
  157. /// </summary>
  158. [Column("disease_screening_type_id")]
  159. public Guid? DiseaseScreeningTypeId { get; set; }
  160. /// <summary>
  161. /// 警告事项
  162. /// </summary>
  163. [MaxLength(100)]
  164. [Column("warn")]
  165. public string Warn { get; set; }
  166. [Column("concurrency_stamp")]
  167. public string ConcurrencyStamp { get; set; }
  168. //[ForeignKey(nameof(InvoiceItemTypeId))]
  169. //[InverseProperty("Asbitems")]
  170. //public virtual InvoiceItemType InvoiceItemType { get; set; }
  171. [ForeignKey(nameof(CollectItemTypeId))]
  172. [InverseProperty("Asbitems")]
  173. public virtual CollectItemType CollectItemType { get; set; }
  174. [ForeignKey(nameof(ItemTypeId))]
  175. [InverseProperty("Asbitems")]
  176. public virtual ItemType ItemType { get; set; } = null!;
  177. [InverseProperty("Asbitem")]
  178. public virtual SampleGroupDetail SampleGroupDetail { get; set; } = null!;
  179. [InverseProperty(nameof(AsbitemDetail.Asbitem))]
  180. public virtual ICollection<AsbitemDetail> AsbitemDetails { get; set; }
  181. [InverseProperty(nameof(ChargeAsbitem.Asbitem))]
  182. public virtual ICollection<ChargeAsbitem> ChargeAsbitems { get; set; }
  183. [InverseProperty(nameof(ChargeRequestAsbitem.Asbitem))]
  184. public virtual ICollection<ChargeRequestAsbitem> ChargeRequestAsbitems { get; set; }
  185. [InverseProperty(nameof(CustomerOrgGroupDetail.Asbitem))]
  186. public virtual ICollection<CustomerOrgGroupDetail> CustomerOrgGroupDetails { get; set; }
  187. [InverseProperty(nameof(MedicalPackageDetail.Asbitem))]
  188. public virtual ICollection<MedicalPackageDetail> MedicalPackageDetails { get; set; }
  189. [InverseProperty(nameof(RegisterCheckAsbitem.Asbitem))]
  190. public virtual ICollection<RegisterCheckAsbitem> RegisterCheckAsbitems { get; set; }
  191. [ForeignKey("AsbitemId")]
  192. [InverseProperty(nameof(Room.Asbitems))]
  193. public virtual ICollection<Room> Rooms { get; set; }
  194. #region 审计属性
  195. //public DateTime CreationTime { get; set; }
  196. //public Guid? CreatorId { get; set; }
  197. //public Guid? LastModifierId { get; set; }
  198. //public DateTime? LastModificationTime { get; set; }
  199. //public Guid? DeleterId { get; set; }
  200. //public DateTime? DeletionTime { get; set; }
  201. //public bool IsDeleted { get; set; }
  202. //public override object[] GetKeys()
  203. //{
  204. // return new object[] { AsbitemId };
  205. //}
  206. #endregion
  207. }
  208. }