From 19f438505597fbc24b4ff97d1b05cca2813606a2 Mon Sep 17 00:00:00 2001 From: hang <87227557@qq.com> Date: Thu, 19 Sep 2024 21:56:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=92=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E5=85=B3=E7=B3=BB1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/IRC.Core.SCP.csproj | 1 - .../WorkLoad/DTO/DoctorWorkLoadViewModel.cs | 2 +- .../Common/EmailNoticeConfig.cs | 160 ++-- IRaCIS.Core.Domain/Common/ExploreRecommend.cs | 40 +- IRaCIS.Core.Domain/Common/FrontAuditConfig.cs | 216 ++--- .../Common/Internationalization.cs | 70 +- IRaCIS.Core.Domain/Common/PublishLog.cs | 34 +- .../Dcotor/EnrollReadingCriterion.cs | 41 +- IRaCIS.Core.Domain/Dcotor/Postgraduate.cs | 81 +- .../Dcotor/ResearchPublication.cs | 53 +- IRaCIS.Core.Domain/Financial/ExchangeRate.cs | 17 +- IRaCIS.Core.Domain/Financial/Payment.cs | 61 +- .../Financial/PaymentAdjustment.cs | 40 +- IRaCIS.Core.Domain/Financial/PaymentDetail.cs | 63 +- IRaCIS.Core.Domain/Financial/RankPrice.cs | 55 +- IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs | 130 ++- IRaCIS.Core.Domain/Image/ImageShare.cs | 29 +- IRaCIS.Core.Domain/Image/NoneDicomStudy.cs | 87 +- .../Image/NoneDicomStudyFile.cs | 61 +- IRaCIS.Core.Domain/Image/SCPImageUpload.cs | 61 +- IRaCIS.Core.Domain/Image/SCPInstance.cs | 78 +- IRaCIS.Core.Domain/Image/SCPPatient.cs | 74 +- IRaCIS.Core.Domain/Image/SCPSeries.cs | 92 ++- IRaCIS.Core.Domain/Image/SCPStudy.cs | 120 +-- IRaCIS.Core.Domain/Institution/Hospital.cs | 65 +- IRaCIS.Core.Domain/Institution/Site.cs | 72 +- IRaCIS.Core.Domain/Institution/Sponsor.cs | 29 +- IRaCIS.Core.Domain/Management/Menu.cs | 62 +- .../QC/ClinicalData/PreviousHistory.cs | 66 +- .../QC/ClinicalData/PreviousOther.cs | 60 +- .../QC/ClinicalData/PreviousPDF.cs | 64 +- .../QC/ClinicalData/PreviousSurgery.cs | 44 +- IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs | 36 +- IRaCIS.Core.Domain/QC/QCChallenge.cs | 102 ++- IRaCIS.Core.Domain/QC/QCChallengeDialog.cs | 28 +- IRaCIS.Core.Domain/QC/QCQuestion.cs | 64 +- .../ClinicalData/ReadingClinicalData.cs | 135 ++- .../ClinicalData/ReadingClinicalDataPDF.cs | 29 +- .../ReadingConsistentClinicalData.cs | 131 ++- .../ReadingConsistentClinicalDataPDF.cs | 52 +- .../ReadModuleCriterionFrom.cs | 28 +- .../ReadingMedicalReviewDialog.cs | 159 ++-- .../ReadingMedicineQuestionAnswer.cs | 46 +- .../ReadingMedicineSystemQuestion.cs | 107 +-- .../ReadingMedicineTrialQuestion.cs | 116 +-- .../Reading/ReadingCriterion/OrganInfo.cs | 100 +-- .../ReadingCriterion/OrganTrialInfo.cs | 140 ++-- .../ReadingCriterion/ReadingCriterionPage.cs | 56 +- .../ReadingQuestionCriterionSystem.cs | 96 +-- .../ReadingQuestionSystem.cs | 547 ++++++------- .../ReadingQuestionTrial.cs | 769 +++++++++--------- .../ReadingSystemCriterionDictionary.cs | 65 +- .../ReadingTrialCriterionDictionary.cs | 57 +- .../ReadingFormAnswer/ReadingCustomTag.cs | 49 +- .../ReadingGlobalTaskInfo.cs | 80 +- .../ReadingFormAnswer/ReadingJudgeInfo.cs | 54 +- .../ReadingOncologyTaskInfo.cs | 72 +- .../ReadingTableAnswerRowInfo.cs | 143 ++-- .../ReadingTableQuestionAnswer.cs | 76 +- .../ReadingTaskQuestionAnswer.cs | 77 +- .../ReadingTaskQuestionMark.cs | 113 +-- .../ReadingFormAnswer/ReadingTaskRelation.cs | 53 +- .../Reading/ReadingPeriod/ReadModule.cs | 147 ++-- .../ReadingPeriod/ReadingPeriodPlan.cs | 56 +- .../Reading/ReadingPeriod/ReadingPeriodSet.cs | 87 +- .../ReadingPeriod/ReadingPeriodSite.cs | 42 +- .../Reading/ShortcutKey/DefaultShortcutKey.cs | 58 +- IRaCIS.Core.Domain/Trial/Enroll.cs | 113 ++- IRaCIS.Core.Domain/Trial/EnrollDetail.cs | 47 +- .../Trial/EnrollReadingCategory.cs | 31 +- IRaCIS.Core.Domain/Visit/Subject.cs | 196 ++--- 71 files changed, 3016 insertions(+), 3469 deletions(-) diff --git a/IRC.Core.SCP/IRC.Core.SCP.csproj b/IRC.Core.SCP/IRC.Core.SCP.csproj index 5db7866bd..61afafb4e 100644 --- a/IRC.Core.SCP/IRC.Core.SCP.csproj +++ b/IRC.Core.SCP/IRC.Core.SCP.csproj @@ -8,7 +8,6 @@ - diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs index 74afe9fc0..cf9457c26 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs @@ -269,7 +269,7 @@ namespace IRaCIS.Application.Contracts public Guid EnrollId { get; set; } public DateTime? OutEnrollTime { get; set; } - public Guid AgreementId { get; set; } + public Guid? AgreementId { get; set; } public string AgreementPath { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs b/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs index 2b0c7b1b7..0e20aafb0 100644 --- a/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs +++ b/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs @@ -4,111 +4,111 @@ // 生成时间 2022-02-15 11:55:43 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - 邮件配置表表(需要同步)")] +[Table("EmailNoticeConfig")] +public class EmailNoticeConfig : BaseFullDeleteAuditEntity { - /// - ///EmailNoticeConfig - /// - [Table("EmailNoticeConfig")] - public class EmailNoticeConfig : BaseFullDeleteAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List TrialEmailNoticeConfigList { get; set; } + #region 导航属性 + [JsonIgnore] + public List TrialEmailNoticeConfigList { get; set; } - [JsonIgnore] - public List EmailNoticeUserTypeList { get; set; } = new List(); - #endregion + [JsonIgnore] + public List EmailNoticeUserTypeList { get; set; } = new List(); + #endregion - public string Code { get; set; } = String.Empty; + public string AttachCNPath { get; set; } = null!; - public EmailBusinessScenario BusinessScenarioEnum { get; set; } + public string AttachName { get; set; } = null!; - /// 标准类型 /// - public CriterionType? CriterionTypeEnum { get; set; } + public string AttachNameCN { get; set; } = null!; - /// 业务模块 /// - public int BusinessModuleEnum { get; set; } + public string AttachPath { get; set; } = null!; - /// 业务层级 /// - public int BusinessLevelEnum { get; set; } + [Comment(" 业务级别")] + public int BusinessLevelEnum { get; set; } - /// 邮件加急类型 /// - public int EmailUrgentEnum { get; set; } + [Comment(" 业务模块")] + public int BusinessModuleEnum { get; set; } - /// 定时周期 /// - public string EmailCron { get; set; } = string.Empty; + [Comment(" 业务场景")] + public EmailBusinessScenario BusinessScenarioEnum { get; set; } - /// 邮件主题 /// - public string EmailTopic { get; set; } = string.Empty; + public string Code { get; set; } = null!; - public string EmailTopicCN { get; set; } = string.Empty; + [Comment(" 标准枚举")] + public CriterionType? CriterionTypeEnum { get; set; } - /// 附件 /// - public string AttachPath { get; set; } = string.Empty; + public string Description { get; set; } = null!; - public string AttachCNPath { get; set; } = string.Empty; - - public string EmailHtmlContent { get; set; } = string.Empty; - - public string EmailHtmlContentCN { get; set; } = string.Empty; - - public string Description { get; set; } = string.Empty; + [Comment(" 发送周期")] + public string EmailCron { get; set; } = null!; - public string AttachName { get; set; } = string.Empty; - public string AttachNameCN { get; set; } = string.Empty; + [MaxLength] + public string EmailHtmlContent { get; set; } = null!; - public SysEmailLevel SystemLevel { get; set; } + [MaxLength] + public string EmailHtmlContentCN { get; set; } = null!; - /// - /// 是否区分标准 - /// - public bool IsDistinguishCriteria { get; set; } + public string EmailTopic { get; set; } = null!; + + public string EmailTopicCN { get; set; } = null!; + + [Comment(" 加急枚举")] + public int EmailUrgentEnum { get; set; } + + [Comment(" 是否自动发送")] + public bool IsAutoSend { get; set; } + + [Comment(" 是否区分标准")] + public bool IsDistinguishCriteria { get; set; } + + public bool IsEnable { get; set; } + + [Comment(" 是否需要回执")] + public bool IsReturnRequired { get; set; } + + public SysEmailLevel SystemLevel { get; set; } - /// 是否需要回执 - public bool IsReturnRequired { get; set; } - public bool IsAutoSend { get; set; } - - public bool IsEnable { get; set; } - - - } - - - [Table("EmailNoticeUserType")] - - public class EmailNoticeUserType : Entity - { - [JsonIgnore] - public EmailNoticeConfig EmailNoticeConfig { get; set; } - - public Guid EmailNoticeConfigId { get; set; } - - - public UserTypeEnum UserType { get; set; } - - public EmailUserType EmailUserType { get; set; } - } - - - public enum SysEmailLevel - { - not_sys=0, - - //系统 不配置角色 - sys_not_role=1, - - //系统需要配置角色的 - sys_Config_role=2 - } +} + + +[Comment("后台 - 邮件配置用户类型表(需要同步)")] +[Table("EmailNoticeUserType")] + +public class EmailNoticeUserType : Entity +{ + [JsonIgnore] + public EmailNoticeConfig EmailNoticeConfig { get; set; } + + public Guid EmailNoticeConfigId { get; set; } + + + public UserTypeEnum UserType { get; set; } + + public EmailUserType EmailUserType { get; set; } +} + + +public enum SysEmailLevel +{ + not_sys=0, + + //系统 不配置角色 + sys_not_role=1, + + //系统需要配置角色的 + sys_Config_role=2 } diff --git a/IRaCIS.Core.Domain/Common/ExploreRecommend.cs b/IRaCIS.Core.Domain/Common/ExploreRecommend.cs index fd5bef412..b2e8a86bb 100644 --- a/IRaCIS.Core.Domain/Common/ExploreRecommend.cs +++ b/IRaCIS.Core.Domain/Common/ExploreRecommend.cs @@ -7,30 +7,34 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - 浏览器推荐 (需要同步)")] +[Table("ExploreRecommend")] +public class ExploreRecommend : BaseFullDeleteAuditEntity { - /// - ///ExploreRecommend - /// - [Table("ExploreRecommend")] - public class ExploreRecommend : BaseFullDeleteAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion + #endregion - public string ExploreType { get; set; } = string.Empty; + [StringLength(1000)] + public string DownloadUrl { get; set; } = null!; - public string Version { get; set; }=string.Empty; - - public string Title { get; set; } = string.Empty; + public string ExploreType { get; set; } = null!; - public string DownloadUrl { get; set; } = string.Empty; + [StringLength(1000)] + public string FileName { get; set; } = null!; - public string Path { get; set; } = string.Empty; + [StringLength(1000)] + public string Path { get; set; } = null!; - public string FileName { get; set; } = string.Empty; + [StringLength(1000)] + public string Title { get; set; } = null!; + + [StringLength(2000)] + public string Version { get; set; } = null!; + +} - } -} diff --git a/IRaCIS.Core.Domain/Common/FrontAuditConfig.cs b/IRaCIS.Core.Domain/Common/FrontAuditConfig.cs index 235b1ff9a..b25b93c38 100644 --- a/IRaCIS.Core.Domain/Common/FrontAuditConfig.cs +++ b/IRaCIS.Core.Domain/Common/FrontAuditConfig.cs @@ -8,168 +8,132 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models; -/// -///FrontAuditConfig -/// +[Comment("稽查 - 配置表 (需要同步)")] [Table("FrontAuditConfig")] public class FrontAuditConfig : BaseFullAuditEntity { #region 导航属性 #endregion - public string Value { get; set; } = String.Empty; + [StringLength(1000)] + public string ChildDataEnLabel { get; set; } = null!; - public string ValueCN { get; set; } = String.Empty; + [Comment(" 前端渲染数组 数组名 和数组值")] + [StringLength(400)] + public string ChildDataLabel { get; set; } = null!; - public string Description { get; set; } = String.Empty; + [Comment(" 子数据Value")] + [StringLength(400)] + public string ChildDataValue { get; set; } = null!; - public string DescriptionCN { get; set; } = String.Empty; + public Guid? ChildrenTypeId { get; set; } - + [Comment(" 翻译的字段名 这里有可能是一个数组名 那么具体的翻译字段名就不是这个了")] + public string Code { get; set; } = null!; - /// - /// 是否有签名 - /// - public bool IsHaveSign { get; set; } + [StringLength(1000)] + public string CodeEn { get; set; } = null!; - /// - /// 是否有原因 - /// - public bool IsHaveReason { get; set; } + [Comment(" 前端使用 C M")] + public string ConfigType { get; set; } = null!; - /// - /// 是否完成 - /// - public bool IsFinish { get; set; } + [Comment(" 前端展示类型 Router, Array,Table")] + public string DataType { get; set; } = null!; - /// - /// 是否加入计划 - /// - public bool IsJoinPlan { get; set; } + [Comment(" 日期格式")] + public string DateType { get; set; } = null!; - /// - /// 标识 - /// - public string Identification { get; set; } = string.Empty; + [StringLength(512)] + public string Description { get; set; } = null!; - public Guid? ParentId { get; set; } + [StringLength(500)] + public string DescriptionCN { get; set; } = null!; + [Comment(" 翻译的字典名(单个字段翻译的时候)")] + public string DictionaryCode { get; set; } = null!; + + [Comment(" 字典名称-待废弃核查")] + public string DictionaryKey { get; set; } = null!; + + [Comment(" 枚举字典Type")] + public string DictionaryType { get; set; } = null!; + + [Comment(" 后端翻译的类型 对应前端界面 "" Dictionary Date")] + public string EnumType { get; set; } = null!; + + [StringLength(1000)] + public string ForeignKeyEnText { get; set; } = null!; + + [Comment(" 外键表")] + public string ForeignKeyTableName { get; set; } = null!; + + [Comment(" 外键Text")] + [StringLength(1000)] + public string ForeignKeyText { get; set; } = null!; + + [Comment(" 外键Value")] + public string ForeignKeyValue { get; set; } = null!; + + [Comment(" 标识")] + [StringLength(400)] + public string Identification { get; set; } = null!; + + [Comment(" 接口名")] + public string InterfaceName { get; set; } = null!; + + [Comment(" 未知是否有用-废弃核查")] + public bool IsConfig { get; set; } public bool IsEnable { get; set; } - public int Sort { get; set; } + [Comment(" 是否完成")] + public bool IsFinish { get; set; } + [Comment(" 是否有原因")] + public bool IsHaveReason { get; set; } + + [Comment(" 是否有签名")] + public bool IsHaveSign { get; set; } + + [Comment(" 是否加入计划")] + public bool? IsJoinPlan { get; set; } + + [Comment(" 待废弃核查")] + public bool IsShowByTrialConfig { get; set; } + + public int IsShowParent { get; set; } + + [Comment(" 是否为特殊类型")] + public bool? IsSpecialType { get; set; } public Guid? ModuleTypeId { get; set; } public Guid? ObjectTypeId { get; set; } + public Guid? OptTypeId { get; set; } - public Guid? ChildrenTypeId { get; set; } + public Guid? ParentId { get; set; } - public int IsShowParent { get; set; } + public int Sort { get; set; } - public string InterfaceName { get; set; } = String.Empty; + [MaxLength] + public string? TableConfigJsonStr { get; set; } - //前端使用 C M - public string ConfigType { get; set; } = String.Empty; + [Comment(" 待废弃核查")] + public string TrialConfigRelyFieldName { get; set; } = null!; + [MaxLength] + public string? UrlConfigJsonStr { get; set; } - //翻译的字段名 这里有可能是一个数组名 那么具体的翻译字段名就不是这个了 - public string Code { get; set; } = String.Empty; + [StringLength(400)] + public string Value { get; set; } = null!; - - /// - /// 字段的英文值 - /// - public string CodeEn { get; set; } = string.Empty; - - - //前端渲染数组 数组名 和数组值 - public string ChildDataLabel { get; set; } = String.Empty; - - - /// - /// 前端渲染数组 数组名 和数组值 英文名称 - /// - public string ChildDataEnLabel { get; set; } = string.Empty; - - public string ChildDataValue { get; set; } = String.Empty; - - - - /// - /// 翻译的字典名(单个字段翻译的时候) - /// - - public string DictionaryCode { get; set; } = String.Empty; - - - /// - /// 前端展示类型 Router, Array,Table - /// - - public string DataType { get; set; } = String.Empty; - - // 后端翻译的类型 对应前端界面 "" Dictionary Date - public string EnumType { get; set; } = String.Empty; - - - - /// - /// 翻译的类型 FrontAudit 的描述 可能是Id Code - /// - public string DictionaryType { get; set; } = String.Empty; - - - /// - /// 后端翻译的 日期类型 - /// - - public string DateType { get; set; } = String.Empty; - - - - - /// 字典表 - public string ForeignKeyTableName { get; set; } = String.Empty; - - /// 字典Value - public string ForeignKeyValue { get; set; } = String.Empty; - - /// 字典 - public string ForeignKeyText { get; set; } = String.Empty; - - /// - /// 英文的翻译 - /// - public string ForeignKeyEnText { get; set; } = string.Empty; - - - public string TableConfigJsonStr { get; set; } = String.Empty; - - public string UrlConfigJsonStr { get; set; } = String.Empty; - - - - - #region 废弃 - //未知是否有用 - public bool IsConfig { get; set; } - /// - /// 是否为特殊类型 - /// - public bool IsSpecialType { get; set; } - public string DictionaryKey { get; set; } = string.Empty; - - - public bool IsShowByTrialConfig { get; set; } - public string TrialConfigRelyFieldName { get; set; } = string.Empty; - - #endregion + [StringLength(400)] + public string ValueCN { get; set; } = null!; } diff --git a/IRaCIS.Core.Domain/Common/Internationalization.cs b/IRaCIS.Core.Domain/Common/Internationalization.cs index d029dfdcb..15ec0c6f0 100644 --- a/IRaCIS.Core.Domain/Common/Internationalization.cs +++ b/IRaCIS.Core.Domain/Common/Internationalization.cs @@ -7,47 +7,49 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - 国际化配置表 (需要同步)")] +[Table("Internationalization")] +public class Internationalization : BaseFullAuditEntity { - /// - ///Internationalization - /// - [Table("Internationalization")] - public class Internationalization : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] - public PublishLog PublishLog { get; set; } + #region 导航属性 + [JsonIgnore] + public PublishLog PublishLog { get; set; } - #endregion - public int ShowOrder { get; set; } - - /// - /// 0 1 2 预翻译 已确认 废除 - /// - public int State { get; set; } - + #endregion - public string Description { get; set; } = string.Empty; + [StringLength(400)] + public string Code { get; set; } = null!; - public string Code { get; set; } = string.Empty; + [StringLength(400)] + public string Description { get; set; } = null!; - public string Value { get; set; } = string.Empty; + [Comment(" 前端类型")] + [StringLength(1000)] + public string FrontType { get; set; } = null!; - public string ValueCN { get; set; } = string.Empty; + [Comment(" 前端还是后端")] + public int InternationalizationType { get; set; } - public int InternationalizationType { get; set; } + [Comment(" 模块")] + public string Module { get; set; } = null!; - public string FrontType { get; set; }=string.Empty; + [Comment(" 版本")] + public Guid? PublishLogId { get; set; } + + public int ShowOrder { get; set; } + + [Comment(" 0 1 2 预翻译 已确认 废除")] + public int State { get; set; } + + [StringLength(2000)] + public string Value { get; set; } = null!; + + [StringLength(2000)] + public string ValueCN { get; set; } = null!; + +} - public string Module { get; set; } = string.Empty; - //关联版本历史记录表Id - public Guid? PublishLogId { get; set; } - - - - - } - -} diff --git a/IRaCIS.Core.Domain/Common/PublishLog.cs b/IRaCIS.Core.Domain/Common/PublishLog.cs index 55c7019b5..a015a15d6 100644 --- a/IRaCIS.Core.Domain/Common/PublishLog.cs +++ b/IRaCIS.Core.Domain/Common/PublishLog.cs @@ -7,27 +7,27 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - 系统发布日志 (需要同步)")] +[Table("PublishLog")] +public class PublishLog : BaseFullAuditEntity { - /// - ///PublishLog - /// - [Table("PublishLog")] - public class PublishLog : BaseFullAuditEntity - { - + public bool IsCurrentVersion { get; set; } - public string Version { get; set; } = string.Empty; + public DateTime? PublishTime { get; set; } - public DateTime? PublishTime { get; set; } - - public string UpdateContent { get; set; } = string.Empty; + [Comment("0 开发中 1已发布")] + public int State { get; set; } - //0 开发中 ,已发布 - public int State { get; set; } - public bool IsCurrentVersion { get; set; } + [MaxLength] + public string? UpdateContent { get; set; } + + public string Version { get; set; } = null!; + + +} - } -} diff --git a/IRaCIS.Core.Domain/Dcotor/EnrollReadingCriterion.cs b/IRaCIS.Core.Domain/Dcotor/EnrollReadingCriterion.cs index ed90cbc57..958850e8b 100644 --- a/IRaCIS.Core.Domain/Dcotor/EnrollReadingCriterion.cs +++ b/IRaCIS.Core.Domain/Dcotor/EnrollReadingCriterion.cs @@ -7,31 +7,30 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("医生 - 项目阅片标准参与一致性分析配置表")] +[Table("EnrollReadingCriterion")] +public class EnrollReadingCriterion : BaseAddAuditEntity { - /// - ///EnrollReadingCriterion - /// - [Table("EnrollReadingCriterion")] - public class EnrollReadingCriterion :BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("EnrollId")] - public Enroll Enroll { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("EnrollId")] + public Enroll Enroll { get; set; } + #endregion - public Guid EnrollId { get; set; } - - public Guid TrialReadingCriterionId { get; set; } - - public bool IsJoinAnalysis { get; set; } - + public Guid EnrollId { get; set; } + + public Guid TrialReadingCriterionId { get; set; } + + public bool IsJoinAnalysis { get; set; } + + + +} - - } -} diff --git a/IRaCIS.Core.Domain/Dcotor/Postgraduate.cs b/IRaCIS.Core.Domain/Dcotor/Postgraduate.cs index 21ec745e7..df04d8e6f 100644 --- a/IRaCIS.Core.Domain/Dcotor/Postgraduate.cs +++ b/IRaCIS.Core.Domain/Dcotor/Postgraduate.cs @@ -1,62 +1,63 @@ +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("ҽ - ")] +[Table("Postgraduate")] +public class Postgraduate : BaseFullAuditEntity { - [Table("Postgraduate")] - public partial class Postgraduate : BaseFullAuditEntity - { - #region + #region - #endregion + #endregion - public Guid DoctorId { get; set; } + public DateOnly? BeginDate { get; set; } - [Column(TypeName = "date")] - public DateTime? BeginDate { get; set; } + [StringLength(400)] + public string City { get; set; } = null!; - [Column(TypeName = "date")] - public DateTime? EndDate { get; set; } + [StringLength(400)] + public string CityCN { get; set; } = null!; - [StringLength(50)] - public string Training { get; set; } = string.Empty; + [StringLength(400)] + public string Country { get; set; } = null!; - [StringLength(100)] - public string Major { get; set; } = string.Empty; + [StringLength(400)] + public string CountryCN { get; set; } = null!; - [StringLength(100)] - public string Hospital { get; set; } = string.Empty; + public Guid DoctorId { get; set; } - [StringLength(100)] - public string School { get; set; } = string.Empty; - [StringLength(100)] - public string Country { get; set; } = string.Empty; + public DateOnly? EndDate { get; set; } - [StringLength(100)] - public string Province { get; set; } = string.Empty; + [StringLength(400)] + public string Hospital { get; set; } = null!; - [StringLength(100)] - public string City { get; set; } = string.Empty; + [StringLength(400)] + public string HospitalCN { get; set; } = null!; - [StringLength(50)] - public string TrainingCN { get; set; } = string.Empty; + [StringLength(400)] + public string Major { get; set; } = null!; - [StringLength(100)] - public string MajorCN { get; set; } = string.Empty; + [StringLength(400)] + public string MajorCN { get; set; } = null!; - [StringLength(100)] - public string HospitalCN { get; set; } = string.Empty; + [StringLength(400)] + public string Province { get; set; } = null!; - [StringLength(100)] - public string SchoolCN { get; set; } = string.Empty; - [StringLength(100)] - public string CountryCN { get; set; } = string.Empty; + [StringLength(400)] + public string ProvinceCN { get; set; } = null!; - [StringLength(100)] - public string ProvinceCN { get; set; } = string.Empty; + [StringLength(400)] + public string School { get; set; } = null!; - [StringLength(100)] - public string CityCN { get; set; } = string.Empty; - } + [StringLength(400)] + public string SchoolCN { get; set; } = null!; + + [StringLength(400)] + public string Training { get; set; } = null!; + + [StringLength(400)] + public string TrainingCN { get; set; } = null!; } diff --git a/IRaCIS.Core.Domain/Dcotor/ResearchPublication.cs b/IRaCIS.Core.Domain/Dcotor/ResearchPublication.cs index ebbf027c9..0172b07b7 100644 --- a/IRaCIS.Core.Domain/Dcotor/ResearchPublication.cs +++ b/IRaCIS.Core.Domain/Dcotor/ResearchPublication.cs @@ -1,23 +1,40 @@ +using Microsoft.EntityFrameworkCore; using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models -{ - [Table("ResearchPublication")] - public partial class ResearchPublication : BaseFullAuditEntity - { - #region +namespace IRaCIS.Core.Domain.Models; - #endregion - public Guid DoctorId { get; set; } - public string Research { get; set; } = string.Empty; - public string Grants { get; set; } = string.Empty; - public string Publications { get; set; } = string.Empty; - public string AwardsHonors { get; set; } = string.Empty; - - public string ResearchCN { get; set; } = string.Empty; - public string GrantsCN { get; set; } = string.Empty; - public string PublicationsCN { get; set; } = string.Empty; - public string AwardsHonorsCN { get; set; } = string.Empty; - } +[Comment("ҽ - ѧ¼")] +[Table("ResearchPublication")] +public partial class ResearchPublication : BaseFullAuditEntity +{ + #region + + #endregion + [MaxLength] + public string? AwardsHonors { get; set; } + + [MaxLength] + public string? AwardsHonorsCN { get; set; } + + public Guid DoctorId { get; set; } + + [MaxLength] + public string? Grants { get; set; } + + [MaxLength] + public string? GrantsCN { get; set; } + + [MaxLength] + public string? Publications { get; set; } + + [MaxLength] + public string? PublicationsCN { get; set; } + + [MaxLength] + public string? Research { get; set; } + + [MaxLength] + public string? ResearchCN { get; set; } } diff --git a/IRaCIS.Core.Domain/Financial/ExchangeRate.cs b/IRaCIS.Core.Domain/Financial/ExchangeRate.cs index c3cf0e6f2..98b9bcdee 100644 --- a/IRaCIS.Core.Domain/Financial/ExchangeRate.cs +++ b/IRaCIS.Core.Domain/Financial/ExchangeRate.cs @@ -1,15 +1,16 @@ using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Table("ExchangeRate")] +public class ExchangeRate : BaseFullAuditEntity { - [Table("ExchangeRate")] - public class ExchangeRate : BaseFullAuditEntity - { - public string YearMonth { get; set; } = string.Empty; + [StringLength(400)] + public string YearMonth { get; set; } = string.Empty; - [Column(TypeName = "decimal(18,2)")] - public decimal Rate { get; set; } + [DecimalPrecision(18, 2)] + public decimal Rate { get; set; } - } } diff --git a/IRaCIS.Core.Domain/Financial/Payment.cs b/IRaCIS.Core.Domain/Financial/Payment.cs index 16af455c1..45467f6b6 100644 --- a/IRaCIS.Core.Domain/Financial/Payment.cs +++ b/IRaCIS.Core.Domain/Financial/Payment.cs @@ -1,41 +1,54 @@ +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + + +[Comment("ҽƷ - ÿ֧¼")] +[Table("Payment")] +public class Payment : BaseFullAuditEntity { + [DecimalPrecision(18, 4)] + public decimal ActuallyPaidCNY { get; set; } - [Table("Payment")] - public partial class Payment : BaseFullAuditEntity - { - public Guid DoctorId { get; set; } - public string YearMonth { get; set; } = string.Empty; - public bool IsLock { get; set; } - public DateTime YearMonthDate { get; set; } + [DecimalPrecision(18, 4)] + public decimal AdjustmentCNY { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal PaymentUSD { get; set; } + [DecimalPrecision(18, 2)] + public decimal AdjustmentUSD { get; set; } - [Column(TypeName = "decimal(18,4)")] - public decimal PaymentCNY { get; set; } + [DecimalPrecision(18, 4)] + public decimal BankTransferCNY { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal ExchangeRate { get; set; } + public DateTime CalculateTime { get; set; } = DateTime.Now; + [StringLength(400)] + public string CalculateUser { get; set; } = null!; - [Column(TypeName = "decimal(18,4)")] - public decimal AdjustmentCNY { get; set; } + public Guid DoctorId { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal AdjustmentUSD { get; set; } - public DateTime CalculateTime { get; set; } = DateTime.Now; + [DecimalPrecision(18, 2)] + public decimal ExchangeRate { get; set; } - [StringLength(100)] - public string CalculateUser { get; set; } = string.Empty; + public bool IsLock { get; set; } - [StringLength(500)] - public string Note { get; set; } = string.Empty; + [StringLength(1000)] + public string Note { get; set; } = null!; + [DecimalPrecision(18, 4)] + public decimal PaymentCNY { get; set; } + + [DecimalPrecision(18, 2)] + public decimal PaymentUSD { get; set; } + + [DecimalPrecision(18, 4)] + public decimal TaxCNY { get; set; } + + [StringLength(400)] + public string YearMonth { get; set; } = null!; + + public DateTime YearMonthDate { get; set; } - } } diff --git a/IRaCIS.Core.Domain/Financial/PaymentAdjustment.cs b/IRaCIS.Core.Domain/Financial/PaymentAdjustment.cs index 51fc64c24..7d7c5fdd5 100644 --- a/IRaCIS.Core.Domain/Financial/PaymentAdjustment.cs +++ b/IRaCIS.Core.Domain/Financial/PaymentAdjustment.cs @@ -1,29 +1,35 @@ +using Microsoft.EntityFrameworkCore; using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("ҽƷ - Ŀÿµ¼")] +[Table("PaymentAdjustment")] +public partial class PaymentAdjustment : BaseFullAuditEntity { - [Table("PaymentAdjustment")] - public partial class PaymentAdjustment : BaseFullAuditEntity - { - public Guid ReviewerId { get; set; } + [DecimalPrecision(18, 4)] + public decimal AdjustmentCNY { get; set; } - public DateTime YearMonthDate { get; set; } - public string YearMonth { get; set; } = string.Empty; + [DecimalPrecision(18, 2)] + public decimal AdjustmentUSD { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal AdjustmentUSD { get; set; } + [DecimalPrecision(18, 2)] + public decimal ExchangeRate { get; set; } - [Column(TypeName = "decimal(18,4)")] - public decimal AdjustmentCNY { get; set; } + public bool IsLock { get; set; } + [StringLength(1000)] + public string Note { get; set; } = null!; - public Guid TrialId { get; set; } = Guid.Empty; + public Guid ReviewerId { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal ExchangeRate { get; set; } - public bool IsLock { get; set; } = false; - public string Note { get; set; } = string.Empty; + public Guid TrialId { get; set; } + + [StringLength(400)] + public string YearMonth { get; set; } = null!; + + public DateTime YearMonthDate { get; set; } - } } diff --git a/IRaCIS.Core.Domain/Financial/PaymentDetail.cs b/IRaCIS.Core.Domain/Financial/PaymentDetail.cs index 04513282a..44daf1a6c 100644 --- a/IRaCIS.Core.Domain/Financial/PaymentDetail.cs +++ b/IRaCIS.Core.Domain/Financial/PaymentDetail.cs @@ -1,44 +1,51 @@ +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("ҽƷ - ÿ֧")] +[Table("PaymentDetail")] +public class PaymentDetail : BaseFullAuditEntity { - [Table("PaymentDetail")] - public partial class PaymentDetail : BaseFullAuditEntity - { - public Guid PaymentId { get; set; } - public Guid DoctorId { get; set; } - public string YearMonth { get; set; } = string.Empty; - public Guid TrialId { get; set; } + [DecimalPrecision(18, 2)] + public decimal BasePrice { get; set; } - [StringLength(50)] - public string TrialCode { get; set; } = string.Empty; + public int Count { get; set; } - [StringLength(50)] - public string PaymentType { get; set; } = string.Empty; - public int Count { get; set; } + public Guid DoctorId { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal BasePrice { get; set; } + [DecimalPrecision(18, 2)] + public decimal ExchangeRate { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal PersonalAdditional { get; set; } + [DecimalPrecision(18, 4)] + public decimal PaymentCNY { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal TrialAdditional { get; set; } + public Guid PaymentId { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal ExchangeRate { get; set; } + [StringLength(400)] + public string PaymentType { get; set; } = null!; - [Column(TypeName = "decimal(18,2)")] - public decimal PaymentUSD { get; set; } + [DecimalPrecision(18, 2)] + public decimal PaymentUSD { get; set; } - [Column(TypeName = "decimal(18,4)")] - public decimal PaymentCNY { get; set; } + [DecimalPrecision(18, 2)] + public decimal PersonalAdditional { get; set; } - public int ShowTypeOrder { get; set; } - public int ShowCodeOrder { get; set; } + public int ShowCodeOrder { get; set; } + + public int ShowTypeOrder { get; set; } + + [DecimalPrecision(18, 2)] + public decimal TrialAdditional { get; set; } + + [StringLength(400)] + public string TrialCode { get; set; } = null!; + + public Guid TrialId { get; set; } + + [StringLength(400)] + public string YearMonth { get; set; } = null!; - } } diff --git a/IRaCIS.Core.Domain/Financial/RankPrice.cs b/IRaCIS.Core.Domain/Financial/RankPrice.cs index 99686efcb..6e6d533d0 100644 --- a/IRaCIS.Core.Domain/Financial/RankPrice.cs +++ b/IRaCIS.Core.Domain/Financial/RankPrice.cs @@ -2,43 +2,42 @@ using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Table("RankPrice")] +public partial class RankPrice : BaseFullAuditEntity { - [Table("RankPrice")] - public partial class RankPrice : BaseFullAuditEntity - { - [StringLength(200)] - public string RankName { get; set; } = string.Empty; + [DecimalPrecision(18, 2)] + public decimal Adjudication { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal Timepoint { get; set; } + [DecimalPrecision(18, 2)] + public decimal AdjudicationIn24H { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal TimepointIn24H { get; set; } + [DecimalPrecision(18, 2)] + public decimal AdjudicationIn48H { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal TimepointIn48H { get; set; } + [DecimalPrecision(18, 2)] + public decimal Downtime { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal Adjudication { get; set; } + [DecimalPrecision(18, 2)] + public decimal Global { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal AdjudicationIn24H { get; set; } + public string RankName { get; set; } = null!; - [Column(TypeName = "decimal(18,2)")] - public decimal AdjudicationIn48H { get; set; } + [DecimalPrecision(18, 2)] + public decimal RefresherTraining { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal Global { get; set; } + public int ShowOrder { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal Training { get; set; } + [DecimalPrecision(18, 2)] + public decimal Timepoint { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal Downtime { get; set; } + [DecimalPrecision(18, 2)] + public decimal TimepointIn24H { get; set; } - [Column(TypeName = "decimal(18,2)")] - public decimal RefresherTraining { get; set; } - public int ShowOrder { get; set; } - } + [DecimalPrecision(18, 2)] + public decimal TimepointIn48H { get; set; } + + [DecimalPrecision(18, 2)] + public decimal Training { get; set; } } diff --git a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs index 896391437..47d3f0737 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs @@ -3,89 +3,77 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2022-01-25 13:26:03 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目 - 影像上传监控")] +[Table("StudyMonitor")] +public class StudyMonitor : BaseAddAuditEntity { - /// - ///DicomStudyMonitor - /// - [Table("StudyMonitor")] - public class StudyMonitor : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("StudyId")] - public DicomStudy DicomStudy { get; set; } - [JsonIgnore] - [ForeignKey("StudyId")] - public NoneDicomStudy NoneDicomStudy { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("StudyId")] + public DicomStudy DicomStudy { get; set; } + [JsonIgnore] + [ForeignKey("StudyId")] + public NoneDicomStudy NoneDicomStudy { get; set; } - [JsonIgnore] - [ForeignKey("StudyId")] - public TaskStudy TaskStudy { get; set; } - [JsonIgnore] - [ForeignKey("SubjectId")] - public Subject Subject { get; set; } + [JsonIgnore] + [ForeignKey("StudyId")] + public TaskStudy TaskStudy { get; set; } + [JsonIgnore] + [ForeignKey("SubjectId")] + public Subject Subject { get; set; } - [JsonIgnore] - [ForeignKey("SubjectVisitId")] - public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("SubjectVisitId")] + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("TrialId")] - public Trial Trial { get; set; } + [JsonIgnore] + [ForeignKey("TrialId")] + public Trial Trial { get; set; } - #endregion + #endregion + + public DateTime? ArchiveFinishedTime { get; set; } + + public int FailedFileCount { get; set; } + + public int FileCount { get; set; } + + public long FileSize { get; set; } + + public string IP { get; set; } = null!; + + public bool IsDicom { get; set; } + + public bool IsDicomReUpload { get; set; } + + public bool IsSuccess { get; set; } + + public string Note { get; set; } = null!; + + [StringLength(1024)] + public string RecordPath { get; set; } = null!; + + public string StudyCode { get; set; } = null!; + + [Comment(" Dicom/非Dicom")] + public Guid StudyId { get; set; } + + public Guid SubjectId { get; set; } + + public Guid SubjectVisitId { get; set; } + public Guid TrialId { get; set; } + public DateTime? UploadFinishedTime { get; set; } - //可能是Dicom 也可能是非Dicom 该字段废弃 - public Guid StudyId { get; set; } - - - public DateTime UploadStartTime { get; set; } - - - public DateTime? UploadFinishedTime { get; set; } - - - public DateTime? ArchiveFinishedTime { get; set; } - - public int FailedFileCount { get; set; } - - - public long FileSize { get; set; } - - public string IP { get; set; }=string.Empty; - - - public bool IsDicomReUpload { get; set; } - - public bool IsDicom { get; set; } - - public int FileCount { get; set; } - - public string StudyCode { get; set; } = string.Empty; - - - public Guid TrialId { get; set; } - - public Guid SubjectId { get; set; } - - public Guid SubjectVisitId { get; set; } - - - - public bool IsSuccess { get; set; } - - public string Note { get; set; } = string.Empty; - - public string RecordPath { get; set; }=string.Empty; - - } + public DateTime UploadStartTime { get; set; } } diff --git a/IRaCIS.Core.Domain/Image/ImageShare.cs b/IRaCIS.Core.Domain/Image/ImageShare.cs index 0244d9781..6b1e7a286 100644 --- a/IRaCIS.Core.Domain/Image/ImageShare.cs +++ b/IRaCIS.Core.Domain/Image/ImageShare.cs @@ -1,19 +1,24 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; +using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("影像 - 影像分享记录表")] +[Table("ImageShare")] +public class ImageShare: Entity { - public class ImageShare: Entity - { - #region 导航属性 + #region 导航属性 - #endregion - public Guid TrialId { get; set; } - public Guid SubjectId { get; set; } - public Guid StudyId { get; set; } + #endregion + public DateTime ExpireTime { get; set; } - public DateTime ExpireTime { get; set; } + public string Password { get; set; } = null!; - public string Password { get; set; } = string.Empty; + public Guid StudyId { get; set; } + + public Guid SubjectId { get; set; } + + public Guid TrialId { get; set; } - } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs b/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs index 84f13892f..1df005894 100644 --- a/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs @@ -3,69 +3,60 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2021-12-06 10:49:39 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("影像 - 非dicom检查")] +[Table("NoneDicomStudy")] +public class NoneDicomStudy : BaseFullAuditEntity { - /// - ///NoneDicomStudy - /// - [Table("NoneDicomStudy")] - public class NoneDicomStudy : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List NoneDicomFileList { get; set; } + #region 导航属性 + [JsonIgnore] + public List NoneDicomFileList { get; set; } - [JsonIgnore] - public List TaskNoneDicomFileList { get; set; } + [JsonIgnore] + public List TaskNoneDicomFileList { get; set; } - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - public Subject Subject { get; set; } + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + public Subject Subject { get; set; } - #endregion + #endregion + public string BodyPart { get; set; } = null!; - public string StudyCode { get; set; } = string.Empty; + public int Code { get; set; } - public int FileCount { get; set; } + public string Description { get; set; } = null!; - public int Code { get; set; } - - public Guid TrialId { get; set; } - + public int FileCount { get; set; } - public Guid SubjectId { get; set; } + public DateTime ImageDate { get; set; } - - public Guid SubjectVisitId { get; set; } - + public string Modality { get; set; } = null!; - - public string BodyPart { get; set; } = string.Empty; + public string StudyCode { get; set; } = null!; + + public Guid SubjectId { get; set; } + + public Guid SubjectVisitId { get; set; } + + public Guid TrialId { get; set; } + + public DateTime? UploadVideoTime { get; set; } + + public string VideoName { get; set; } = null!; + + public string VideoObjectName { get; set; } = null!; + + public string VideoUrl { get; set; } = null!; + +} - public string Modality { get; set; } = string.Empty; - - public DateTime ImageDate { get; set; } - - - public string Description { get; set; } = string.Empty; - - - public string VideoName { get; set; } = string.Empty; - - public string VideoObjectName { get; set; } = string.Empty; - - public DateTime? UploadVideoTime { get; set; } - - public string VideoUrl { get; set; } = string.Empty; - - } - -} diff --git a/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs b/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs index 48e9be4de..91cef823a 100644 --- a/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs +++ b/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs @@ -3,55 +3,48 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2021-12-06 10:49:39 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + + +[Comment("影像 - 非dicom检查关联文件表")] +[Table("NoneDicomStudyFile")] +public class NoneDicomStudyFile : BaseAddAuditEntity { - - [Table("NoneDicomStudyFile")] - public class NoneDicomStudyFile : BaseAddAuditEntity - { - #region 导航属性 - [ForeignKey("NoneDicomStudyId")] - [JsonIgnore] - public NoneDicomStudy NoneDicomStudy { get; set; } + #region 导航属性 + [ForeignKey("NoneDicomStudyId")] + [JsonIgnore] + public NoneDicomStudy NoneDicomStudy { get; set; } - [JsonIgnore] - public VisitTask VisitTask { get; set; } + [JsonIgnore] + public VisitTask VisitTask { get; set; } - [ForeignKey("OriginNoneDicomStudyId")] - [JsonIgnore] - public NoneDicomStudy OriginNoneDicomStudy { get; set; } - #endregion + [ForeignKey("OriginNoneDicomStudyId")] + [JsonIgnore] + public NoneDicomStudy OriginNoneDicomStudy { get; set; } + #endregion - public Guid NoneDicomStudyId { get; set; } + public string FileName { get; set; } = null!; + public long? FileSize { get; set; } - public string Path { get; set; } = string.Empty; + public string FileType { get; set; } = null!; + public Guid NoneDicomStudyId { get; set; } - public string FileName { get; set; } = string.Empty; + [Comment("为了不影响原始检查,跟任务绑定的 NoneDicomStudyId 为guid空 这个字段记录跟原始检查绑")] + public Guid? OriginNoneDicomStudyId { get; set; } - public string FileType { get; set; } = string.Empty; + [StringLength(512)] + public string Path { get; set; } = null!; - public long? FileSize { get; set; } + [Comment("任务Id,配合OriginNoneDicomStudyId 一起使用")] + public Guid? VisitTaskId { get; set; } - #region 跟任务绑定 同时区分检查 - - public Guid? VisitTaskId { get; set; } - - - /// - /// 为了不影响原始检查,跟任务绑定的 NoneDicomStudyId 为guid空 这个字段记录跟原始检查绑 - /// - public Guid? OriginNoneDicomStudyId { get; set; } - #endregion - - - } - } diff --git a/IRaCIS.Core.Domain/Image/SCPImageUpload.cs b/IRaCIS.Core.Domain/Image/SCPImageUpload.cs index 73e01c195..7a3604ef7 100644 --- a/IRaCIS.Core.Domain/Image/SCPImageUpload.cs +++ b/IRaCIS.Core.Domain/Image/SCPImageUpload.cs @@ -8,59 +8,42 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目中心 - 影像推送记录")] +[Table("SCPImageUpload")] +public class SCPImageUpload : BaseAddAuditEntity { - /// - ///SCPImageUpload - /// - [Table("SCPImageUpload")] - public class SCPImageUpload : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public Trial Trial { get; set; } + #region 导航属性 + [JsonIgnore] + public Trial Trial { get; set; } - [JsonIgnore] - public TrialSite TrialSite { get; set; } - #endregion + [JsonIgnore] + public TrialSite TrialSite { get; set; } + #endregion - public string CallingAE { get; set; }=string.Empty; + public string CalledAE { get; set; } = null!; - - public string CalledAE { get; set; } = string.Empty; + public string CallingAE { get; set; } = null!; + public string CallingAEIP { get; set; } = null!; - - public string CallingAEIP { get; set; } = string.Empty; + public DateTime EndTime { get; set; } + public int FileCount { get; set; } - - public DateTime StartTime { get; set; } + public long FileSize { get; set; } - - public DateTime EndTime { get; set; } - + public DateTime StartTime { get; set; } - - public int FileCount { get; set; } - + public int StudyCount { get; set; } - - public long FileSize { get; set; } + public Guid TrialId { get; set; } + public Guid TrialSiteId { get; set; } - public int StudyCount { get; set; } - - - - - public Guid TrialId { get; set; } - public Guid TrialSiteId { get; set; } - - - - } } diff --git a/IRaCIS.Core.Domain/Image/SCPInstance.cs b/IRaCIS.Core.Domain/Image/SCPInstance.cs index a7a092f9c..649dc06f0 100644 --- a/IRaCIS.Core.Domain/Image/SCPInstance.cs +++ b/IRaCIS.Core.Domain/Image/SCPInstance.cs @@ -1,4 +1,5 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; @@ -17,36 +18,59 @@ namespace IRaCIS.Core.Domain.Models public SCPStudy SCPStudy { get; set; } #endregion - - - public Guid SeqId { get; set; } - public Guid StudyId { get; set; } - public Guid SeriesId { get; set; } - public string StudyInstanceUid { get; set; } = string.Empty; - public string SeriesInstanceUid { get; set; } = string.Empty; - public string SopInstanceUid { get; set; } = string.Empty; - public int InstanceNumber { get; set; } - public DateTime? InstanceTime { get; set; } - public bool CPIStatus { get; set; } - public int ImageRows { get; set; } - public int ImageColumns { get; set; } - public int SliceLocation { get; set; } - - - public string SliceThickness { get; set; } = string.Empty; - public int NumberOfFrames { get; set; } - public string PixelSpacing { get; set; } = string.Empty; - - public string ImagerPixelSpacing { get; set; } = string.Empty; - public string FrameOfReferenceUID { get; set; } = string.Empty; - public string WindowCenter { get; set; } = string.Empty; - public string WindowWidth { get; set; } = string.Empty; - public bool Anonymize { get; set; } - public string Path { get; set; } = string.Empty; + + public bool CPIStatus { get; set; } public long? FileSize { get; set; } + [StringLength(500)] + public string FrameOfReferenceUID { get; set; } = null!; + + public int ImageColumns { get; set; } + + public int ImageRows { get; set; } + + [StringLength(400)] + public string ImagerPixelSpacing { get; set; } = null!; + + public int InstanceNumber { get; set; } + + public DateTime? InstanceTime { get; set; } + + public int NumberOfFrames { get; set; } + + + [MaxLength] + [Unicode(false)] + public string Path { get; set; } = null!; + + [StringLength(400)] + public string PixelSpacing { get; set; } = null!; + + public Guid SeqId { get; set; } + + public Guid SeriesId { get; set; } + + public string SeriesInstanceUid { get; set; } = null!; + + public int SliceLocation { get; set; } + + [StringLength(400)] + public string SliceThickness { get; set; } = null!; + + public string SopInstanceUid { get; set; } = null!; + + public Guid StudyId { get; set; } + + public string StudyInstanceUid { get; set; } = null!; + + [StringLength(400)] + public string WindowCenter { get; set; } = null!; + + [StringLength(400)] + public string WindowWidth { get; set; } = null!; + } diff --git a/IRaCIS.Core.Domain/Image/SCPPatient.cs b/IRaCIS.Core.Domain/Image/SCPPatient.cs index a9a04ea16..e4fcf088b 100644 --- a/IRaCIS.Core.Domain/Image/SCPPatient.cs +++ b/IRaCIS.Core.Domain/Image/SCPPatient.cs @@ -1,44 +1,48 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目中心 - 推送检查患者")] +[Table("SCPPatient")] +public class SCPPatient : BaseFullAuditEntity { - [Table("SCPPatient")] - public class SCPPatient : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List SCPStudyList { get; set; } - [JsonIgnore] - public Subject Subject { get; set; } - [JsonIgnore] - public Trial Trial { get; set; } - [JsonIgnore] - public TrialSite TrialSite { get; set; } - #endregion + #region 导航属性 + [JsonIgnore] + public List SCPStudyList { get; set; } + [JsonIgnore] + public Subject Subject { get; set; } + [JsonIgnore] + public Trial Trial { get; set; } + [JsonIgnore] + public TrialSite TrialSite { get; set; } + #endregion + + public DateTime? EarliestStudyTime { get; set; } + + public DateTime LatestPushTime { get; set; } + + public DateTime? LatestStudyTime { get; set; } + + public string PatientAge { get; set; } = null!; + + public string PatientBirthDate { get; set; } = null!; + + public string PatientIdStr { get; set; } = null!; + + public string PatientName { get; set; } = null!; + + public string PatientSex { get; set; } = null!; + + public Guid? SubjectId { get; set; } + + public Guid TrialId { get; set; } + + public Guid TrialSiteId { get; set; } - public string PatientIdStr { get; set; } = string.Empty; - public string PatientName { get; set; } = string.Empty; - public string PatientAge { get; set; } = string.Empty; - public string PatientSex { get; set; } = string.Empty; - public string PatientBirthDate { get; set; } = string.Empty; - public DateTime? EarliestStudyTime { get; set; } - - public DateTime? LatestStudyTime { get; set; } - - public DateTime LatestPushTime { get; set; } - - - public Guid? SubjectId { get; set; } - public Guid TrialId { get; set; } - public Guid TrialSiteId { get; set; } - - - - - } } diff --git a/IRaCIS.Core.Domain/Image/SCPSeries.cs b/IRaCIS.Core.Domain/Image/SCPSeries.cs index 11a3b726a..6e442414e 100644 --- a/IRaCIS.Core.Domain/Image/SCPSeries.cs +++ b/IRaCIS.Core.Domain/Image/SCPSeries.cs @@ -1,50 +1,70 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目中心 - 推送序列")] +[Table("SCPSeries")] +public class SCPSeries : BaseFullDeleteAuditEntity, IEntitySeqId { - [Table("SCPSeries")] - public class SCPSeries : BaseFullDeleteAuditEntity, IEntitySeqId - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("StudyId")] - public SCPStudy SCPStudy { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("StudyId")] + public SCPStudy SCPStudy { get; set; } - [JsonIgnore] - public List SCPInstanceList { get; set; } - #endregion + [JsonIgnore] + public List SCPInstanceList { get; set; } + #endregion - public Guid SeqId { get; set; } - public Guid StudyId { get; set; } - public string StudyInstanceUid { get; set; } = string.Empty; - public string SeriesInstanceUid { get; set; } = string.Empty; - public int SeriesNumber { get; set; } - public DateTime? SeriesTime { get; set; } - public string Modality { get; set; }=string.Empty; - public string Description { get; set; } = string.Empty; - public int InstanceCount { get; set; } - public string SliceThickness { get; set; } = string.Empty; + public string AcquisitionNumber { get; set; } = null!; - public string ImagePositionPatient { get; set; } = string.Empty; - public string ImageOrientationPatient { get; set; } = string.Empty; - public string BodyPartExamined { get; set; } = string.Empty; - public string SequenceName { get; set; } = string.Empty; - public string ProtocolName { get; set; } = string.Empty; - public string ImagerPixelSpacing { get; set; } = string.Empty; + public string AcquisitionTime { get; set; } = null!; - public string AcquisitionTime { get; set; } = string.Empty; - public string AcquisitionNumber { get; set; } = string.Empty; - public string TriggerTime { get; set; } = string.Empty; - - public string BodyPartForEdit { get; set; } = string.Empty; + public string BodyPartExamined { get; set; } = null!; - public bool IsReading { get; set; } = true; + public string BodyPartForEdit { get; set; } = null!; - public string ImageResizePath { get; set; }=string.Empty; + [StringLength(500)] + public string Description { get; set; } = null!; + + public string ImageOrientationPatient { get; set; } = null!; + + public string ImagePositionPatient { get; set; } = null!; + + [StringLength(520)] + public string ImageResizePath { get; set; } = null!; + + public string ImagerPixelSpacing { get; set; } = null!; + + public int InstanceCount { get; set; } + + public bool? IsReading { get; set; } + + public string Modality { get; set; } = null!; + + [StringLength(500)] + public string ProtocolName { get; set; } = null!; + + public Guid SeqId { get; set; } + + public string SequenceName { get; set; } = null!; + + public string SeriesInstanceUid { get; set; } = null!; + + public int SeriesNumber { get; set; } + + public DateTime? SeriesTime { get; set; } + + public string SliceThickness { get; set; } = null!; + + public Guid StudyId { get; set; } + + public string StudyInstanceUid { get; set; } = null!; + + public string TriggerTime { get; set; } = null!; - } } diff --git a/IRaCIS.Core.Domain/Image/SCPStudy.cs b/IRaCIS.Core.Domain/Image/SCPStudy.cs index 33c3f29d0..e615c0aab 100644 --- a/IRaCIS.Core.Domain/Image/SCPStudy.cs +++ b/IRaCIS.Core.Domain/Image/SCPStudy.cs @@ -1,87 +1,103 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目中心 - 推送检查")] +[Table("SCPStudy")] +public class SCPStudy : BaseFullDeleteAuditEntity, IEntitySeqId { - [Table("SCPStudy")] - public class SCPStudy : BaseFullDeleteAuditEntity, IEntitySeqId - { - #region 导航属性 - [JsonIgnore] - public List InstanceList { get; set; } + #region 导航属性 + [JsonIgnore] + public List InstanceList { get; set; } - [JsonIgnore] - public List SeriesList { get; set; } - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + public List SeriesList { get; set; } + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - public Trial Trial { get; set; } + [JsonIgnore] + public Trial Trial { get; set; } - [JsonIgnore] - public TrialSite TrialSite { get; set; } + [JsonIgnore] + public TrialSite TrialSite { get; set; } - #endregion + [ForeignKey("PatientId")] + [JsonIgnore] + public SCPPatient Patient { get; set; } + #endregion + public string AccessionNumber { get; set; } = null!; - //0 未知 1 单重 2 双重 - public bool IsDoubleReview { get; set; } + public string AcquisitionNumber { get; set; } = null!; - public Guid SeqId { get; set; } + public string AcquisitionTime { get; set; } = null!; - [ForeignKey("PatientId")] - [JsonIgnore] - public SCPPatient Patient { get; set; } - public Guid PatientId { get; set; } + [StringLength(512)] + public string BodyPartExamined { get; set; } = null!; - public string StudyInstanceUid { get; set; } = string.Empty; - public DateTime? StudyTime { get; set; } - public string Modalities { get; set; } = string.Empty; + public string BodyPartForEdit { get; set; } = null!; - public string Description { get; set; } = string.Empty; - public int SeriesCount { get; set; } = 0; - public int InstanceCount { get; set; } = 0; + public string CalledAE { get; set; } = null!; + public string CallingAE { get; set; } = null!; - public string InstitutionName { get; set; } = string.Empty; - public string PatientIdStr { get; set; } = string.Empty; - public string PatientName { get; set; } = string.Empty; - public string PatientAge { get; set; } = string.Empty; - public string PatientSex { get; set; } = string.Empty; + [StringLength(1000)] + public string Description { get; set; } = null!; - public string StudyId { get; set; } = string.Empty; - public string AccessionNumber { get; set; } = string.Empty; - public string PatientBirthDate { get; set; } = string.Empty; - public string AcquisitionTime { get; set; } = string.Empty; - public string AcquisitionNumber { get; set; } = string.Empty; - public string TriggerTime { get; set; } = string.Empty; + public int InstanceCount { get; set; } - public string BodyPartExamined { get; set; } = string.Empty; + public string InstitutionName { get; set; } = null!; - public string BodyPartForEdit { get; set; } = string.Empty; + public bool IsDoubleReview { get; set; } - public string ModalityForEdit { get; set; } = string.Empty; + public bool IsUploadFinished { get; set; } + public string Modalities { get; set; } = null!; + public string ModalityForEdit { get; set; } = null!; - public string CallingAE { get; set; } = string.Empty; + public string PatientAge { get; set; } = null!; - public string CalledAE { get; set; } = string.Empty; + public string PatientBirthDate { get; set; } = null!; - public bool IsUploadFinished { get; set; } + public Guid PatientId { get; set; } + public string PatientIdStr { get; set; } = null!; - public Guid TrialId { get; set; } - public Guid TrialSiteId { get; set; } + public string PatientName { get; set; } = null!; - public Guid? SubjectVisitId { get; set; } + public string PatientSex { get; set; } = null!; - + [Comment(" 序列Id 避免内存移动")] + public Guid SeqId { get; set; } + public int SeriesCount { get; set; } + + [Comment(" DicomTag.StudyID")] + public string StudyId { get; set; } = null!; + + [StringLength(500)] + public string StudyInstanceUid { get; set; } = null!; + + public DateTime? StudyTime { get; set; } + + public Guid? SubjectVisitId { get; set; } + + public Guid TrialId { get; set; } + + public Guid TrialSiteId { get; set; } + + public string TriggerTime { get; set; } = null!; + + [Comment(" 上传时间")] + public DateTime? UploadedTime { get; set; } + + public string Uploader { get; set; } = null!; - } } diff --git a/IRaCIS.Core.Domain/Institution/Hospital.cs b/IRaCIS.Core.Domain/Institution/Hospital.cs index b2d69d306..0a2e34b95 100644 --- a/IRaCIS.Core.Domain/Institution/Hospital.cs +++ b/IRaCIS.Core.Domain/Institution/Hospital.cs @@ -1,42 +1,47 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("机构 - 医院")] +[Table("Hospital")] +public class Hospital : BaseFullAuditEntity { - [Table("Hospital")] - public class Hospital : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("SiteId")] - public Site Site { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("SiteId")] + public Site Site { get; set; } - [JsonIgnore] - public List DoctorList { get; set; } - #endregion + [JsonIgnore] + public List DoctorList { get; set; } + #endregion - public string HospitalName { get; set; } = string.Empty; - public string UniversityAffiliated { get; set; } = string.Empty; - public string Country { get; set; } = string.Empty; - public string Province { get; set; } = string.Empty; - public string City { get; set; } = string.Empty; - - public string HospitalNameCN { get; set; } = string.Empty; - public string UniversityAffiliatedCN { get; set; } = string.Empty; - public string CountryCN { get; set; } = string.Empty; - public string ProvinceCN { get; set; } = string.Empty; - public string CityCN { get; set; } = string.Empty; + public string City { get; set; } = null!; + + public string CityCN { get; set; } = null!; + + public string Country { get; set; } = null!; + + public string CountryCN { get; set; } = null!; + + public string HospitalName { get; set; } = null!; + + public string HospitalNameCN { get; set; } = null!; + + public string Province { get; set; } = null!; + + public string ProvinceCN { get; set; } = null!; + + public Guid? SiteId { get; set; } + + public string UniversityAffiliated { get; set; } = null!; + + public string UniversityAffiliatedCN { get; set; } = null!; - /// - /// 中心Id - /// - public Guid? SiteId { get; set; } = Guid.Empty; - - - } } diff --git a/IRaCIS.Core.Domain/Institution/Site.cs b/IRaCIS.Core.Domain/Institution/Site.cs index a1b43bd4d..6c8050ed5 100644 --- a/IRaCIS.Core.Domain/Institution/Site.cs +++ b/IRaCIS.Core.Domain/Institution/Site.cs @@ -1,46 +1,62 @@ +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment(" - Site")] +[Table("Site")] +public partial class Site : BaseFullAuditEntity { - [Table("Site")] - public partial class Site : BaseFullAuditEntity - { - #region - [JsonIgnore] - [ForeignKey("HospitalId")] - public Hospital Hospital { get; set; } - [JsonIgnore] - public List TrialSiteList { get; set; } - #endregion + #region + [JsonIgnore] + [ForeignKey("HospitalId")] + public Hospital Hospital { get; set; } + [JsonIgnore] + public List TrialSiteList { get; set; } + #endregion - public string SiteName { get; set; } = string.Empty; - public string SiteNameCN{ get; set; } = string.Empty; - public string AliasName { get; set; } = string.Empty; - public string SiteCode { get; set; } = string.Empty; + [StringLength(500)] + public string Address { get; set; } = null!; - public int Code { get; set; } + public string AliasName { get; set; } = null!; - public string City { get; set; } = string.Empty; - public string Country { get; set; } = string.Empty; - public Guid? HospitalId { get; set; } - public int State { get; set; } + public string City { get; set; } = null!; - public string Province { get; set; } = string.Empty; + public int Code { get; set; } - public string UniqueCode { get; set; } = string.Empty; + public string ContactName { get; set; } = null!; - public string Address { get; set; } = string.Empty; + public string ContactPhone { get; set; } = null!; - public string DirectorName { get; set; } = string.Empty; - public string DirectorPhone { get; set; } = string.Empty; - public string ContactName { get; set; } = string.Empty; - public string ContactPhone { get; set; } = string.Empty; + public string Country { get; set; } = null!; + + public string DirectorName { get; set; } = null!; + + public string DirectorPhone { get; set; } = null!; + + public Guid? HospitalId { get; set; } + + public string Province { get; set; } = null!; + + [StringLength(500)] + public string SiteCode { get; set; } = null!; + + [StringLength(500)] + public string SiteName { get; set; } = null!; + + [StringLength(400)] + public string SiteNameCN { get; set; } = null!; + + [Comment(" ʱδ")] + public int State { get; set; } + + public string UniqueCode { get; set; } = null!; - } } diff --git a/IRaCIS.Core.Domain/Institution/Sponsor.cs b/IRaCIS.Core.Domain/Institution/Sponsor.cs index 23c0141a7..527bfb06d 100644 --- a/IRaCIS.Core.Domain/Institution/Sponsor.cs +++ b/IRaCIS.Core.Domain/Institution/Sponsor.cs @@ -1,22 +1,27 @@ +using Microsoft.EntityFrameworkCore; using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment(" - Sponsor")] +[Table("Sponsor")] +public partial class Sponsor : BaseFullAuditEntity { - [Table("Sponsor")] - public partial class Sponsor : BaseFullAuditEntity - { - #region + #region - #endregion - public string SponsorName { get; set; } = String.Empty; - public string SponsorNameCN { get; set; } = String.Empty; + #endregion - public string SponsorCode { get; set; } = String.Empty; + public bool IsTrialLevel { get; set; } - public bool IsTrialLevel { get; set; } + public string SponsorCode { get; set; } = null!; + [StringLength(1000)] + public string SponsorName { get; set; } = null!; - public Guid? TrialId { get; set; } - } + [StringLength(1000)] + public string SponsorNameCN { get; set; } = null!; + + public Guid? TrialId { get; set; } } diff --git a/IRaCIS.Core.Domain/Management/Menu.cs b/IRaCIS.Core.Domain/Management/Menu.cs index 0613290df..e68ac13ac 100644 --- a/IRaCIS.Core.Domain/Management/Menu.cs +++ b/IRaCIS.Core.Domain/Management/Menu.cs @@ -1,9 +1,12 @@ -using System; +using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace IRaCIS.Core.Domain.Models { + [Comment("后台 - 系统菜单 (需要同步)")] [Table("Menu")] public class Menu : BaseFullAuditEntity { @@ -12,51 +15,46 @@ namespace IRaCIS.Core.Domain.Models public List UserTypeMenuList { get; set; } #endregion + public string ApiPath { get; set; } = null!; + [StringLength(400)] + public string Component { get; set; } = null!; - //上级菜单 - public Guid? ParentId { get; set; } = Guid.Empty; - - // 类型(M目录 C菜单 F按钮 L链接) - public string MenuType { get; set; } = string.Empty; - - public string MenuIcon { get; set; } = string.Empty; - - public string MenuName { get; set; } = string.Empty; - - //路由地址 - public string Path { get; set; } = string.Empty; - - //组件路径 - public string Component { get; set; } = string.Empty; - - public int ShowOrder { get; set; } - - //启用 禁用 - public bool IsEnable { get; set; } = true; - - public bool IsCache { get; set; } = false; + public bool IsCache { get; set; } public bool IsDisplay { get; set; } - public bool IsInTabDisplay { get; set; } + public bool IsEnable { get; set; } public bool IsExternalLink { get; set; } - //权限点 - public string PermissionStr { get; set; } = string.Empty; + public bool? IsInTabDisplay { get; set; } - //Api 接口地址 - public string ApiPath { get; set; } = string.Empty; + public string LanguageMark { get; set; } = null!; - public string Note { get; set; } = string.Empty; + public string MenuIcon { get; set; } = null!; - public string Meta { get; set; } = string.Empty; + public string MenuName { get; set; } = null!; + [Comment("类型(M目录 C菜单 F按钮 L链接)")] + public string MenuType { get; set; } = null!; - public string Redirect { get; set; } = string.Empty; + public string Meta { get; set; } = null!; - public string LanguageMark { get; set; } = string.Empty; + [MaxLength] + public string Note { get; set; } + + public Guid ParentId { get; set; } + + [Comment("路由地址")] + [StringLength(500)] + public string Path { get; set; } = null!; + + public string PermissionStr { get; set; } = null!; + + public string Redirect { get; set; } = null!; + + public int ShowOrder { get; set; } } diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs index 8e57f50bd..721a07652 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs @@ -3,50 +3,42 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2021-11-22 11:15:18 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - 既往放疗史")] +[Table("PreviousHistory")] +public class PreviousHistory : BaseAddAuditEntity { - /// - ///PreviousHistory - /// - [Table("PreviousHistory")] - public class PreviousHistory : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } - #endregion - - - public DateTime? StartTime { get; set; } - - public DateTime? EndTime { get; set; } - - - public int? IsPD { get; set; } - - - public Guid SubjectVisitId { get; set; } - - - public bool IsSubjectLevel { get; set; } - - - public string Path { get; set; } = String.Empty; - - - public string FileName { get; set; } = String.Empty; - - - public string Position { get; set; } = String.Empty; + #region 导航属性 + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } + #endregion + [Comment(" 临床数据类型Id")] + public Guid ClinicalDataTrialSetId { get; set; } - public Guid ClinicalDataTrialSetId { get; set; } + public DateTime? EndTime { get; set; } + + public string FileName { get; set; } = null!; + + public int IsPD { get; set; } + + public bool IsSubjectLevel { get; set; } + + public string Path { get; set; } = null!; + + public string Position { get; set; } = null!; + + public DateTime? StartTime { get; set; } + + public Guid SubjectVisitId { get; set; } - } +} + -} diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs index ae0b47033..549c3d1b9 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs @@ -3,51 +3,41 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2021-11-22 11:15:18 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - 既往其他治疗史")] +[Table("PreviousOther")] +public class PreviousOther : BaseAddAuditEntity { - /// - ///PreviousOther - /// - [Table("PreviousOther")] - public class PreviousOther : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } - #endregion + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } + #endregion - public DateTime? StartTime { get; set; } - + [Comment(" 临床数据类型Id")] + public Guid ClinicalDataTrialSetId { get; set; } - public DateTime? EndTime { get; set; } - + public DateTime? EndTime { get; set; } - public bool IsPD { get; set; } + public string FileName { get; set; } = null!; - public Guid SubjectVisitId { get; set; } - + public bool? IsPD { get; set; } - public bool IsSubjectLevel { get; set; } - + public bool IsSubjectLevel { get; set; } - public string Path { get; set; } = String.Empty; + public string Path { get; set; } = null!; + + public DateTime? StartTime { get; set; } + + public Guid SubjectVisitId { get; set; } + + public string TreatmentType { get; set; } = null!; + +} - public string FileName { get; set; } = String.Empty; - - - public string TreatmentType { get; set; } = String.Empty; - - /// - /// 临床数据类型Id - /// - [Required] - public Guid ClinicalDataTrialSetId { get; set; } - - } - -} diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousPDF.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousPDF.cs index d1535e36f..167a8ec2f 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousPDF.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousPDF.cs @@ -4,55 +4,47 @@ // 生成时间 2021-12-09 11:35:31 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - 临床数据配置")] +[Table("PreviousPDF")] +public class PreviousPDF : BaseAddAuditEntity { - /// - ///PreviousPDF - /// - [Table("PreviousPDF")] - public class PreviousPDF : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } + #region 导航属性 + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } - #endregion - - - public Guid SubjectVisitId { get; set; } - - public string Path { get; set; } = string.Empty; - - public string FileName { get; set; } = string.Empty; + #endregion - public bool? IsVisist { get; set; } + [Comment("临床级别")] + public ClinicalLevel? ClinicalLevel { get; set; } - /// - /// 临床级别 - /// - public ClinicalLevel? ClinicalLevel { get; set; } + public ClinicalDataType? DataType { get; set; } - /// - /// 数据类型 - /// - public ClinicalDataType? DataType { get; set; } + public string FileName { get; set; } = null!; - /// - /// 上传方式 - /// - public ClinicalUploadType? UploadType { get; set; } + public bool? IsVisist { get; set; } - public Guid? TrialId { get; set; } + [StringLength(512)] + public string Path { get; set; } = null!; + + public Guid? SubjectId { get; set; } + + public Guid SubjectVisitId { get; set; } + + public Guid? TrialId { get; set; } + + [Comment("上传方式")] + public ClinicalUploadType? UploadType { get; set; } + +} - public Guid? SubjectId { get; set; } - } - -} diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs index 377e24016..808fd7710 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs @@ -3,45 +3,39 @@ // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2021-11-22 11:15:18 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - 既往手术史")] +[Table("PreviousSurgery")] +public class PreviousSurgery : BaseAddAuditEntity { - /// - ///PreviousSurgery - /// - [Table("PreviousSurgery")] - public class PreviousSurgery : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion + #endregion - + [Comment(" 临床数据类型Id")] + public Guid ClinicalDataTrialSetId { get; set; } - public DateTime? OperationTime { get; set; } + public string FileName { get; set; } = null!; - public Guid SubjectVisitId { get; set; } + public bool IsSubjectLevel { get; set; } - public bool IsSubjectLevel { get; set; } - - public string Path { get; set; } = String.Empty; + public string OperationName { get; set; } = null!; - public string FileName { get; set; } = String.Empty; + public DateTime? OperationTime { get; set; } - public string OperationName { get; set; } = String.Empty; + public string Path { get; set; } = null!; - /// - /// 临床数据类型Id - /// - [Required] - public Guid ClinicalDataTrialSetId { get; set; } + public Guid SubjectVisitId { get; set; } - } +} + + - -} diff --git a/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs b/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs index d49718324..a216fba73 100644 --- a/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs +++ b/IRaCIS.Core.Domain/QC/ConsistencyCheckFile.cs @@ -1,29 +1,31 @@ +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("稽查 - 后端接收前端上传 文件记录表")] +[Table("InspectionFile")] +public class InspectionFile : BaseAddAuditEntity { - /// - /// 一致性核查文件 - /// - [Table("InspectionFile")] - public class InspectionFile : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion + #endregion - public string FileName { get; set; } = string.Empty; + [Comment(" 文件名称")] + [StringLength(400)] + public string FileName { get; set; } = null!; + + [Comment(" 相对路径")] + [StringLength(400)] + public string RelativePath { get; set; } = null!; + + [Comment(" 项目ID")] + public Guid TrialId { get; set; } - public string RelativePath { get; set; } = string.Empty; - - public Guid TrialId { get; set; } +} - } - - -} diff --git a/IRaCIS.Core.Domain/QC/QCChallenge.cs b/IRaCIS.Core.Domain/QC/QCChallenge.cs index a74cc9901..2adb09051 100644 --- a/IRaCIS.Core.Domain/QC/QCChallenge.cs +++ b/IRaCIS.Core.Domain/QC/QCChallenge.cs @@ -1,85 +1,81 @@ using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - QC质疑")] +[Table("QCChallenge")] +public class QCChallenge : BaseAddAuditEntity { - public class QCChallenge : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("LatestReplyUserId")] - public User LatestReplyUser { get; set; } - [JsonIgnore] - //导航属性 - [ForeignKey("SubjectVisitId")] - public SubjectVisit SubjectVisit { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("LatestReplyUserId")] + public User LatestReplyUser { get; set; } + [JsonIgnore] + //导航属性 + [ForeignKey("SubjectVisitId")] + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - public List DialogList { get; set; } = new List(); + [JsonIgnore] + public List DialogList { get; set; } = new List(); - #endregion + #endregion + [Comment(" 行动事项")] + [StringLength(1024)] + public string ActionContent { get; set; } = null!; + public string ChallengeCode { get; set; } = null!; + [StringLength(1024)] + public string ChallengeType { get; set; } = null!; - public Guid TrialId { get; set; } - public Guid SubjectVisitId { get; set; } + public DateTime? ClosedTime { get; set; } - public DateTime? DeadlineTime { get; set; } + public string ClosedUser { get; set; } = null!; - public string Note { get; set; } = string.Empty; + public QCChallengeCloseEnum CloseResonEnum { get; set; } - public QCChanllengeReuploadEnum ReuploadEnum { get; set; } + public int Code { get; set; } + [Comment(" 质疑内容")] + [StringLength(1024)] + public string Content { get; set; } = null!; - public DateTime? ReUploadedTime { get; set; } + [Comment(" 用于双审的时候 区分 第一个人和第二个人的数据")] + public CurrentQC CurrentQCEnum { get; set; } - public string ReUploader { get; set; } = string.Empty; + public DateTime? DeadlineTime { get; set; } - public Guid? ReUploadUserId { get; set; } + public bool IsClosed { get; set; } - public TrialQCProcess QCProcessEnum { get; set; } + public DateTime? LatestMsgTime { get; set; } - public CurrentQC CurrentQCEnum { get; set; } + public Guid? LatestReplyUserId { get; set; } - public DateTime? LatestMsgTime { get; set; } + [Comment(" 额外补充")] + [StringLength(1024)] + public string Note { get; set; } = null!; + public TrialQCProcess QCProcessEnum { get; set; } - public Guid? LatestReplyUserId { get; set; } + public DateTime? ReUploadedTime { get; set; } - - public string ChallengeCode { get; set; } = string.Empty; + public QCChanllengeReuploadEnum? ReuploadEnum { get; set; } - public int Code { get; set; } + [Comment(" 记录重传人")] + public string ReUploader { get; set; } = null!; - - - public bool IsClosed { get; set; } + public Guid? ReUploadUserId { get; set; } - public DateTime? ClosedTime { get; set; } + public Guid SubjectVisitId { get; set; } - public string ClosedUser { get; set; } = string.Empty; + public Guid TrialId { get; set; } + public UserTypeEnum UserTypeEnum { get; set; } - - public QCChallengeCloseEnum CloseResonEnum { get; set;} - - public string Content { get; set; } = string.Empty; - - public string ActionContent { get; set; } = string.Empty; - - public UserTypeEnum UserTypeEnum { get; set; } - - - public string ChallengeType { get; set; } = string.Empty; - - - - - - - - } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs b/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs index 253aab1a2..618db0437 100644 --- a/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs +++ b/IRaCIS.Core.Domain/QC/QCChallengeDialog.cs @@ -1,22 +1,26 @@ using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者访视 - QC质疑对话")] +[Table("QCChallengeDialog")] +public class QCChallengeDialog : BaseAddAuditEntity { - public class QCChallengeDialog : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public QCChallenge QCChallenge { get; set; } - #endregion + #region 导航属性 + [JsonIgnore] + public QCChallenge QCChallenge { get; set; } + #endregion - public string TalkContent { get; set; } = string.Empty; + public Guid QCChallengeId { get; set; } - public Guid QCChallengeId { get; set; } + public Guid SubjectVisitId { get; set; } - public Guid SubjectVisitId { get; set; } + [StringLength(500)] + public string TalkContent { get; set; } = null!; - public UserTypeEnum UserTypeEnum { get; set; } - } + public UserTypeEnum UserTypeEnum { get; set; } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/QC/QCQuestion.cs b/IRaCIS.Core.Domain/QC/QCQuestion.cs index aca577f2b..f520fd511 100644 --- a/IRaCIS.Core.Domain/QC/QCQuestion.cs +++ b/IRaCIS.Core.Domain/QC/QCQuestion.cs @@ -3,49 +3,45 @@ // 生成时间 2021-11-11 11:19:10 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - QC质控问题(需要同步)")] +[Table("QCQuestion")] +public class QCQuestion : BaseFullAuditEntity { - /// - ///QCQuestionConfigure - /// - [Table("QCQuestion")] - public class QCQuestion : BaseFullAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("ParentId")] - public QCQuestion ParentQuestion { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("ParentId")] + public QCQuestion ParentQuestion { get; set; } + #endregion - public string QuestionName { get; set; } = string.Empty; + public bool IsEnable { get; set; } - - /// 语言类型 - public LanguageType LanguageType { get; set; } = LanguageType.Chinese; + public bool IsRequired { get; set; } + + public LanguageType LanguageType { get; set; } + + public Guid? ParentId { get; set; } + + public string ParentTriggerValue { get; set; } = null!; + + [StringLength(510)] + public string QuestionName { get; set; } = null!; + + public int ShowOrder { get; set; } + + [Comment(" 下拉框、文本、单选、多选")] + public string Type { get; set; } = null!; + + public string TypeValue { get; set; } = null!; - public bool IsRequired { get; set; } - - public bool IsEnable { get; set; } - - /// 下拉框、文本、单选、多选 - public string Type { get; set; } = string.Empty; - - public string TypeValue { get; set; } = string.Empty; - - public string ParentTriggerValue { get; set; } = string.Empty; - public Guid? ParentId { get; set; } +} - public int ShowOrder { get; set; } - - - - } - -} diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs index 989a66465..c9c1c9dd2 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs @@ -5,104 +5,77 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 临床数据")] +[Table("ReadingClinicalData")] +public class ReadingClinicalData : BaseAddAuditEntity { - /// - /// 项目的临床数据 - /// - [Table("ReadingClinicalData")] - public class ReadingClinicalData : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("ClinicalDataTrialSetId")] + [JsonIgnore] + [ForeignKey("ClinicalDataTrialSetId")] - public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; } + public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; } - [JsonIgnore] - [ForeignKey("StudyId")] - public DicomStudy DicomStudy { get; set; } + [JsonIgnore] + [ForeignKey("StudyId")] + public DicomStudy DicomStudy { get; set; } - [JsonIgnore] - [ForeignKey("TrialId")] - public Trial Trial { get; set; } + [JsonIgnore] + [ForeignKey("TrialId")] + public Trial Trial { get; set; } - [JsonIgnore] - [ForeignKey("ReadingId")] - public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("ReadingId")] + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("SubjectId")] - public Subject Subject { get; set; } + [JsonIgnore] + [ForeignKey("SubjectId")] + public Subject Subject { get; set; } - [JsonIgnore] - [ForeignKey("ReadingId")] + [JsonIgnore] + [ForeignKey("ReadingId")] - public ReadModule ReadModule { get; set; } + public ReadModule ReadModule { get; set; } - /// - /// PDF文件 - /// - [JsonIgnore] - public List ReadingClinicalDataPDFList { get; set; } - #endregion + /// + /// PDF文件 + /// + [JsonIgnore] + public List ReadingClinicalDataPDFList { get; set; } + #endregion - public Guid TrialId { get; set; } + [Comment("临床数据类型Id")] + public Guid ClinicalDataTrialSetId { get; set; } - /// - /// 访视Id 或者模块Id - /// - public Guid ReadingId { get; set; } + public int FileCount { get; set; } - public Guid? StudyId { get; set; } + public bool? IsBlind { get; set; } + + public bool? IsComplete { get; set; } + + public bool IsSign { get; set; } + + public bool IsVisit { get; set; } + + public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; } + + public Guid ReadingId { get; set; } + + public Guid? StudyId { get; set; } + + public Guid SubjectId { get; set; } + + public Guid TrialId { get; set; } - public Guid SubjectId { get; set; } - - /// - /// 临床数据类型Id - /// - public Guid ClinicalDataTrialSetId { get; set; } - - /// - /// 是否为访视 - /// xiu - public bool IsVisit { get; set; } - - - /// - /// 是否签名 - /// - public bool IsSign { get; set; } - - /// - /// 是否盲化 - /// - public bool? IsBlind { get; set; } - - /// - /// 是否完整 - /// - public bool? IsComplete { get; set; } - - - public int FileCount { get; set; } - - - //临床数据状态 - public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; } - - - - - - } - - - } + + + diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalDataPDF.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalDataPDF.cs index 615e5f8bd..671464c80 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalDataPDF.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalDataPDF.cs @@ -4,14 +4,13 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models { - /// - /// 项目的临床数据 - /// - [Table("ReadingClinicalDataPDF")] - public class ReadingClinicalDataPDF : BaseAddAuditEntity + [Comment("项目阅片 - 临床数据PDF文件")] + [Table("ReadingClinicalDataPDF")] + public class ReadingClinicalDataPDF : BaseAddAuditEntity { #region 导航属性 [JsonIgnore] @@ -19,20 +18,18 @@ namespace IRaCIS.Core.Domain.Models public ReadingClinicalData ReadingClinicalData { get; set; } #endregion - /// - /// 阅片临床数据ID - /// + [StringLength(1000)] + public string FileName { get; set; } = null!; + + [StringLength(2000)] + public string Path { get; set; } = null!; + + [Comment("阅片临床数据ID")] public Guid ReadingClinicalDataId { get; set; } - public string Path { get; set; } = string.Empty; + public int Size { get; set; } - - public string FileName { get; set; } = string.Empty; - - - public int Size { get; set; } = 0; - - public string Type { get; set; } = string.Empty; + public string Type { get; set; } = null!; } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalData.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalData.cs index 6c0d126ad..7062ea35e 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalData.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalData.cs @@ -5,111 +5,74 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 一致性分析临床数据")] +[Table("ReadingConsistentClinicalData")] +public class ReadingConsistentClinicalData : BaseAddAuditEntity { - /// - /// 一致性分析临床数据 - /// - [Table("ReadingConsistentClinicalData")] - public class ReadingConsistentClinicalData : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("ClinicalDataTrialSetId")] + #region 导航属性 + [JsonIgnore] + [ForeignKey("ClinicalDataTrialSetId")] - public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; } + public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; } - [JsonIgnore] - [ForeignKey("StudyId")] - public DicomStudy DicomStudy { get; set; } + [JsonIgnore] + [ForeignKey("StudyId")] + public DicomStudy DicomStudy { get; set; } - [JsonIgnore] - [ForeignKey("TrialId")] + [JsonIgnore] + [ForeignKey("TrialId")] - public Trial Trial { get; set; } + public Trial Trial { get; set; } - [JsonIgnore] - [ForeignKey("ReadingId")] + [JsonIgnore] + [ForeignKey("ReadingId")] - public SubjectVisit SubjectVisit { get; set; } + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("SubjectId")] + [JsonIgnore] + [ForeignKey("SubjectId")] - public Subject Subject { get; set; } + public Subject Subject { get; set; } - [JsonIgnore] - [ForeignKey("ReadingId")] + [JsonIgnore] + [ForeignKey("ReadingId")] - public ReadModule ReadModule { get; set; } + public ReadModule ReadModule { get; set; } - /// - /// PDF文件 - /// - [JsonIgnore] - public List ReadingClinicalDataPDFList { get; set; } - #endregion - /// - /// 项目ID - /// - public Guid TrialId { get; set; } + /// + /// PDF文件 + /// + [JsonIgnore] + public List ReadingClinicalDataPDFList { get; set; } + #endregion - /// - /// 访视Id 或者模块Id - /// - public Guid ReadingId { get; set; } + public Guid ClinicalDataTrialSetId { get; set; } - public Guid? StudyId { get; set; } + public int FileCount { get; set; } + [Comment("是否盲化")] + public bool? IsBlind { get; set; } + [Comment("是否完整")] + public bool? IsComplete { get; set; } - /// - /// 受试者ID - /// - public Guid SubjectId { get; set; } + public bool IsSign { get; set; } - /// - /// 临床数据类型Id - /// - public Guid ClinicalDataTrialSetId { get; set; } + public bool IsVisit { get; set; } - /// - /// 是否为访视 - /// xiu - public bool IsVisit { get; set; } + public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; } + public Guid ReadingId { get; set; } - /// - /// 是否签名 - /// - public bool IsSign { get; set; } - - /// - /// 是否盲化 - /// - public bool? IsBlind { get; set; } = false; - - /// - /// 是否完整 - /// - public bool? IsComplete { get; set; } = true; - - - public int FileCount { get; set; } - - - //临床数据状态 - public ReadingClinicalDataStatus ReadingClinicalDataState { get; set; } - - - - - - - } - - - + public Guid? StudyId { get; set; } + public Guid SubjectId { get; set; } + public Guid TrialId { get; set; } } + + + diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalDataPDF.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalDataPDF.cs index 5dbb5d41c..b333d9b24 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalDataPDF.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingConsistentClinicalDataPDF.cs @@ -4,44 +4,34 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 一致性分析临床数据PDF")] +[Table("ReadingConsistentClinicalDataPDF")] +public class ReadingConsistentClinicalDataPDF : BaseAddAuditEntity { - /// - /// 一致性分析临床数据 - /// - [Table("ReadingConsistentClinicalDataPDF")] - public class ReadingConsistentClinicalDataPDF : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("ReadingConsistentClinicalDataId")] - public ReadingConsistentClinicalData ReadingConsistentClinicalData { get; set; } - #endregion + #region 导航属性 + [JsonIgnore] + [ForeignKey("ReadingConsistentClinicalDataId")] + public ReadingConsistentClinicalData ReadingConsistentClinicalData { get; set; } + #endregion - /// - /// 阅片临床数据ID - /// - public Guid ReadingConsistentClinicalDataId { get; set; } + [StringLength(1000)] + public string FileName { get; set; } = null!; - public string Path { get; set; } = string.Empty; + [StringLength(2000)] + public string Path { get; set; } = null!; + public Guid ReadingConsistentClinicalDataId { get; set; } - public string FileName { get; set; } = string.Empty; - - public int Size { get; set; } = 0; - - /// - /// 文件类型 - /// - public string Type { get; set; } = string.Empty; - - - } - - - + public int Size { get; set; } + public string Type { get; set; } = null!; } + + + diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs index 72824c96e..35baf4dc5 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ReadModuleCriterionFrom.cs @@ -7,33 +7,37 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models { - /// - ///ReadModuleCriterionFrom - /// - [Table("ReadModuleCriterionFrom")] - public class ReadModuleCriterionFrom : BaseAddAuditEntity + [Comment("受试者 - 阅片模块临床表单")] + [Table("ReadModuleCriterionFrom")] + public class ReadModuleCriterionFrom : BaseAddAuditEntity { #region 导航属性 - [ForeignKey("ReadModuleId")] - public Guid ReadModuleId { get; set; } [JsonIgnore] [ForeignKey("ClinicalFormId")] public ClinicalForm ClinicalForm { get; set; } #endregion + [Comment(" 表单Id")] + public Guid ClinicalFormId { get; set; } + [ForeignKey("ReadModuleId")] + [Comment(" 阅片期Id")] + public Guid ReadModuleId { get; set; } + + [Comment(" 受试者Id")] public Guid SubjectId { get; set; } - public Guid TrialId { get; set; } + [Comment(" 项目Id")] + public Guid TrialId { get; set; } + + + - /// - /// 表单Id - /// - public Guid ClinicalFormId { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs index 425608dcc..0f30098b6 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicalReviewDialog.cs @@ -9,124 +9,89 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 医学审核对话")] +[Table("ReadingMedicalReviewDialog")] +public class ReadingMedicalReviewDialog : BaseAddAuditEntity { - /// - ///阅片医学审核对话 - /// - [Table("ReadingMedicalReviewDialog")] - public class ReadingMedicalReviewDialog : BaseAddAuditEntity + #region 导航属性 + [JsonIgnore] + [ForeignKey("TaskMedicalReviewId")] + public TaskMedicalReview TaskMedicalReview { get; set; } + + + /// + /// 文件 + /// + [NotMapped] + public List FileList { - #region 导航属性 - [JsonIgnore] - [ForeignKey("TaskMedicalReviewId")] - public TaskMedicalReview TaskMedicalReview { get; set; } - - - /// - /// 文件 - /// - [NotMapped] - public List FileList + get { - get + + + try + { + var result = JsonConvert.DeserializeObject>(this.ImagePath); + return result == null ? new List() : result; + } + catch (Exception) { - - try - { - var result = JsonConvert.DeserializeObject>(this.ImagePath); - return result == null ? new List() : result; - } - catch (Exception) - { - - return new List(); - } - + return new List(); } + } + } - #endregion - /// - /// 医学审核Id - /// - public Guid TaskMedicalReviewId { get; set; } - - /// - /// 任务Id - /// - public Guid VisitTaskId { get; set; } - - /// - /// 对话内容 - /// - public string Content { get; set; } = string.Empty; + #endregion - /// - /// 用户角色 - /// - public string UserTypeShortName { get; set; } = string.Empty; + public AuditAdvice AuditAdviceEnum { get; set; } - /// - /// 医学审核对话关闭原因 - /// - public MedicalDialogClose? MedicalDialogCloseEnum { get; set; } + [StringLength(4000)] + public string Content { get; set; } = null!; - /// - /// 用户角色枚举 - /// - public int UserTypeEnumInt { get; set; } - + [StringLength(400)] + public string DisagreeReason { get; set; } = null!; - /// - /// 阅片人是否认同 - /// - public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; } = MedicalReviewDoctorUserIdea.defalut; - - /// - /// 是否有问题 - /// - public bool IsHaveQuestion { get; set; } = false; - - /// - /// 质询问题 - /// - public string Questioning { get; set; } = string.Empty; - - /// - /// 审核建议 - /// - public AuditAdvice AuditAdviceEnum { get; set; } = AuditAdvice.None; - - /// - /// 不同意重阅原因 - /// - public string DisagreeReason { get; set; } = string.Empty; + public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; } - /// - /// 是否申请重阅 - /// - public bool? IsApplyHeavyReading { get; set; } + [MaxLength] + public string FileName { get; set; } = null!; + [MaxLength] + public string ImagePath { get; set; } = null!; - /// - /// 图片路径 - /// - public string ImagePath { get; set; } = string.Empty; + [Comment("是否申请重阅")] + public bool? IsApplyHeavyReading { get; set; } - /// - /// 文件名称 - /// - public string FileName { get; set; } = string.Empty; + [Comment("是否有问题")] + public bool IsHaveQuestion { get; set; } + + [Comment("医学审核对话关闭原因")] + public MedicalDialogClose? MedicalDialogCloseEnum { get; set; } + + [Comment("质询问题")] + [StringLength(1000)] + public string Questioning { get; set; } = null!; + + public Guid TaskMedicalReviewId { get; set; } + + public int UserTypeEnumInt { get; set; } + + public string UserTypeShortName { get; set; } = null!; + + public Guid VisitTaskId { get; set; } - } +} + + - -} diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineQuestionAnswer.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineQuestionAnswer.cs index 7502ef5af..310894c9b 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineQuestionAnswer.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineQuestionAnswer.cs @@ -3,41 +3,33 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 医学审核任务问题答案")] +[Table("ReadingMedicineQuestionAnswer")] +public class ReadingMedicineQuestionAnswer : BaseFullAuditEntity { - /// - /// 阅片医学问题答案 - /// - [Table("ReadingMedicineQuestionAnswer")] - public class ReadingMedicineQuestionAnswer : BaseFullAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("TaskMedicalReviewId")] - public TaskMedicalReview TaskMedicalReview { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("TaskMedicalReviewId")] + public TaskMedicalReview TaskMedicalReview { get; set; } + #endregion - /// - /// 医学审核问题Id - /// - public Guid ReadingMedicineQuestionId { get; set; } - - /// - /// 医学审核Id - /// + [StringLength(400)] + public string Answer { get; set; } = null!; + [Comment("医学审核问题Id")] + public Guid ReadingMedicineQuestionId { get; set; } - public Guid TaskMedicalReviewId { get; set; } + public Guid TaskMedicalReviewId { get; set; } - public Guid VisitTaskId { get; set; } - - - public string Answer { get; set; } = string.Empty; + public Guid VisitTaskId { get; set; } - } +} + -} diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs index d3f46318f..4467bda10 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs @@ -9,88 +9,51 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Linq; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("系统标准 - 医学审核问题 (需要同步)")] +[Table("ReadingMedicineSystemQuestion")] +public class ReadingMedicineSystemQuestion : BaseFullAuditEntity { - /// - /// 阅片医学审核系统问题 - /// - [Table("ReadingMedicineSystemQuestion")] - public class ReadingMedicineSystemQuestion : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] + #region 导航属性 + [JsonIgnore] - [ForeignKey("ParentId")] - public ReadingMedicineSystemQuestion ParentQuestion { get; set; } - //// |1|2| 这种保存 - // public string CriterionEnumStr { get; set; } = string.Empty; + [ForeignKey("ParentId")] + public ReadingMedicineSystemQuestion ParentQuestion { get; set; } + //// |1|2| 这种保存 + // public string CriterionEnumStr { get; set; } = string.Empty; - // [NotMapped] - // public List CriterionEnumList => CriterionEnumStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t)).Select(t=> Convert.ToInt32(t.Trim()) ).ToList( - #endregion - /// - /// 类型 - /// - public string Type { get; set; } = string.Empty; + // [NotMapped] + // public List CriterionEnumList => CriterionEnumStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t)).Select(t=> Convert.ToInt32(t.Trim()) ).ToList( + #endregion - /// - /// 父问题触发 - /// - public string ParentTriggerValue { get; set; } = string.Empty; + public CriterionType? CriterionTypeEnum { get; set; } - /// - /// 问题名称 - /// - public string QuestionName { get; set; } = string.Empty; + public bool IsEnable { get; set; } - /// - /// 语言类型 - /// - public LanguageType LanguageType { get; set; } = LanguageType.Chinese; + public bool IsGeneral { get; set; } - /// - /// 是否是必须 - /// - public bool IsRequired { get; set; } - + public bool IsRequired { get; set; } - /// - /// 排序 - /// - public int ShowOrder { get; set; } - - /// - /// 父问题ID - /// - public Guid? ParentId { get; set; } - + public LanguageType LanguageType { get; set; } - /// - /// 类型值 - /// - public string TypeValue { get; set; } = string.Empty; + public Guid? ParentId { get; set; } + + public string ParentTriggerValue { get; set; } = null!; + + [StringLength(510)] + public string QuestionName { get; set; } = null!; + + public ReadingCategory ReadingCategory { get; set; } + + public int ShowOrder { get; set; } + + public string Type { get; set; } = null!; + + public string TypeValue { get; set; } = null!; +} - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } - - /// - /// 任务类型 - /// - public ReadingCategory ReadingCategory { get; set; } - - - - - - public CriterionType? CriterionTypeEnum { get; set; } - - public bool IsGeneral { get; set; } - - - } -} diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs index 42388cf4a..de8638a14 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs @@ -7,94 +7,52 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目标准 - 医学审核问题")] +[Table("ReadingMedicineTrialQuestion")] +public class ReadingMedicineTrialQuestion : BaseFullAuditEntity { - /// - ///阅片医学审核项目问题 - /// - [Table("ReadingMedicineTrialQuestion")] - public class ReadingMedicineTrialQuestion : BaseFullAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("ParentId")] - public ReadingMedicineTrialQuestion ParentQuestion { get; set; } - #endregion + #region 导航属性 + [JsonIgnore] + [ForeignKey("ParentId")] + public ReadingMedicineTrialQuestion ParentQuestion { get; set; } + #endregion - /// - /// 类型 - /// - public string Type { get; set; } = string.Empty; + public bool IsConfirm { get; set; } - /// - /// 父问题触发值 - /// - public string ParentTriggerValue { get; set; } = string.Empty; + public bool IsEnable { get; set; } - /// - /// 问题名称 - /// - public string QuestionName { get; set; } = string.Empty; + public bool IsRequired { get; set; } - /// - /// 语言类型 - /// - public LanguageType LanguageType { get; set; } = LanguageType.Chinese; + public LanguageType LanguageType { get; set; } + + public Guid? ParentId { get; set; } + + public string ParentTriggerValue { get; set; } = null!; + + [StringLength(510)] + public string QuestionName { get; set; } = null!; + + public ReadingCategory ReadingCategory { get; set; } + + public int ShowOrder { get; set; } + + public Guid? SystemQuestionId { get; set; } + + public Guid TrialId { get; set; } + + public Guid TrialReadingCriterionId { get; set; } + + public string Type { get; set; } = null!; + + public string TypeValue { get; set; } = null!; - /// - /// 类型值 - /// - public string TypeValue { get; set; } = string.Empty; - - - /// - /// 项目ID - /// - public Guid TrialId { get; set; } - - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } - - /// - /// 是否必须 - /// - public bool IsRequired { get; set; } - - /// - /// 排序 - /// - public int ShowOrder { get; set; } - - /// - /// 父问题 - /// - public Guid? ParentId { get; set; } - - /// - /// 是否确认 - /// - public bool IsConfirm { get; set; } - - /// - /// 任务类型 - /// - public ReadingCategory ReadingCategory { get; set; } - - /// - /// 项目标准 - /// - public Guid TrialReadingCriterionId { get; set; } - - public Guid? SystemQuestionId { get; set; } +} - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganInfo.cs index e822ba3a9..ba6e7c567 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganInfo.cs @@ -7,94 +7,54 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("后台 - 系统标准器官 (需要同步)")] +[Table("OrganInfo")] +public class OrganInfo : BaseAddAuditEntity { - /// - ///OrganInfo - /// - [Table("OrganInfo")] - public class OrganInfo : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion - /// - /// 分类 - /// - public string Classification { get; set; } = string.Empty; + #endregion - /// - /// 分类 英文 - /// - public string ClassificationEN { get; set; } = string.Empty; + [Comment("分类")] + public string Classification { get; set; } = null!; - /// - /// 部位 - /// - public string Part { get; set; } = string.Empty; + public string ClassificationEN { get; set; } = null!; - /// - /// 部位 英文 - /// - public string PartEN { get; set; } = string.Empty; + [Comment("是否可编辑位置")] + public bool IsCanEditPosition { get; set; } - /// - /// TULOC 器官 - /// - public string TULOC { get; set; } = string.Empty; + [Comment("是否是淋巴结")] + public IsLymph IsLymphNodes { get; set; } - /// - /// TULOC 器官 英文 - /// - public string TULOCEN { get; set; } = string.Empty; + public OrganType OrganType { get; set; } - /// - /// 位置 - /// - public string TULAT { get; set; } = string.Empty; + [Comment(" 部位")] + public string Part { get; set; } = null!; + public string PartEN { get; set; } = null!; - /// - /// 位置 英文 - /// - public string TULATEN { get; set; } = string.Empty; + public string Remark { get; set; } = null!; - /// - /// 备注 - /// - public string Remark { get; set; } = string.Empty; + public int ShowOrder { get; set; } + public Guid SystemCriterionId { get; set; } - /// - /// 是否是淋巴结 - /// - public IsLymph IsLymphNodes { get; set; } + [Comment(" 位置")] + public string TULAT { get; set; } = null!; - /// - /// 器官类型 - /// - public OrganType OrganType { get; set; } + public string TULATEN { get; set; } = null!; - /// - /// 标准Id - /// - public Guid SystemCriterionId { get; set; } + public string TULOC { get; set; } = null!; - - /// - /// 是否可编辑位置 - /// - public bool IsCanEditPosition { get; set; } - - /// - /// 序号 - /// - public int ShowOrder { get; set; } = 0; + public string TULOCEN { get; set; } = null!; - } +} + + - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganTrialInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganTrialInfo.cs index 1b3f12531..37040917a 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganTrialInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/OrganTrialInfo.cs @@ -7,101 +7,57 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目标准 - 器官")] +[Table("OrganTrialInfo")] +public class OrganTrialInfo : BaseAddAuditEntity { - /// - ///OrganTrialInfo - /// - [Table("OrganTrialInfo")] - public class OrganTrialInfo : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("OrganInfoId")] - public OrganInfo OrganInfo { get; set; } - #endregion - /// - /// 器官Id - /// - public Guid OrganInfoId { get; set; } - - /// - /// 项目Id - /// - public Guid TrialId { get; set; } + [JsonIgnore] + [ForeignKey("OrganInfoId")] + public OrganInfo OrganInfo { get; set; } + #endregion - public bool IsEnable { get; set; } + [Comment("分类")] + public string Classification { get; set; } = null!; + + public string ClassificationEN { get; set; } = null!; + + [Comment("是否可编辑位置")] + public bool IsCanEditPosition { get; set; } + + public bool IsEnable { get; set; } + + public IsLymph IsLymphNodes { get; set; } + + [Comment(" 器官Id")] + public Guid OrganInfoId { get; set; } + + public OrganType? OrganType { get; set; } + + public string Part { get; set; } = null!; + + public string PartEN { get; set; } = null!; + + public int ShowOrder { get; set; } + + public Guid TrialCriterionId { get; set; } + + [Comment(" 项目Id")] + public Guid TrialId { get; set; } + + public string TULAT { get; set; } = null!; + + public string TULATEN { get; set; } = null!; + + public string TULOC { get; set; } = null!; + + public string TULOCEN { get; set; } = null!; + +} - /// - /// 标准Id - /// - public Guid TrialCriterionId { get; set; } - /// - /// 部位 - /// - public string Part { get; set; } = string.Empty; - - /// - /// 部位 英文 - /// - public string PartEN { get; set; } = string.Empty; - - /// - /// TULOC 器官 - /// - public string TULOC { get; set; } = string.Empty; - - /// - /// TULOC 器官 英文 - /// - public string TULOCEN { get; set; } = string.Empty; - - /// - /// 位置 - /// - public string TULAT { get; set; } = string.Empty; - - - /// - /// 位置 英文 - /// - public string TULATEN { get; set; } = string.Empty; - - /// - /// 是否是淋巴结 - /// - public IsLymph IsLymphNodes { get; set; } - - /// - /// 是否可编辑位置 - /// - public bool IsCanEditPosition { get; set; } - - /// - /// 分类 - /// - public string Classification { get; set; } = string.Empty; - - /// - /// 分类 英文 - /// - public string ClassificationEN { get; set; } = string.Empty; - - /// - /// 序号 - /// - public int ShowOrder { get; set; } = 0; - - /// - /// 器官类型 - /// - public OrganType? OrganType { get; set; } - - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingCriterionPage.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingCriterionPage.cs index db1e44a5a..14f88e47c 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingCriterionPage.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingCriterionPage.cs @@ -8,52 +8,32 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目标准 - 分页")] +[Table("ReadingCriterionPage")] +public class ReadingCriterionPage : BaseAddAuditEntity { - /// - ///阅片标准分页 - /// - [Table("ReadingCriterionPage")] - public class ReadingCriterionPage : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List ReadingQuestionList { get; set; } = new List(); - #endregion - /// - /// 项目ID - /// - public Guid TrialId { get; set; } - - /// - /// 分页名称 - /// - public string PageName { get; set; } = string.Empty; + #region 导航属性 + [JsonIgnore] + public List ReadingQuestionList { get; set; } = new List(); + #endregion + public bool IsEnable { get; set; } - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } - - + [Comment("是否公共分页")] + public bool IsPublicPage { get; set; } + public string PageName { get; set; } = null!; - /// - /// 是否公共分页 - /// - public bool IsPublicPage { get; set; } = false; + public Guid ReadingQuestionCriterionTrialId { get; set; } - /// - /// 排序 - /// - public int ShowOrder { get; set; } = 0; + public int ShowOrder { get; set; } - - public Guid ReadingQuestionCriterionTrialId { get; set; } + public Guid TrialId { get; set; } +} - } -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs index 9010c0dca..8fcda0ee5 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs @@ -5,83 +5,41 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("系统标准 - 标准配置 (需要同步)")] +[Table("ReadingQuestionCriterionSystem")] +public class ReadingQuestionCriterionSystem : BaseAddAuditEntity { - /// - /// 系统阅片标准 - /// - [Table("ReadingQuestionCriterionSystem")] - public class ReadingQuestionCriterionSystem : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List ReadingQuestionSystemList { get; set; } = new List(); - #endregion - /// - /// 标准 - /// - public string CriterionName { get; set; } = string.Empty; + #region 导航属性 + [JsonIgnore] + public List ReadingQuestionSystemList { get; set; } = new List(); + #endregion + public DateTime ConfirmTime { get; set; } - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } + [StringLength(400)] + public string CriterionName { get; set; } = null!; - /// - /// 排序 - /// - public int ShowOrder { get; set; } + public CriterionType CriterionType { get; set; } - /// - /// 是否完成配置 - /// - public bool IsCompleteConfig { get; set; } + [StringLength(600)] + public string Description { get; set; } = null!; + public bool IsCompleteConfig { get; set; } - /// - /// 确认时间 - /// - public DateTime ConfirmTime { get; set; } - - /// - /// 描述 - /// - public string Description { get; set; } = string.Empty; - - - - /// - /// 标准类型 - /// - public CriterionType CriterionType { get; set; } - - - /// - /// 肿瘤学阅片 - /// - public bool IsOncologyReading { get; set; } = false; - - /// - /// eCRF报告是否显示在图像页面 - /// - public bool IseCRFShowInDicomReading { get; set; } = false; - - /// - /// 是否必须全局阅片 - /// - public bool IsMustGlobalReading { get; set; } = false; - - - - - - - } - - - + [Comment("eCRF报告是否显示在图像页面")] + public bool IseCRFShowInDicomReading { get; set; } + public bool IsEnable { get; set; } + [Comment("是否必须全局阅片")] + public bool IsMustGlobalReading { get; set; } + public bool IsOncologyReading { get; set; } + public int ShowOrder { get; set; } } + + + diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs index dbc7e7926..47e292f70 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs @@ -6,297 +6,292 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Linq; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("系统标准问题 (需要同步)")] +[Table("ReadingQuestionSystem")] +public class ReadingQuestionSystem : BaseAddAuditEntity { - /// - /// 系统阅片问题 - /// - [Table("ReadingQuestionSystem")] - public class ReadingQuestionSystem : BaseAddAuditEntity + #region 导航属性 + [JsonIgnore] + [ForeignKey("GroupId")] + public ReadingQuestionSystem GroupInfo { get; set; } + + + [JsonIgnore] + [ForeignKey("ReadingQuestionCriterionSystemId")] + public ReadingQuestionCriterionSystem ReadingQuestionCriterionSystem { get; set; } + + [JsonIgnore] + [ForeignKey("ParentId")] + public ReadingQuestionSystem ParentReadingQuestionSystem { get; set; } + + + [JsonIgnore] + [ForeignKey("RelevanceId")] + public ReadingQuestionSystem RelevanceReadingQuestionSystem { get; set; } + + [NotMapped] + public List ParentTriggerValueList { - #region 导航属性 - [JsonIgnore] - [ForeignKey("GroupId")] - public ReadingQuestionSystem GroupInfo { get; set; } - - - [JsonIgnore] - [ForeignKey("ReadingQuestionCriterionSystemId")] - public ReadingQuestionCriterionSystem ReadingQuestionCriterionSystem { get; set; } - - [JsonIgnore] - [ForeignKey("ParentId")] - public ReadingQuestionSystem ParentReadingQuestionSystem { get; set; } - - - [JsonIgnore] - [ForeignKey("RelevanceId")] - public ReadingQuestionSystem RelevanceReadingQuestionSystem { get; set; } - - [NotMapped] - public List ParentTriggerValueList + get { - get + try { - try - { - return this.ParentTriggerValue.Split(',').ToList(); - } - catch (Exception) - { - - return new List(); - } + return this.ParentTriggerValue.Split(',').ToList(); } - - } - - - [NotMapped] - public List RelevanceValueList - { - get - { - try - { - return this.RelevanceValue.Split(',').ToList(); - } - catch (Exception) - { - - return new List(); - } - } - - } - - [NotMapped] - public List HighlightAnswerList - { - get + catch (Exception) { - try - { - var result = JsonConvert.DeserializeObject>(this.HighlightAnswer); - return result == null ? new List() : result; - } - catch (Exception) - { - - return new List(); - } - + return new List(); } } - #endregion - /// - /// 系统标准Id - /// - public Guid ReadingQuestionCriterionSystemId { get; set; } - - /// - /// 类型 - /// - public string Type { get; set; } = string.Empty; - - /// - /// 父问题触发 - /// - public string ParentTriggerValue { get; set; } = string.Empty; - - /// - /// 问题名称 - /// - public string QuestionName { get; set; } = string.Empty; - - /// - /// 是否是必须 - /// - public IsRequired IsRequired { get; set; } - - /// - /// 排序 - /// - public int ShowOrder { get; set; } - - /// - /// 父问题ID - /// - public Guid? ParentId { get; set; } - - /// - /// 类型值 - /// - public string TypeValue { get; set; } = string.Empty; - - /// - /// 是否启用 - /// - public bool IsEnable { get; set; } - - - /// - /// 是否是裁判问题 - /// - public bool IsJudgeQuestion { get; set; } - - /// - /// 备注 - /// - public string Remark { get; set; } = string.Empty; - - /// - /// 关联ID - /// - public Guid? RelevanceId { get; set; } - - /// - /// 关联Value - /// - public string RelevanceValue { get; set; } = string.Empty; - - /// - /// 分组 - /// - public string GroupName { get; set; } = string.Empty; - - /// - /// 图片数量 - /// - public int ImageCount { get; set; } = 1; - - /// - /// 是否显示 - /// - public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show; - - /// - /// 最大问题数 - /// - public int? MaxQuestionCount { get; set; } - - /// - /// 病灶类型 - /// - public LesionType? LesionType { get; set; } - - /// - /// 问题类型 - /// - public QuestionType? QuestionType { get; set; } - - /// - /// 是否显示在Dicom阅片中 - /// - public bool IsShowInDicom { get; set; } = false; - - /// - /// 序号标记 - /// - public string OrderMark { get; set; } = string.Empty; - - /// - /// 字典code - /// - public string DictionaryCode { get; set; } = string.Empty; - - - - /// - /// 问题类型 - /// - public TableQuestionType? QuestionGenre { get; set; } - - /// - /// 全局阅片显示类型 - /// - public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; - - /// - /// 转化显示类型 - /// - public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All; - - /// - /// 默认值 - /// - public string DefaultValue { get; set; } = string.Empty; - - /// - /// 数值类型 - /// - public ValueOfType? ValueType { get; set; } - - /// - /// 单位 - /// - public ValueUnit? Unit { get; set; } - - - /// - /// 问题英文名称 - /// - public string QuestionEnName { get; set; } = string.Empty; - - /// - /// 问题英文分组 - /// - public string GroupEnName { get; set; } = string.Empty; - - /// - /// 限制编辑 - /// - public LimitEdit LimitEdit { get; set; } = LimitEdit.None; - - /// - /// 限制显示 - /// - public LimitShow LimitShow { get; set; } = LimitShow.AllShow; - - /// - /// 数据来源 - /// - public DataSources DataSource { get; set; } = DataSources.ManualEntry; - - /// - /// 最大答案长度 - /// - public int? MaxAnswerLength { get; set; } - - /// - /// 分组ID - /// - public Guid? GroupId { get; set; } - - /// - /// 文件类型 - /// - public string FileType { get; set; } = string.Empty; - - /// - /// 分组分类 - /// - public GroupClassify? GroupClassify { get; set; } - - /// - /// 问题分类 - /// - public QuestionClassify? QuestionClassify { get; set; } - - /// - /// 高亮问题的答案 - /// - public string HighlightAnswer { get; set; } = "[]"; - - } - + [NotMapped] + public List RelevanceValueList + { + get + { + try + { + return this.RelevanceValue.Split(',').ToList(); + } + catch (Exception) + { + + return new List(); + } + } + + } + + [NotMapped] + public List HighlightAnswerList + { + get + { + + try + { + var result = JsonConvert.DeserializeObject>(this.HighlightAnswer); + return result == null ? new List() : result; + } + catch (Exception) + { + + return new List(); + } + + } + } + #endregion + /// + /// 系统标准Id + /// + public Guid ReadingQuestionCriterionSystemId { get; set; } + + /// + /// 类型 + /// + public string Type { get; set; } = string.Empty; + + /// + /// 父问题触发 + /// + public string ParentTriggerValue { get; set; } = string.Empty; + + /// + /// 问题名称 + /// + public string QuestionName { get; set; } = string.Empty; + + /// + /// 是否是必须 + /// + public IsRequired IsRequired { get; set; } + + /// + /// 排序 + /// + public int ShowOrder { get; set; } + + /// + /// 父问题ID + /// + public Guid? ParentId { get; set; } + + /// + /// 类型值 + /// + public string TypeValue { get; set; } = string.Empty; + + /// + /// 是否启用 + /// + public bool IsEnable { get; set; } + + + /// + /// 是否是裁判问题 + /// + public bool IsJudgeQuestion { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } = string.Empty; + + /// + /// 关联ID + /// + public Guid? RelevanceId { get; set; } + + /// + /// 关联Value + /// + public string RelevanceValue { get; set; } = string.Empty; + + /// + /// 分组 + /// + public string GroupName { get; set; } = string.Empty; + + /// + /// 图片数量 + /// + public int ImageCount { get; set; } = 1; + + /// + /// 是否显示 + /// + public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show; + + /// + /// 最大问题数 + /// + public int? MaxQuestionCount { get; set; } + + /// + /// 病灶类型 + /// + public LesionType? LesionType { get; set; } + + /// + /// 问题类型 + /// + public QuestionType? QuestionType { get; set; } + + /// + /// 是否显示在Dicom阅片中 + /// + public bool IsShowInDicom { get; set; } = false; + + /// + /// 序号标记 + /// + public string OrderMark { get; set; } = string.Empty; + + /// + /// 字典code + /// + public string DictionaryCode { get; set; } = string.Empty; + + + + /// + /// 问题类型 + /// + public TableQuestionType? QuestionGenre { get; set; } + + /// + /// 全局阅片显示类型 + /// + public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; + + /// + /// 转化显示类型 + /// + public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All; + + /// + /// 默认值 + /// + public string DefaultValue { get; set; } = string.Empty; + + /// + /// 数值类型 + /// + public ValueOfType? ValueType { get; set; } + + /// + /// 单位 + /// + public ValueUnit? Unit { get; set; } + + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 问题英文分组 + /// + public string GroupEnName { get; set; } = string.Empty; + + /// + /// 限制编辑 + /// + public LimitEdit LimitEdit { get; set; } = LimitEdit.None; + + /// + /// 限制显示 + /// + public LimitShow LimitShow { get; set; } = LimitShow.AllShow; + + /// + /// 数据来源 + /// + public DataSources DataSource { get; set; } = DataSources.ManualEntry; + + /// + /// 最大答案长度 + /// + public int? MaxAnswerLength { get; set; } + + /// + /// 分组ID + /// + public Guid? GroupId { get; set; } + + /// + /// 文件类型 + /// + public string FileType { get; set; } = string.Empty; + + /// + /// 分组分类 + /// + public GroupClassify? GroupClassify { get; set; } + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 高亮问题的答案 + /// + public string HighlightAnswer { get; set; } = "[]"; } + + + diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs index ace28be8d..b2c7e323c 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs @@ -7,413 +7,408 @@ using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Linq; using IRaCIS.Core.Domain.Share.Reading; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目标准 - 标准配置")] +[Table("ReadingQuestionCriterionTrial")] +public class ReadingQuestionTrial : BaseAddAuditEntity { - /// - /// 项目阅片问题 - /// - [Table("ReadingQuestionTrial")] - public class ReadingQuestionTrial : BaseAddAuditEntity - { - #region 导航属性 - /// - /// 分页标准 - /// - [ForeignKey("ReadingCriterionPageId")] - [JsonIgnore] - public ReadingCriterionPage ReadingCriterionPage { get; set; } - [JsonIgnore] - [ForeignKey("ParentId")] - public ReadingQuestionTrial ParentReadingQuestionTrial { get; set; } - [JsonIgnore] - [ForeignKey("RelevanceId")] - public ReadingQuestionTrial RelevanceReadingQuestionTrial { get; set; } - [JsonIgnore] - [ForeignKey("ReadingQuestionCriterionTrialId")] - public ReadingQuestionCriterionTrial ReadingQuestionCriterionTrial { get; set; } + #region 导航属性 + /// + /// 分页标准 + /// + [ForeignKey("ReadingCriterionPageId")] + [JsonIgnore] + public ReadingCriterionPage ReadingCriterionPage { get; set; } + [JsonIgnore] + [ForeignKey("ParentId")] + public ReadingQuestionTrial ParentReadingQuestionTrial { get; set; } + [JsonIgnore] + [ForeignKey("RelevanceId")] + public ReadingQuestionTrial RelevanceReadingQuestionTrial { get; set; } + [JsonIgnore] + [ForeignKey("ReadingQuestionCriterionTrialId")] + public ReadingQuestionCriterionTrial ReadingQuestionCriterionTrial { get; set; } - [JsonIgnore] - public List ReadingTableQuestionTrialList { get; set; } - [JsonIgnore] - [ForeignKey("GroupId")] - public ReadingQuestionTrial GroupInfo { get; set; } + [JsonIgnore] + public List ReadingTableQuestionTrialList { get; set; } + [JsonIgnore] + [ForeignKey("GroupId")] + public ReadingQuestionTrial GroupInfo { get; set; } - [NotMapped] - public List ParentTriggerValueList + [NotMapped] + public List ParentTriggerValueList + { + get { - get + try { - try - { - return this.ParentTriggerValue.Split(',').ToList(); - } - catch (Exception) - { - - return new List(); - } + return this.ParentTriggerValue.Split(',').ToList(); } - - } - - - [NotMapped] - public List RelevanceValueList - { - get - { - try - { - return this.RelevanceValue.Split(',').ToList(); - } - catch (Exception) - { - - return new List(); - } - } - - } - - - [NotMapped] - public List CalculateQuestionList - { - get + catch (Exception) { - try - { - var result = JsonConvert.DeserializeObject>(this.CalculateQuestions); - return result == null ? new List() : result; - } - catch (Exception) - { - - return new List(); - } - + return new List(); } } - [NotMapped] - public List HighlightAnswerList - { - get - { - - try - { - var result = JsonConvert.DeserializeObject>(this.HighlightAnswer); - return result == null ? new List() : result; - } - catch (Exception) - { - - return new List(); - } - - } - } - #endregion - public bool IsAdditional { get; set; } - - - /// - /// 项目标准Id - /// - public Guid ReadingQuestionCriterionTrialId { get; set; } - - /// - /// 项目Id - /// - public Guid TrialId { get; set; } - - /// - /// 类型 - /// - public string Type { get; set; } = string.Empty; - - /// - /// 父问题触发 - /// - public string ParentTriggerValue { get; set; } = string.Empty; - - /// - /// 问题名称 - /// - public string QuestionName { get; set; } = string.Empty; - - /// - /// 是否是必须 - /// - public IsRequired IsRequired { get; set; } - - /// - /// 排序 - /// - public int ShowOrder { get; set; } - - /// - /// 父问题ID - /// - public Guid? ParentId { get; set; } - - - /// - /// 类型值 - /// - public string TypeValue { get; set; } = string.Empty; - - public bool IsEnable { get; set; } - - /// - /// 是否是裁判问题 - /// - public bool IsJudgeQuestion { get; set; } - - /// - /// 病灶类型 - /// - public LesionType? LesionType { get; set; } - - /// - /// 问题类型 - /// - public QuestionType? QuestionType { get; set; } - - /// - /// 全局阅片显示类型 - /// - public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; - - - /// - /// 转化显示类型 - /// - public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All; - - /// - /// 备注 - /// - public string Remark { get; set; } = string.Empty; - - /// - /// 分组 - /// - public string GroupName { get; set; } = string.Empty; - - - - /// - /// 系统问题ID - /// - public Guid? ReadingQuestionSystemId { get; set; } - - /// - /// 系统标准的ParentId - /// - public Guid? SystemParentId { get; set; } - - /// - /// 答案分组 - /// - public string AnswerGroup { get; set; } = string.Empty; - - /// - /// 答案组合 - /// - public string AnswerCombination { get; set; } = string.Empty; - - /// - /// 裁判类型 - /// - public JudgeTypeEnum JudgeType { get; set; } = JudgeTypeEnum.AnswerDisaffinity; - - /// - /// 裁判百分比或绝对值的相差值 - /// - public decimal? JudgeDifferenceValue { get; set; } - - /// - /// 裁判百分比或绝对值的相差值匹配规则 - /// - public JudgeDifferenceType JudgeDifferenceType { get; set; } - - - - /// - /// 标准分页Id - /// - public Guid? ReadingCriterionPageId { get; set; } - - /// - /// 关联ID - /// - public Guid? RelevanceId { get; set; } - - /// - /// 关联Value - /// - public string RelevanceValue { get; set; }=string.Empty; - - /// - /// 图片数量 - /// - public int ImageCount { get; set; } = 1; - - /// - /// 是否显示 - /// - public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show; - - /// - /// 默认值 - /// - public string DefaultValue { get; set; } =string.Empty; - - /// - /// 最大问题数 - /// - public int? MaxQuestionCount { get; set; } - - /// - /// 最大答案长度 - /// - public int? MaxAnswerLength { get; set; } - - /// - /// 文件类型 - /// - public string FileType { get; set; } = string.Empty; - - /// - /// 是否显示在Dicom阅片中 - /// - public bool IsShowInDicom { get; set; } = false; - - - /// - /// 序号标记 - /// - public string OrderMark { get; set; } = string.Empty; - - /// - /// 字典code - /// - public string DictionaryCode { get; set; } = string.Empty; - - /// - /// 问题类型 - /// - public TableQuestionType? QuestionGenre { get; set; } - - /// - /// 数值类型 - /// - public ValueOfType? ValueType { get; set; } - - /// - /// 单位 - /// - public ValueUnit? Unit { get; set; } - - /// - /// 自定义单位 - /// - public string CustomUnit { get; set; } = string.Empty; - - - /// - /// 自定义计算标记 - /// - public CustomCalculateMark? CustomCalculateMark { get; set; } - - /// - /// 限制编辑 - /// - public LimitEdit LimitEdit { get; set; } = LimitEdit.None; - - /// - /// 限制显示 - /// - public LimitShow LimitShow { get; set; } = LimitShow.AllShow; - - /// - /// 自定义计算标记 - /// - public string CalculateQuestions { get; set; } = "[]"; - - /// - /// 数据来源 - /// - public DataSources DataSource { get; set; } = DataSources.ManualEntry; - - /// - /// 问题英文名称 - /// - public string QuestionEnName { get; set; } = string.Empty; - - /// - /// 问题英文分组 - /// - public string GroupEnName { get; set; } = string.Empty; - - /// - /// 分类算法 - /// - public string ClassifyAlgorithms { get; set; } = string.Empty; - - /// - /// 分类问题Id - /// - public Guid? ClassifyQuestionId { get; set; } - - /// - /// 是否复制病灶 - /// - public bool IsCopyLesions { get; set; } = false; - - /// - /// 分组ID - /// - public Guid? GroupId { get; set; } - - - /// - /// 分组分类 - /// - public GroupClassify? GroupClassify { get; set; } - - - /// - /// 问题分类 - /// - public QuestionClassify? QuestionClassify { get; set; } - - - - /// - /// 高亮问题的答案 - /// - public string HighlightAnswer { get; set; } = "[]"; - - - } - public class CalculateInfo + [NotMapped] + public List RelevanceValueList { - public bool IsTable { get; set; } + get + { + try + { + return this.RelevanceValue.Split(',').ToList(); + } + catch (Exception) + { - public Guid? QuestionId { get; set; } + return new List(); + } + } - public Guid? TableQuestionId { get; set; } + } - } + + [NotMapped] + public List CalculateQuestionList + { + get + { + + try + { + var result = JsonConvert.DeserializeObject>(this.CalculateQuestions); + return result == null ? new List() : result; + } + catch (Exception) + { + + return new List(); + } + + } + } + + [NotMapped] + public List HighlightAnswerList + { + get + { + + try + { + var result = JsonConvert.DeserializeObject>(this.HighlightAnswer); + return result == null ? new List() : result; + } + catch (Exception) + { + + return new List(); + } + + } + } + #endregion + public bool IsAdditional { get; set; } + + + /// + /// 项目标准Id + /// + public Guid ReadingQuestionCriterionTrialId { get; set; } + + /// + /// 项目Id + /// + public Guid TrialId { get; set; } + + /// + /// 类型 + /// + public string Type { get; set; } = string.Empty; + + /// + /// 父问题触发 + /// + public string ParentTriggerValue { get; set; } = string.Empty; + + /// + /// 问题名称 + /// + public string QuestionName { get; set; } = string.Empty; + + /// + /// 是否是必须 + /// + public IsRequired IsRequired { get; set; } + + /// + /// 排序 + /// + public int ShowOrder { get; set; } + + /// + /// 父问题ID + /// + public Guid? ParentId { get; set; } + + + /// + /// 类型值 + /// + public string TypeValue { get; set; } = string.Empty; + + public bool IsEnable { get; set; } + + /// + /// 是否是裁判问题 + /// + public bool IsJudgeQuestion { get; set; } + + /// + /// 病灶类型 + /// + public LesionType? LesionType { get; set; } + + /// + /// 问题类型 + /// + public QuestionType? QuestionType { get; set; } + + /// + /// 全局阅片显示类型 + /// + public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; + + + /// + /// 转化显示类型 + /// + public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All; + + /// + /// 备注 + /// + public string Remark { get; set; } = string.Empty; + + /// + /// 分组 + /// + public string GroupName { get; set; } = string.Empty; + + + + /// + /// 系统问题ID + /// + public Guid? ReadingQuestionSystemId { get; set; } + + /// + /// 系统标准的ParentId + /// + public Guid? SystemParentId { get; set; } + + /// + /// 答案分组 + /// + public string AnswerGroup { get; set; } = string.Empty; + + /// + /// 答案组合 + /// + public string AnswerCombination { get; set; } = string.Empty; + + /// + /// 裁判类型 + /// + public JudgeTypeEnum JudgeType { get; set; } = JudgeTypeEnum.AnswerDisaffinity; + + /// + /// 裁判百分比或绝对值的相差值 + /// + public decimal? JudgeDifferenceValue { get; set; } + + /// + /// 裁判百分比或绝对值的相差值匹配规则 + /// + public JudgeDifferenceType JudgeDifferenceType { get; set; } + + + + /// + /// 标准分页Id + /// + public Guid? ReadingCriterionPageId { get; set; } + + /// + /// 关联ID + /// + public Guid? RelevanceId { get; set; } + + /// + /// 关联Value + /// + public string RelevanceValue { get; set; } = string.Empty; + + /// + /// 图片数量 + /// + public int ImageCount { get; set; } = 1; + + /// + /// 是否显示 + /// + public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show; + + /// + /// 默认值 + /// + public string DefaultValue { get; set; } = string.Empty; + + /// + /// 最大问题数 + /// + public int? MaxQuestionCount { get; set; } + + /// + /// 最大答案长度 + /// + public int? MaxAnswerLength { get; set; } + + /// + /// 文件类型 + /// + public string FileType { get; set; } = string.Empty; + + /// + /// 是否显示在Dicom阅片中 + /// + public bool IsShowInDicom { get; set; } = false; + + + /// + /// 序号标记 + /// + public string OrderMark { get; set; } = string.Empty; + + /// + /// 字典code + /// + public string DictionaryCode { get; set; } = string.Empty; + + /// + /// 问题类型 + /// + public TableQuestionType? QuestionGenre { get; set; } + + /// + /// 数值类型 + /// + public ValueOfType? ValueType { get; set; } + + /// + /// 单位 + /// + public ValueUnit? Unit { get; set; } + + /// + /// 自定义单位 + /// + public string CustomUnit { get; set; } = string.Empty; + + + /// + /// 自定义计算标记 + /// + public CustomCalculateMark? CustomCalculateMark { get; set; } + + /// + /// 限制编辑 + /// + public LimitEdit LimitEdit { get; set; } = LimitEdit.None; + + /// + /// 限制显示 + /// + public LimitShow LimitShow { get; set; } = LimitShow.AllShow; + + /// + /// 自定义计算标记 + /// + public string CalculateQuestions { get; set; } = "[]"; + + /// + /// 数据来源 + /// + public DataSources DataSource { get; set; } = DataSources.ManualEntry; + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 问题英文分组 + /// + public string GroupEnName { get; set; } = string.Empty; + + /// + /// 分类算法 + /// + public string ClassifyAlgorithms { get; set; } = string.Empty; + + /// + /// 分类问题Id + /// + public Guid? ClassifyQuestionId { get; set; } + + /// + /// 是否复制病灶 + /// + public bool IsCopyLesions { get; set; } = false; + + /// + /// 分组ID + /// + public Guid? GroupId { get; set; } + + + /// + /// 分组分类 + /// + public GroupClassify? GroupClassify { get; set; } + + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + + + /// + /// 高亮问题的答案 + /// + public string HighlightAnswer { get; set; } = "[]"; } + + +public class CalculateInfo +{ + public bool IsTable { get; set; } + + public Guid? QuestionId { get; set; } + + public Guid? TableQuestionId { get; set; } + +} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingSystemCriterionDictionary.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingSystemCriterionDictionary.cs index 17733a479..3d3792b74 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingSystemCriterionDictionary.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingSystemCriterionDictionary.cs @@ -3,50 +3,37 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("ϵͳ׼ - ȫ Ҫͬ")] +[Table("ReadingSystemCriterionDictionary")] +public class ReadingSystemCriterionDictionary : BaseAddAuditEntity { - /// - ///ReadingCriterionDictionary - /// - [Table("ReadingSystemCriterionDictionary")] - public class ReadingSystemCriterionDictionary : BaseAddAuditEntity - { - #region + #region - [JsonIgnore] - [ForeignKey("DictionaryId")] - public Dictionary Dictionary { get; set; } - #endregion - public Guid CriterionId { get; set; } - + [JsonIgnore] + [ForeignKey("DictionaryId")] + public Dictionary Dictionary { get; set; } + #endregion + public Guid CriterionId { get; set; } + [Comment("׼ֵ")] + public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } = CrterionDictionaryGroup.General; - public Guid DictionaryId { get; set; } - + public Guid DictionaryId { get; set; } + + public bool IsBaseLineUse { get; set; } + + public bool IsFollowVisitUse { get; set; } + + public bool IsSystemCriterion { get; set; } + + public string ParentCode { get; set; } = null!; + + +} - public bool IsSystemCriterion { get; set; } = false; - - public string ParentCode { get; set; } = string.Empty; - - - public bool IsBaseLineUse { get; set; } = false; - - - public bool IsFollowVisitUse { get; set; } = false; - - /// - /// ׼ֵ - /// - public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } = CrterionDictionaryGroup.General; - - - - - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTrialCriterionDictionary.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTrialCriterionDictionary.cs index 187b9fe34..9a42cc0ab 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTrialCriterionDictionary.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTrialCriterionDictionary.cs @@ -7,41 +7,36 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片标准 - 全局配置")] +[Table("ReadingTrialCriterionDictionary")] +public class ReadingTrialCriterionDictionary : BaseAddAuditEntity { - /// - ///ReadingTrialCriterionDictionary - /// - [Table("ReadingTrialCriterionDictionary")] - public class ReadingTrialCriterionDictionary : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("DictionaryId")] - public Dictionary Dictionary { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("DictionaryId")] + public Dictionary Dictionary { get; set; } - [ForeignKey("CriterionId")] - [JsonIgnore] - public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } - #endregion - public Guid CriterionId { get; set; } + [ForeignKey("CriterionId")] + [JsonIgnore] + public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + #endregion + public Guid CriterionId { get; set; } - public Guid DictionaryId { get; set; } - + public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } + + public Guid DictionaryId { get; set; } + + public bool IsBaseLineUse { get; set; } + + public bool IsFollowVisitUse { get; set; } + + public string ParentCode { get; set; } = null!; + +} - public string ParentCode { get; set; } = string.Empty; - public bool IsBaseLineUse { get; set; } - - public bool IsFollowVisitUse { get; set; } - - public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; } - - - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs index 81905c59f..045702f65 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingCustomTag.cs @@ -7,32 +7,33 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 自定义标记")] +[Table("ReadingCustomTag")] +public class ReadingCustomTag : BaseAddAuditEntity { - /// - ///ReadingCustomTag - /// - [Table("ReadingCustomTag")] - public class ReadingCustomTag : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion + #endregion + + public Guid? InstanceId { get; set; } + + + [MaxLength] + public string MeasureData { get; set; } = null!; + + public int? NumberOfFrames { get; set; } + + public Guid? SeriesId { get; set; } + + public Guid? StudyId { get; set; } + + [Comment(" 任务Id")] + public Guid VisitTaskId { get; set; } + +} - public Guid VisitTaskId { get; set; } - - public Guid? StudyId { get; set; } - - - public Guid? SeriesId { get; set; } - - public Guid? InstanceId { get; set; } - - public string MeasureData { get; set; } = string.Empty; - - public int? NumberOfFrames { get; set; } - - } -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingGlobalTaskInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingGlobalTaskInfo.cs index 38818aa3c..5b1e08687 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingGlobalTaskInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingGlobalTaskInfo.cs @@ -3,62 +3,44 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 全局阅片结果")] +[Table("ReadingGlobalTaskInfo")] +public class ReadingGlobalTaskInfo : BaseAddAuditEntity { - /// - /// 阅片全局任务信息 - /// - [Table("ReadingGlobalTaskInfo")] - public class ReadingGlobalTaskInfo : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("TaskId")] - public VisitTask VisitTask { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("TaskId")] + public VisitTask VisitTask { get; set; } - [JsonIgnore] - [ForeignKey("GlobalTaskId")] - public VisitTask GlobalVisitTask { get; set; } + [JsonIgnore] + [ForeignKey("GlobalTaskId")] + public VisitTask GlobalVisitTask { get; set; } - [JsonIgnore] - [ForeignKey("QuestionId")] - public ReadingQuestionTrial TrialReadingQuestion { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("QuestionId")] + public ReadingQuestionTrial TrialReadingQuestion { get; set; } + #endregion - /// - /// 全局任务Id - /// - public Guid GlobalTaskId { get; set; } - - /// - /// 原任务ID - /// - - public Guid TaskId { get; set; } - - /// - /// 问题ID - /// - public Guid? QuestionId { get; set; } + [StringLength(4000)] + public string Answer { get; set; } = null!; + [Comment("全局答案类型")] + public GlobalAnswerType GlobalAnswerType { get; set; } + [Comment("全局任务Id")] + public Guid GlobalTaskId { get; set; } - /// - /// 问题答案 - /// + public Guid? QuestionId { get; set; } - public string Answer { get; set; } = string.Empty; + public Guid SubjectId { get; set; } + [Comment("原任务ID")] + public Guid TaskId { get; set; } + + public Guid TrialId { get; set; } + +} - public Guid TrialId { get; set; } - /// - /// 全局答案类型 - /// - public GlobalAnswerType GlobalAnswerType { get; set; } - - public Guid SubjectId { get; set; } - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingJudgeInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingJudgeInfo.cs index 166730010..0d80dc8af 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingJudgeInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingJudgeInfo.cs @@ -4,43 +4,27 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 产生裁判信息记录")] +[Table("ReadingJudgeInfo")] +public class ReadingJudgeInfo : BaseAddAuditEntity { - /// - ///阅片裁判信息 - /// - [Table("ReadingJudgeInfo")] - public class ReadingJudgeInfo : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion - /// - /// 第一个任务ID - /// - [Required] - public Guid TaskIdOne { get; set; } - - /// - /// 第二个任务ID - /// - [Required] - public Guid TaskIdTwo { get; set; } - - /// - /// 裁判任务ID - /// - [Required] - public Guid JudgeTaskId { get; set; } - + #endregion + public Guid JudgeTaskId { get; set; } + + public Guid SubjectId { get; set; } + + public Guid TaskIdOne { get; set; } + + public Guid TaskIdTwo { get; set; } + + public Guid TrialId { get; set; } + +} - public Guid TrialId { get; set; } - - public Guid SubjectId { get; set; } - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingOncologyTaskInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingOncologyTaskInfo.cs index 1d4886e61..cdacc09a0 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingOncologyTaskInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingOncologyTaskInfo.cs @@ -7,57 +7,39 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 肿瘤学结果")] +[Table("ReadingOncologyTaskInfo")] +public class ReadingOncologyTaskInfo : BaseAddAuditEntity { - /// - /// 阅片肿瘤学 针对访视任务 添加了一个结果 - /// - [Table("ReadingOncologyTaskInfo")] - public class ReadingOncologyTaskInfo : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("OncologyTaskId")] - public VisitTask OncologyVisitTask { get; set; } + [JsonIgnore] + [ForeignKey("OncologyTaskId")] + public VisitTask OncologyVisitTask { get; set; } - [JsonIgnore] - [ForeignKey("VisitTaskId")] - public VisitTask VisitTask { get; set; } - #endregion - /// - /// 肿瘤学 阅片任务ID - /// - public Guid OncologyTaskId { get; set; } - - /// - /// 产生肿瘤学阅片任务的 访视类型的阅片任务Id - /// - public Guid VisitTaskId { get; set; } - - /// - /// 结果 - /// - public string EvaluationResult { get; set; } = string.Empty; + [JsonIgnore] + [ForeignKey("VisitTaskId")] + public VisitTask VisitTask { get; set; } + #endregion - /// - /// 原因 - /// - public string EvaluationReason { get; set; } = string.Empty; + [StringLength(1000)] + public string EvaluationReason { get; set; } = null!; + + public string EvaluationResult { get; set; } = null!; + + public Guid OncologyTaskId { get; set; } + + public Guid SubjectId { get; set; } + + public Guid TrialId { get; set; } + + public Guid VisitTaskId { get; set; } - /// - /// 项目Id - /// - public Guid TrialId { get; set; } - - /// - /// 受试者Id - /// - public Guid SubjectId { get; set; } +} - } - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs index b54add574..c94a9fcce 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs @@ -9,14 +9,13 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models { - /// - /// 表格问题答案行数据 - /// - [Table("ReadingTableAnswerRowInfo")] - public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity + [Comment("项目阅片 - 表格问题行记录")] + [Table("ReadingTableAnswerRowInfo")] + public class ReadingTableAnswerRowInfo : BaseFullDeleteAuditEntity { #region 导航属性 [JsonIgnore] @@ -50,17 +49,17 @@ namespace IRaCIS.Core.Domain.Models public Guid QuestionId { get; set; } - public Guid VisitTaskId { get; set; } + public Guid VisitTaskId { get; set; } - public Guid TrialId { get; set; } + public Guid TrialId { get; set; } - public Guid? InstanceId { get; set; } + public Guid? InstanceId { get; set; } - public Guid? SeriesId { get; set; } + public Guid? SeriesId { get; set; } - public Guid? StudyId { get; set; } + public Guid? StudyId { get; set; } public Guid? OtherInstanceId { get; set; } @@ -68,7 +67,7 @@ namespace IRaCIS.Core.Domain.Models public Guid? OtherStudyId { get; set; } - public string OtherMarkTool { get; set; } = string.Empty; + public string OtherMarkTool { get; set; } = string.Empty; public string OtherPicturePath { get; set; } = string.Empty; @@ -77,64 +76,64 @@ namespace IRaCIS.Core.Domain.Models public bool IsCanEditPosition { get; set; } = false; - /// - /// 是Dicom阅片 - /// - public bool IsDicomReading { get; set; } = true; + /// + /// 是Dicom阅片 + /// + public bool IsDicomReading { get; set; } = true; - public decimal RowIndex { get; set; } + public decimal RowIndex { get; set; } - public string MeasureData { get; set; } = string.Empty; + public string MeasureData { get; set; } = string.Empty; - /// - /// 是否是当前任务添加 - /// - public bool IsCurrentTaskAdd { get; set; } = false; + /// + /// 是否是当前任务添加 + /// + public bool IsCurrentTaskAdd { get; set; } = false; - public Guid? SplitRowId { get; set; } + public Guid? SplitRowId { get; set; } - public Guid? MergeRowId { get; set; } + public Guid? MergeRowId { get; set; } - public string BlindName { get; set; } = string.Empty; + public string BlindName { get; set; } = string.Empty; - public string OrderMark { get; set; } = string.Empty; + public string OrderMark { get; set; } = string.Empty; - /// - /// 截图地址 - /// - public string PicturePath { get; set; } = string.Empty; + /// + /// 截图地址 + /// + public string PicturePath { get; set; } = string.Empty; - /// - /// 第一次添加的任务ID - /// - public decimal FristAddTaskNum { get; set; } = 0; + /// + /// 第一次添加的任务ID + /// + public decimal FristAddTaskNum { get; set; } = 0; - /// - /// 首次添加任务ID - /// - public Guid FristAddTaskId { get; set; } + /// + /// 首次添加任务ID + /// + public Guid FristAddTaskId { get; set; } - /// - /// 融合的PTSeriesId - /// - public Guid? PTSeriesId { get; set; } + /// + /// 融合的PTSeriesId + /// + public Guid? PTSeriesId { get; set; } - /// - /// 融合的CTSeriesId - /// - public Guid? CTSeriesId { get; set; } + /// + /// 融合的CTSeriesId + /// + public Guid? CTSeriesId { get; set; } - public SplitOrMergeType? SplitOrMergeType { get; set; } + public SplitOrMergeType? SplitOrMergeType { get; set; } - public int? NumberOfFrames { get; set; } + public int? NumberOfFrames { get; set; } - /// - /// 器官Id - /// - public Guid? OrganInfoId { get; set; } + /// + /// 器官Id + /// + public Guid? OrganInfoId { get; set; } /// @@ -142,37 +141,37 @@ namespace IRaCIS.Core.Domain.Models /// public decimal? WW { get; set; } - /// - /// 窗位WL - /// - public decimal? WL { get; set; } + /// + /// 窗位WL + /// + public decimal? WL { get; set; } - /// - /// 来自于哪个标记 - /// - public string FromMark { get; set; } = string.Empty; + /// + /// 来自于哪个标记 + /// + public string FromMark { get; set; } = string.Empty; - /// - /// 报告页面显示来自于哪个标记 - /// + /// + /// 报告页面显示来自于哪个标记 + /// public string ReportMark { get; set; } = string.Empty; - + public string OtherMeasureData { get; set; } = string.Empty; - - //病灶编号 - public string RowMark { get; set; } = string.Empty; - /// - /// 标记工具 - /// - public string MarkTool { get; set; } = string.Empty; + //病灶编号 + public string RowMark { get; set; } = string.Empty; + + /// + /// 标记工具 + /// + public string MarkTool { get; set; } = string.Empty; + - } -} +} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableQuestionAnswer.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableQuestionAnswer.cs index bbd3c4918..c50a9d6df 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableQuestionAnswer.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableQuestionAnswer.cs @@ -7,62 +7,62 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 表格问题行记录子项答案")] +[Table("ReadingTableQuestionAnswer")] +public class ReadingTableQuestionAnswer : BaseFullDeleteAuditEntity { - /// - ///ReadingTableQuestionAnswer - /// - [Table("ReadingTableQuestionAnswer")] - public class ReadingTableQuestionAnswer : BaseFullDeleteAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("RowId")] + #region 导航属性 + [JsonIgnore] + [ForeignKey("RowId")] - public ReadingTableAnswerRowInfo Lesion { get; set; } + public ReadingTableAnswerRowInfo Lesion { get; set; } - [JsonIgnore] - [ForeignKey("QuestionId")] + [JsonIgnore] + [ForeignKey("QuestionId")] - public ReadingQuestionTrial ReadingQuestionTrial { get; set; } + public ReadingQuestionTrial ReadingQuestionTrial { get; set; } - [JsonIgnore] - [ForeignKey("TableQuestionId")] + [JsonIgnore] + [ForeignKey("TableQuestionId")] - public ReadingTableQuestionTrial ReadingTableQuestionTrial { get; set; } + public ReadingTableQuestionTrial ReadingTableQuestionTrial { get; set; } - [JsonIgnore] - [ForeignKey("VisitTaskId")] - public VisitTask VisitTask { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("VisitTaskId")] + public VisitTask VisitTask { get; set; } + #endregion - public Guid QuestionId { get; set; } + [Comment(" 答案")] + [MaxLength] + public string Answer { get; set; } = null!; - /// - /// 表格问题Id - /// - public Guid TableQuestionId { get; set; } + [Comment(" 问题Id")] + public Guid QuestionId { get; set; } - public Guid VisitTaskId { get; set; } + public Guid RowId { get; set; } - public Guid TrialId { get; set; } - + [Comment(" 行号")] + [DecimalPrecision(18, 2)] + public decimal RowIndex { get; set; } - public decimal RowIndex { get; set; } - - public string Answer { get; set; } = string.Empty; + public Guid TableQuestionId { get; set; } + + [Comment(" 项目Id")] + public Guid TrialId { get; set; } + + [Comment(" 任务Id")] + public Guid VisitTaskId { get; set; } - public Guid RowId { get; set; } - - - - } +} -} + diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs index b9ca5c537..a8a934546 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs @@ -5,68 +5,45 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 问题答案")] +[Table("ReadingTaskQuestionAnswer")] +public class ReadingTaskQuestionAnswer : BaseAddAuditEntity { - /// - /// 阅片任务答案 - /// - [Table("ReadingTaskQuestionAnswer")] - public class ReadingTaskQuestionAnswer : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("VisitTaskId")] - public VisitTask VisitTask { get; set; } + [JsonIgnore] + [ForeignKey("VisitTaskId")] + public VisitTask VisitTask { get; set; } - [JsonIgnore] - [ForeignKey("ReadingQuestionTrialId")] - public ReadingQuestionTrial ReadingQuestionTrial { get; set; } - #endregion - /// - /// 项目问题Id - /// - public Guid ReadingQuestionTrialId { get; set; } + [JsonIgnore] + [ForeignKey("ReadingQuestionTrialId")] + public ReadingQuestionTrial ReadingQuestionTrial { get; set; } + #endregion + [MaxLength] + public string Answer { get; set; } = null!; - /// - /// 项目问题标准Id - /// - public Guid ReadingQuestionCriterionTrialId { get; set; } + [Comment("全局阅片修改的答案")] + [StringLength(400)] + public string GlobalChangeAnswer { get; set; } = null!; - public Guid TrialId { get; set; } + [Comment("全局阅片是否修改")] + public bool IsGlobalChange { get; set; } - public Guid SubjectId { get; set; } + public Guid ReadingQuestionCriterionTrialId { get; set; } - public Guid VisitTaskId { get; set; } + public Guid ReadingQuestionTrialId { get; set; } - /// - /// 答案 - /// - public string Answer { get; set; } = string.Empty; + public Guid SubjectId { get; set; } - /// - /// 全局阅片修改的答案 - /// - public string GlobalChangeAnswer { get; set; } = string.Empty; + public Guid TrialId { get; set; } + public Guid VisitTaskId { get; set; } - /// - /// 全局阅片是否修改 - /// - public bool IsGlobalChange { get; set; } = false; - - - - - - - - } +} - - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs index 8781d16a5..c6650c24a 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionMark.cs @@ -7,68 +7,79 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +/// +/// +/// +[Table("ReadingTaskQuestionMark")] +public class ReadingTaskQuestionMark : BaseAddAuditEntity { - /// - /// - /// - [Table("ReadingTaskQuestionMark")] - public class ReadingTaskQuestionMark : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - [ForeignKey("QuestionId")] - public ReadingQuestionTrial ReadingQuestionTrial { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("QuestionId")] + public ReadingQuestionTrial ReadingQuestionTrial { get; set; } - [JsonIgnore] - [ForeignKey("VisitTaskId")] - public VisitTask VisitTask { get; set; } - #endregion + [JsonIgnore] + [ForeignKey("VisitTaskId")] + public VisitTask VisitTask { get; set; } + #endregion - public Guid VisitTaskId { get; set; } + public Guid? FirstAddTaskId { get; set; } - public Guid QuestionId { get; set; } + public Guid? InstanceId { get; set; } - public Guid? InstanceId { get; set; } - - public Guid? SeriesId { get; set; } - - - public Guid? StudyId { get; set; } - - - public string MarkTool { get; set; } = string.Empty; - - public string PicturePath { get; set; } = string.Empty; - - public int? NumberOfFrames { get; set; } - - public string MeasureData { get; set; } = string.Empty; + [StringLength(1000)] + public string MarkTool { get; set; } = null!; - public Guid? FirstAddTaskId { get; set; } + [MaxLength] + public string MeasureData { get; set; } = null!; - public QuestionType? QuestionType { get; set; } + public int? NumberOfFrames { get; set; } + + public string OrderMarkName { get; set; } = null!; + + public Guid? OtherInstanceId { get; set; } - public string OrderMarkName { get; set; } = string.Empty; - - public Guid? OtherInstanceId { get; set; } - - public Guid? OtherSeriesId { get; set; } - - public Guid? OtherStudyId { get; set; } - - public string OtherMarkTool { get; set; } = string.Empty; - - public string OtherPicturePath { get; set; } = string.Empty; - - public int? OtherNumberOfFrames { get; set; } - public string OtherMeasureData { get; set; } = string.Empty; + [MaxLength] + public string OtherMarkTool { get; set; } = null!; + + + [MaxLength] + public string OtherMeasureData { get; set; } = null!; + + public int? OtherNumberOfFrames { get; set; } + + + [MaxLength] + public string OtherPicturePath { get; set; } = null!; + + public Guid? OtherSeriesId { get; set; } + + public Guid? OtherStudyId { get; set; } + + + [MaxLength] + public string PicturePath { get; set; } = null!; + + [Comment(" 问题Id")] + public Guid QuestionId { get; set; } + + public QuestionType? QuestionType { get; set; } + + public Guid? SeriesId { get; set; } + + public Guid? StudyId { get; set; } + + [Comment(" 任务Id")] + public Guid VisitTaskId { get; set; } + + +} - } - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskRelation.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskRelation.cs index 0cd1a852e..5242c86d1 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskRelation.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskRelation.cs @@ -7,40 +7,29 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目阅片 - 任务关联")] +[Table("ReadingTaskRelation")] +public class ReadingTaskRelation : BaseAddAuditEntity { - /// - ///任务关系表 - /// - [Table("ReadingTaskRelation")] - public class ReadingTaskRelation : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [ForeignKey("TaskId")] - [JsonIgnore] - public VisitTask VisitTask { get; set; } - #endregion + [ForeignKey("TaskId")] + [JsonIgnore] + public VisitTask VisitTask { get; set; } + #endregion + + public Guid RelevanceTaskId { get; set; } + + public RelevanceType RelevanceType { get; set; } + + public Guid TaskId { get; set; } + + + +} - /// - /// 任务ID - /// - public Guid TaskId { get; set; } - /// - /// 关联的任务ID - /// - public Guid RelevanceTaskId { get; set; } - - /// - /// 类型具体解释 看枚举 - /// - public RelevanceType RelevanceType { get; set; } - - - - } - - -} diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs index 8084a6318..25f34931a 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadModule.cs @@ -5,119 +5,100 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("受试者 - 阅片模块")] +[Table("ReadModule")] +public class ReadModule : BaseFullDeleteAuditEntity { - /// - ///读片模块 - /// - [Table("ReadModule")] - public class ReadModule : BaseFullDeleteAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - /// - /// 受试者 - /// - [ForeignKey("SubjectId")] + [JsonIgnore] + /// + /// 受试者 + /// + [ForeignKey("SubjectId")] - public Subject Subject { get; set; } + public Subject Subject { get; set; } - [JsonIgnore] - /// - /// 阅片期配置 - /// - [ForeignKey("ReadingPeriodSetId")] - public ReadingPeriodSet ReadingPeriodSet { get; set; } + [JsonIgnore] + /// + /// 阅片期配置 + /// + [ForeignKey("ReadingPeriodSetId")] + public ReadingPeriodSet ReadingPeriodSet { get; set; } - [JsonIgnore] - /// - /// 访视 - /// - [ForeignKey("SubjectVisitId")] - public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + /// + /// 访视 + /// + [ForeignKey("SubjectVisitId")] + public SubjectVisit SubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("TrialId")] - public Trial Trial { get; set; } + [JsonIgnore] + [ForeignKey("TrialId")] + public Trial Trial { get; set; } - [JsonIgnore] - public List ReadModuleCriterionFromList { get; set; } = new List(); + [JsonIgnore] + public List ReadModuleCriterionFromList { get; set; } = new List(); - [JsonIgnore] - public List ModuleTaskList { get; set; } - [JsonIgnore] - public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + [JsonIgnore] + public List ModuleTaskList { get; set; } + [JsonIgnore] + public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } - [JsonIgnore] - public List ReadingClinicalDataList { get; set; } - #endregion + [JsonIgnore] + public List ReadingClinicalDataList { get; set; } + #endregion + public bool? IsClinicalDataBlind { get; set; } - public Guid SubjectId { get; set; } + [Comment("临床数据是否完整")] + public bool? IsClinicalDataComplete { get; set; } - public Guid TrialReadingCriterionId { get; set; } + [Comment("CRC是否正在申请撤回")] + public bool IsCRCApplicationRevoke { get; set; } - /// - /// 模块类型 - /// - public ModuleTypeEnum ModuleType { get; set; } + public bool IsCRCConfirm { get; set; } - /// - /// 模块名称 - /// - public string ModuleName { get; set; } = string.Empty; + public bool IsNotNeedPMConfirm { get; set; } - /// - /// 是否加急 - /// - public bool? IsUrgent { get; set; } + public bool IsPMConfirm { get; set; } - public Guid SubjectVisitId { get; set; } + [Comment(" 是否加急")] + public bool? IsUrgent { get; set; } + public Guid? LastVisitIdSetId { get; set; } - /// - /// 阅片计划ID - /// - public Guid? ReadingPeriodSetId { get; set; } + [Comment(" 模块名称")] + public string ModuleName { get; set; } = null!; - public Guid TrialId { get; set; } + [Comment(" 模块类型")] + public ModuleTypeEnum ModuleType { get; set; } + public Guid? ReadingPeriodSetId { get; set; } - public bool IsCRCConfirm { get; set; } = false; + public ReadingSetType ReadingSetType { get; set; } - public bool IsPMConfirm { get; set; } = false; + public ReadingStatusEnum ReadingStatus { get; set; } = ReadingStatusEnum.TaskAllocate; - public bool IsNotNeedPMConfirm { get; set; } = false; + public Guid? ReadModuleId { get; set; } - /// - /// CRC是否正在申请撤回 - /// - public bool IsCRCApplicationRevoke { get; set; } = false; - + [Comment(" 状态")] + public int Status { get; set; } - /// - /// 临床数据是否完整 - /// - public bool? IsClinicalDataComplete { get; set; } - - /// - /// 临床数据是否盲化 - /// - public bool? IsClinicalDataBlind { get; set; } - - /// - /// 阅片配置的类型 - /// - public ReadingSetType ReadingSetType { get; set; } - - public ReadingStatusEnum ReadingStatus { get; set; } = ReadingStatusEnum.TaskAllocate; - } + [Comment(" 受试者ID")] + public Guid SubjectId { get; set; } + [Comment(" 访视ID")] + public Guid SubjectVisitId { get; set; } + public Guid TrialId { get; set; } + public Guid TrialReadingCriterionId { get; set; } } diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodPlan.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodPlan.cs index 1f4b6f172..08d105128 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodPlan.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodPlan.cs @@ -4,46 +4,38 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目 - 阅片期计划")] +[Table("ReadingPeriodPlan")] +public class ReadingPeriodPlan : BaseFullDeleteAuditEntity { - /// - /// 阅片计划 - /// - [Table("ReadingPeriodPlan")] - public class ReadingPeriodPlan : BaseFullDeleteAuditEntity - { - #region 导航属性 - // - /// 访视 - /// - [ForeignKey("SubjectVisitId")] - [JsonIgnore] - public SubjectVisit SubjectVisit { get; set; } + #region 导航属性 + // + /// 访视 + /// + [ForeignKey("SubjectVisitId")] + [JsonIgnore] + public SubjectVisit SubjectVisit { get; set; } - /// - /// 阅片期配置 - /// - [ForeignKey("ReadingPeriodSetId")] - [JsonIgnore] - public ReadingPeriodSet ReadingPeriodSet { get; set; } - #endregion - /// - /// 阅片期配置ID - /// - public Guid ReadingPeriodSetId { get; set; } + /// + /// 阅片期配置 + /// + [ForeignKey("ReadingPeriodSetId")] + [JsonIgnore] + public ReadingPeriodSet ReadingPeriodSet { get; set; } + #endregion - /// - /// 访视 - /// - public Guid SubjectVisitId { get; set; } + [Comment(" 阅片期配置ID")] + public Guid ReadingPeriodSetId { get; set; } - + [Comment(" 访视Id")] + public Guid SubjectVisitId { get; set; } - } - } diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSet.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSet.cs index f4d2ca6b1..458f14991 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSet.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSet.cs @@ -5,15 +5,14 @@ using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models { - /// - ///阅片期设置 只会设计到所有人 或者某个Site 针对全局 - /// - [Table("ReadingPeriodSet")] - public class ReadingPeriodSet : BaseFullDeleteAuditEntity - { + [Comment("项目 - 阅片期配置")] + [Table("ReadingPeriodSet")] + public class ReadingPeriodSet : BaseFullDeleteAuditEntity + { #region 导航属性 [JsonIgnore] public List ReadingPeriodSites { get; set; } = new List(); @@ -31,61 +30,35 @@ namespace IRaCIS.Core.Domain.Models public List ReadingPeriodPlanList { get; set; } = new List(); #endregion + [Comment("生效时间")] + public DateTime? EffectOfTime { get; set; } + [Comment("")] + public DateTime? ExpirationDate { get; set; } + [Comment("截止访视")] + [DecimalPrecision(18, 0)] + public decimal? ExpirationVisitNum { get; set; } + + public bool IsGlobal { get; set; } + + public ReadingPeriodStatus IsTakeEffect { get; set; } + + [StringLength(400)] + public string ReadingPeriodName { get; set; } = null!; + [Comment("阅片范围")] + public ReadingScopeEnum ReadingScope { get; set; } + [Comment("阅片配置的类型")] + public ReadingSetType ReadingSetType { get; set; } + + public Guid? SiteId { get; set; } + public Guid TrialId { get; set; } - public Guid TrialReadingCriterionId { get; set; } + public Guid TrialReadingCriterionId { get; set; } - /// - /// 阅片期名称 - /// - public string ReadingPeriodName { get; set; } = string.Empty; - - /// - /// 阅片范围 - /// - public ReadingScopeEnum ReadingScope { get; set; } - - /// - /// 截止日期 - /// - public DateTime? ExpirationDate { get; set; } - - /// - /// 截止访视 - /// - public decimal? ExpirationVisitNum { get; set; } - - /// - /// 访视计划ID - /// - public Guid? VisitStageId { get; set; } - - - - /// - /// 是否生效 - /// - public ReadingPeriodStatus IsTakeEffect { get; set; } - - /// - /// 生效时间 - /// - public DateTime? EffectOfTime { get; set; } - - - /// - /// 是否为全局阅片 - /// - public bool IsGlobal { get; set; } - - /// - /// 阅片配置的类型 - /// - public ReadingSetType ReadingSetType { get; set; } - - + public Guid? VisitStageId { get; set; } - } + + } } diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSite.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSite.cs index cec49bf5a..5437836df 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSite.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriod/ReadingPeriodSite.cs @@ -4,38 +4,28 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("阅片期和中心关联")] +[Table("ReadingPeriodSite")] +public class ReadingPeriodSite : BaseAddAuditEntity { - /// - /// 阅片期和中心关联 - /// - [Table("ReadingPeriodSite")] - public class ReadingPeriodSite : BaseAddAuditEntity - { - #region 导航属性 - [JsonIgnore] - public TrialSite TrialSite { get; set; } + #region 导航属性 + [JsonIgnore] + public TrialSite TrialSite { get; set; } - [JsonIgnore] - public ReadingPeriodSet ReadingPeriodSet { get; set; } - #endregion - /// - ///阅片期配置ID - /// - - public Guid ReadingPeriodSetId { get; set; } - - public Guid TrialId { get; set; } - - public Guid TrialSiteId { get; set; } - - - - } + [JsonIgnore] + public ReadingPeriodSet ReadingPeriodSet { get; set; } + #endregion + [Comment(" 阅片期配置ID")] + public Guid ReadingPeriodSetId { get; set; } + public Guid TrialId { get; set; } + public Guid TrialSiteId { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/ShortcutKey/DefaultShortcutKey.cs b/IRaCIS.Core.Domain/Reading/ShortcutKey/DefaultShortcutKey.cs index 642c03d1f..efd69ed36 100644 --- a/IRaCIS.Core.Domain/Reading/ShortcutKey/DefaultShortcutKey.cs +++ b/IRaCIS.Core.Domain/Reading/ShortcutKey/DefaultShortcutKey.cs @@ -7,48 +7,38 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("用户配置 - 快捷键")] +[Table("ShortcutKey")] +public class ShortcutKey : BaseAddAuditEntity { - /// - ///ShortcutKey - /// - [Table("ShortcutKey")] - public class ShortcutKey : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - #endregion - /// - /// 对应的键盘按键 - /// - public string Keyboardkey { get; set; } = string.Empty; - - /// - /// 按键枚举 - /// - public int ShortcutKeyEnum { get; set; } - - /// - /// 影像工具类型 - /// - public int ImageToolType { get; set; } - + #endregion + public bool AltKey { get; set; } - public Guid UserId { get; set; } + public string Code { get; set; } = null!; - public bool AltKey { get; set; } = false; + public bool CtrlKey { get; set; } - public bool CtrlKey { get; set; } = false; + [Comment("影像工具类型")] + public int ImageToolType { get; set; } - public bool ShiftKey { get; set; } = false; + public string Keyboardkey { get; set; } = null!; - public bool MetaKey { get; set; } = false; + public bool MetaKey { get; set; } - public string Text { get; set; } = string.Empty; + public bool ShiftKey { get; set; } + [Comment("按键枚举")] + public int ShortcutKeyEnum { get; set; } + + public string Text { get; set; } = null!; + + public Guid UserId { get; set; } + +} - public string Code { get; set; } = string.Empty; - } - -} diff --git a/IRaCIS.Core.Domain/Trial/Enroll.cs b/IRaCIS.Core.Domain/Trial/Enroll.cs index e7dd58bb9..a7ccc86e1 100644 --- a/IRaCIS.Core.Domain/Trial/Enroll.cs +++ b/IRaCIS.Core.Domain/Trial/Enroll.cs @@ -1,70 +1,93 @@ -using IRaCIS.Core.Domain.Share; +using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("医生 - 入组项目中间记录表")] +[Table("Enroll")] +public partial class Enroll : BaseFullAuditEntity { - [Table("Enroll")] - public partial class Enroll : BaseFullAuditEntity - { - #region - [JsonIgnore] - [ForeignKey("TrialId")] - public virtual Trial Trial { get; set; } - [JsonIgnore] - public virtual Doctor Doctor { get; set; } - [JsonIgnore] - public User DoctorUser { get; set; } + #region 导航属性 + [JsonIgnore] + [ForeignKey("TrialId")] + public virtual Trial Trial { get; set; } + [JsonIgnore] + public virtual Doctor Doctor { get; set; } + [JsonIgnore] + public User DoctorUser { get; set; } - [JsonIgnore] - public List EnrollReadingCategoryList { get; set; } + [JsonIgnore] + public List EnrollReadingCategoryList { get; set; } - [JsonIgnore] - public List EnrollReadingCriteriaList { get; set; } - #endregion + [JsonIgnore] + public List EnrollReadingCriteriaList { get; set; } + #endregion - public Guid DoctorId { get; set; } - public Guid TrialId { get; set; } - public Guid AttachmentId { get; set; } = Guid.Empty; - public EnrollStatus EnrollStatus { get; set; } + [Comment(" 裁定")] + public int? Adjudication { get; set; } - public decimal? AdjustmentMultiple { get; set; } - public DateTime? EnrollTime { get; set; } - public DateTime? OutEnrollTime { get; set; } + [Comment(" 裁定24小时")] + public int? Adjudication24H { get; set; } - public string Memo { get; set; } = string.Empty; + [Comment(" 裁定48小时")] + public int? Adjudication48H { get; set; } - public int ReviewerReadingType { get; set; } = 0; - - public int? Training { get; set; } + [Comment(" 价格")] + [DecimalPrecision(18, 2)] + public decimal? AdjustmentMultiple { get; set; } - public int? RefresherTraining { get; set; } + public Guid? AttachmentId { get; set; } - public int? Timepoint { get; set; } + public Guid DoctorId { get; set; } - public int? Timepoint48H { get; set; } + public int DoctorTrialState { get; set; } - public int? Timepoint24H { get; set; } + [Comment(" 生成账号 加入到项目中后 赋值")] + public Guid? DoctorUserId { get; set; } - public int? Adjudication { get; set; } + [Comment(" 空跑")] + public int? Downtime { get; set; } - public int? Adjudication48H { get; set; } + [Comment(" 入组状态")] + public EnrollStatus EnrollStatus { get; set; } - public int? Adjudication24H { get; set; } + [Comment(" 入组时间")] + public DateTime? EnrollTime { get; set; } - public int? Global { get; set; } + [Comment(" 总体")] + public int? Global { get; set; } - public int? Downtime { get; set; } + [StringLength(500)] + public string Memo { get; set; } = null!; + + [Comment(" 出组时间")] + public DateTime? OutEnrollTime { get; set; } + + [Comment(" 重新培训")] + public int? RefresherTraining { get; set; } + + [Comment(" 0代表裁判和TP都可以 1代表Tp 2 代表裁判")] + public int ReviewerReadingType { get; set; } + + [Comment(" 时间点")] + public int? Timepoint { get; set; } + + [Comment(" 时间点24小时")] + public int? Timepoint24H { get; set; } + + [Comment(" 时间点48小时")] + public int? Timepoint48H { get; set; } + + [Comment(" 培训")] + public int? Training { get; set; } + + public Guid TrialId { get; set; } - /// - /// ˺ 뵽Ŀк ֵ - /// - public Guid? DoctorUserId { get; set; } - - - } } diff --git a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs index 84bd02145..4880edb8d 100644 --- a/IRaCIS.Core.Domain/Trial/EnrollDetail.cs +++ b/IRaCIS.Core.Domain/Trial/EnrollDetail.cs @@ -1,30 +1,37 @@ using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using System; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("ҽ - Ŀ̼¼")] +[Table("EnrollDetail")] +public partial class EnrollDetail : BaseAddAuditEntity { - [Table("EnrollDetail")] - public partial class EnrollDetail : BaseAddAuditEntity - { - #region - [JsonIgnore] - public virtual TrialStatusDetail TrialDetail { get; set; } - [JsonIgnore] - public Doctor Doctor { get; set; } - #endregion + #region + [JsonIgnore] + public virtual TrialStatusDetail TrialDetail { get; set; } + [JsonIgnore] + public Doctor Doctor { get; set; } + #endregion - public Guid DoctorId { get; set; } - public Guid TrialId { get; set; } - public EnrollStatus EnrollStatus { get; set; } - public Guid? EnrollId { get; set; } - public string Memo { get; set; } = string.Empty; - public int OptUserType { get; set; } + public Guid DoctorId { get; set; } + + public Guid? EnrollId { get; set; } + + public EnrollStatus EnrollStatus { get; set; } + + [StringLength(1024)] + public string Memo { get; set; } = null!; + + public int OptUserType { get; set; } + + public Guid TrialDetailId { get; set; } + + public Guid TrialId { get; set; } - public Guid TrialDetailId { get; set; } - - - } } diff --git a/IRaCIS.Core.Domain/Trial/EnrollReadingCategory.cs b/IRaCIS.Core.Domain/Trial/EnrollReadingCategory.cs index 036ed8d39..c95124b32 100644 --- a/IRaCIS.Core.Domain/Trial/EnrollReadingCategory.cs +++ b/IRaCIS.Core.Domain/Trial/EnrollReadingCategory.cs @@ -7,30 +7,27 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace IRaCIS.Core.Domain.Models +using Microsoft.EntityFrameworkCore; +namespace IRaCIS.Core.Domain.Models; + +[Comment("医生 - 项目阅片标准阅片类型配置表")] +[Table("EnrollReadingCategory")] +public class EnrollReadingCategory : BaseAddAuditEntity { - /// - ///EnrollReadingCategory - /// - [Table("EnrollReadingCategory")] - public class EnrollReadingCategory : BaseAddAuditEntity - { - #region 导航属性 + #region 导航属性 - [JsonIgnore] - [ForeignKey("EnrollId")] - public Enroll Enroll { get; set; } - #endregion - public Guid EnrollId { get; set; } + [JsonIgnore] + [ForeignKey("EnrollId")] + public Enroll Enroll { get; set; } + #endregion + public Guid EnrollId { get; set; } - public ReadingCategory ReadingCategory { get; set; } + public ReadingCategory ReadingCategory { get; set; } - public Guid TrialReadingCriterionId { get; set; } + public Guid TrialReadingCriterionId { get; set; } - } - } diff --git a/IRaCIS.Core.Domain/Visit/Subject.cs b/IRaCIS.Core.Domain/Visit/Subject.cs index a0b5daf26..f5a1ca040 100644 --- a/IRaCIS.Core.Domain/Visit/Subject.cs +++ b/IRaCIS.Core.Domain/Visit/Subject.cs @@ -1,121 +1,133 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using IRaCIS.Core.Domain.Share; +using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; -namespace IRaCIS.Core.Domain.Models +namespace IRaCIS.Core.Domain.Models; + +[Comment("项目 - 受试者")] +[Table("Subject")] +public class Subject : BaseFullDeleteAuditEntity { - /// - /// 受试者 - /// - [Table("Subject")] - public class Subject : BaseFullDeleteAuditEntity - { - #region 导航属性 - [JsonIgnore] - public List TaskStudyList { get; set; } = new List(); + #region 导航属性 + [JsonIgnore] + public List TaskStudyList { get; set; } = new List(); - [JsonIgnore] - public List SubjectVisitList { get; set; } = new List(); - [JsonIgnore] - public List SubjectDoctorList { get; set; } = new List(); - [JsonIgnore] - public List SubjectVisitTaskList { get; set; } = new List(); - [JsonIgnore] - public List ReadModuleList { get; set; } - [JsonIgnore] - public List SubjectCanceDoctorList { get; set; } + [JsonIgnore] + public List SubjectVisitList { get; set; } = new List(); + [JsonIgnore] + public List SubjectDoctorList { get; set; } = new List(); + [JsonIgnore] + public List SubjectVisitTaskList { get; set; } = new List(); + [JsonIgnore] + public List ReadModuleList { get; set; } + [JsonIgnore] + public List SubjectCanceDoctorList { get; set; } - [JsonIgnore] - public List ClinicalDataList { get; set; } + [JsonIgnore] + public List ClinicalDataList { get; set; } - [JsonIgnore] - public List SubjectCriteriaEvaluationList { get; set; } + [JsonIgnore] + public List SubjectCriteriaEvaluationList { get; set; } - [JsonIgnore] - public List SubjectCriteriaEvaluationVisitFilterList { get; set; } + [JsonIgnore] + public List SubjectCriteriaEvaluationVisitFilterList { get; set; } - [JsonIgnore] + [JsonIgnore] - public List SubjectAdditionalEvaluationResult { get; set; } + public List SubjectAdditionalEvaluationResult { get; set; } - [JsonIgnore] - public List ReadingTaskQuestionAnswerList { get; set; } + [JsonIgnore] + public List ReadingTaskQuestionAnswerList { get; set; } - [JsonIgnore] - [ForeignKey("FinalSubjectVisitId")] - public SubjectVisit FinalSubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("TrialId")] - public Trial Trial { get; set; } + [JsonIgnore] + [ForeignKey("FinalSubjectVisitId")] + public SubjectVisit FinalSubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("TrialId")] + public Trial Trial { get; set; } - [JsonIgnore] - public TrialSite TrialSite { get; set; } - [JsonIgnore] - public List StudyList { get; set; } = new List(); - [JsonIgnore] - [ForeignKey("LatestSubjectVisitId")] - public SubjectVisit LatestSubjectVisit { get; set; } - [JsonIgnore] - public List ClinicalFormList { get; set; } - #endregion + [JsonIgnore] + public TrialSite TrialSite { get; set; } + [JsonIgnore] + public List StudyList { get; set; } = new List(); + [JsonIgnore] + [ForeignKey("LatestSubjectVisitId")] + public SubjectVisit LatestSubjectVisit { get; set; } + [JsonIgnore] + public List ClinicalFormList { get; set; } + #endregion - public Guid? FinalSubjectVisitId { get; set; } + public int? Age { get; set; } + + public DateTime? BirthDate { get; set; } + + [StringLength(400)] + public string Code { get; set; } = null!; + + public Guid? FinalSubjectVisitId { get; set; } + + public DateTime? FirstGiveMedicineTime { get; set; } + + [StringLength(400)] + public string FirstName { get; set; } = null!; + + public string Height { get; set; } = null!; + + public bool IsEnrollment { get; set; } + + public bool IsEnrollmentConfirm { get; set; } + + public bool IsMissingImages { get; set; } + + public bool IsReReadingOrBackInfluenceAnalysis { get; set; } + + public bool IsUrgent { get; set; } + + [StringLength(400)] + public string LastName { get; set; } = null!; + + [Comment(" 最新受试者访视")] + public Guid? LatestSubjectVisitId { get; set; } + + [StringLength(400)] + public string MedicalNo { get; set; } = null!; - public Guid TrialSiteId { get; set; } + public DateTime? OutEnrollmentTime { get; set; } - public string Code { get; set; } = string.Empty; - public string FirstName { get; set; } = string.Empty; - public string LastName { get; set; } = string.Empty; - public int? Age { get; set; } - public string Sex { get; set; } = string.Empty; + [Comment(" 出组原因")] + + [MaxLength] + public string? Reason { get; set; } + + [StringLength(400)] + public string Sex { get; set; } = null!; + + [Comment(" 受试者名称缩写")] + public string ShortName { get; set; } = null!; + + [Comment(" 知情同意书签署日期")] + public DateTime? SignDate { get; set; } + + public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit; - - public Guid? LatestSubjectVisitId { get; set; } + public Guid TrialId { get; set; } + + public Guid TrialSiteId { get; set; } + + public DateTime? VisitOverTime { get; set; } + + [StringLength(400)] + public string Weight { get; set; } = null!; - public Guid TrialId { get; set; } = Guid.Empty; - public string MedicalNo { get; set; } = string.Empty; - - public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit;//1 访视中,2 出组 3 访视结束 - public string Reason { get; set; } = string.Empty; - public bool IsEnrollment { get; set; } - - - public DateTime? OutEnrollmentTime { get; set; } - - public DateTime? VisitOverTime { get; set; } - - - public string ShortName { get; set; } = String.Empty; - - public string Height { get; set; } = String.Empty; - - public string Weight { get; set; } = String.Empty; - - public DateTime? BirthDate { get; set; } - public DateTime? SignDate { get; set; } - - public int StudyCount { get; set; } = 0; - public string Modalities { get; set; } = string.Empty; - - public DateTime? FirstGiveMedicineTime { get; set; } - - public bool IsUrgent { get; set; } - - - - - public bool IsReReadingOrBackInfluenceAnalysis { get; set; } - - - - } }