清理后端下载
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-20 11:47:02 +08:00
parent 97b28fd920
commit b90f5f2d85
15 changed files with 255 additions and 360 deletions

View File

@ -1492,16 +1492,6 @@
<param name="inQuery"></param> <param name="inQuery"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.RequestPackageAndAnonymizImage(System.Guid,System.Guid,System.Boolean,System.Boolean)">
<summary>
打包和匿名化影像 默认是匿名化打包,也可以不匿名化打包
</summary>
<param name="trialId"></param>
<param name="subjectVisitId"></param>
<param name="isDicom"></param>
<param name="isAnonymize"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubejectOrVisitZipInfo(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Application.Contracts.SubejctZipInfoQuery)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubejectOrVisitZipInfo(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject},IRaCIS.Core.Application.Contracts.SubejctZipInfoQuery)">
<summary> <summary>
受试者级别所有的影像 受试者级别所有的影像

View File

@ -18,7 +18,6 @@
public string CriterionModalitys { get; set; } public string CriterionModalitys { get; set; }
public Guid? SourceSubjectVisitId { get; set; } public Guid? SourceSubjectVisitId { get; set; }
public PackState PackState { get; set; }
public List<StudyBasicInfo> OrginalStudyList { get; set; } public List<StudyBasicInfo> OrginalStudyList { get; set; }

View File

@ -131,7 +131,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
TaskName = u.TaskName, TaskName = u.TaskName,
SourceSubjectVisitId = u.SourceSubjectVisitId, SourceSubjectVisitId = u.SourceSubjectVisitId,
PackState = u.SourceSubjectVisit.PackState,
OrginalStudyList = u.SourceSubjectVisit.StudyList OrginalStudyList = u.SourceSubjectVisit.StudyList
.Where(t => u.TrialReadingCriterion.IsImageFilter ? ("|" + u.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) .Where(t => u.TrialReadingCriterion.IsImageFilter ? ("|" + u.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
@ -1011,59 +1010,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
#region 之前后端下载废弃 #region 之前后端下载废弃
/// <summary>
/// 打包和匿名化影像 默认是匿名化打包,也可以不匿名化打包
/// </summary>
/// <param name="trialId"></param>
/// <param name="subjectVisitId"></param>
/// <param name="isDicom"></param>
/// <param name="isAnonymize"></param>
/// <returns></returns>
[Obsolete]
public async Task<IResponseOutput> RequestPackageAndAnonymizImage(Guid trialId, Guid subjectVisitId, bool isDicom, bool isAnonymize = true)
{
var extralConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => t.TrialExtraConfigJsonStr).FirstOrDefault() ?? string.Empty;
var config = JsonConvert.DeserializeObject<TrialExtraConfig>(extralConfig) ?? new TrialExtraConfig();
if (config.IsSupportQCDownloadImage == false)
{
throw new BusinessValidationFailedException("该项目不支持QC下载影像");
}
var subjectVisit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId);
var sujectCode = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.Subject.Code).FirstOrDefaultAsync();
var packState = isDicom ? subjectVisit.PackState : subjectVisit.NoDicomPackState;
if (packState == PackState.WaitPack)
{
if (isDicom)
{
subjectVisit.PackState = PackState.Packing;
HangfireJobHelper.NotImmediatelyOnceOnlyJob<IDownloadAndUploadService>(t => t.PackageAndAnonymizImage(trialId, subjectVisitId, true, isAnonymize), TimeSpan.FromSeconds(1));
}
else
{
subjectVisit.NoDicomPackState = PackState.Packing;
HangfireJobHelper.NotImmediatelyOnceOnlyJob<IDownloadAndUploadService>(t => t.PackageAndAnonymizImage(trialId, subjectVisitId, false, isAnonymize), TimeSpan.FromSeconds(1));
}
await _subjectVisitRepository.SaveChangesAsync();
}
return ResponseOutput.Ok(isDicom ? subjectVisit.VisitImageZipPath : subjectVisit.VisitNoDicomImageZipPath,
new { FileName = $"{sujectCode}_{subjectVisit.VisitName}_ImageStudy_{(isDicom ? "Dicom" : "NoneDicom")}.zip" });
}
@ -1371,7 +1318,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//上传到Oss //上传到Oss
var relativeDicomPath = await _oSSService.UploadToOSSAsync(zipDicomPath, $"download_zip", false); var relativeDicomPath = await _oSSService.UploadToOSSAsync(zipDicomPath, $"download_zip", false);
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitImageZipPath = relativeDicomPath }); //await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitImageZipPath = relativeDicomPath });
File.Delete(zipDicomPath); File.Delete(zipDicomPath);
@ -1410,7 +1357,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
File.Delete(zipNoneDicomPath); File.Delete(zipNoneDicomPath);
} }
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitNoDicomImageZipPath = relativeNoneDicomPath }); //await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.Packed, VisitNoDicomImageZipPath = relativeNoneDicomPath });
} }
@ -1422,7 +1369,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
} }
catch (Exception ex) catch (Exception ex)
{ {
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.WaitPack }); //await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { PackState = PackState.WaitPack });
} }

View File

@ -5,7 +5,7 @@
{ {
public string YearMonth { get; set; } = string.Empty; public string YearMonth { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Rate { get; set; } public decimal Rate { get; set; }
} }

View File

@ -9,20 +9,20 @@ namespace IRaCIS.Core.Domain.Models
public bool IsLock { get; set; } public bool IsLock { get; set; }
public DateTime YearMonthDate { get; set; } public DateTime YearMonthDate { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal PaymentUSD { get; set; } public decimal PaymentUSD { get; set; }
[Column(TypeName = "decimal(18,4)")] [DecimalPrecision(18, 4)]
public decimal PaymentCNY { get; set; } public decimal PaymentCNY { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal ExchangeRate { get; set; } public decimal ExchangeRate { get; set; }
[Column(TypeName = "decimal(18,4)")] [DecimalPrecision(18, 4)]
public decimal AdjustmentCNY { get; set; } public decimal AdjustmentCNY { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjustmentUSD { get; set; } public decimal AdjustmentUSD { get; set; }
public DateTime CalculateTime { get; set; } = DateTime.Now; public DateTime CalculateTime { get; set; } = DateTime.Now;

View File

@ -8,16 +8,16 @@ namespace IRaCIS.Core.Domain.Models
public DateTime YearMonthDate { get; set; } public DateTime YearMonthDate { get; set; }
public string YearMonth { get; set; } = string.Empty; public string YearMonth { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjustmentUSD { get; set; } public decimal AdjustmentUSD { get; set; }
[Column(TypeName = "decimal(18,4)")] [DecimalPrecision(18, 4)]
public decimal AdjustmentCNY { get; set; } public decimal AdjustmentCNY { get; set; }
public Guid TrialId { get; set; } = Guid.Empty; public Guid TrialId { get; set; } = Guid.Empty;
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal ExchangeRate { get; set; } public decimal ExchangeRate { get; set; }
public bool IsLock { get; set; } = false; public bool IsLock { get; set; } = false;
public string Note { get; set; } = string.Empty; public string Note { get; set; } = string.Empty;

View File

@ -15,22 +15,22 @@ namespace IRaCIS.Core.Domain.Models
public string PaymentType { get; set; } = string.Empty; public string PaymentType { get; set; } = string.Empty;
public int Count { get; set; } public int Count { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal BasePrice { get; set; } public decimal BasePrice { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal PersonalAdditional { get; set; } public decimal PersonalAdditional { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TrialAdditional { get; set; } public decimal TrialAdditional { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal ExchangeRate { get; set; } public decimal ExchangeRate { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal PaymentUSD { get; set; } public decimal PaymentUSD { get; set; }
[Column(TypeName = "decimal(18,4)")] [DecimalPrecision(18, 4)]
public decimal PaymentCNY { get; set; } public decimal PaymentCNY { get; set; }
public int ShowTypeOrder { get; set; } public int ShowTypeOrder { get; set; }

View File

@ -6,34 +6,34 @@ namespace IRaCIS.Core.Domain.Models
[StringLength(200)] [StringLength(200)]
public string RankName { get; set; } = string.Empty; public string RankName { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Timepoint { get; set; } public decimal Timepoint { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TimepointIn24H { get; set; } public decimal TimepointIn24H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TimepointIn48H { get; set; } public decimal TimepointIn48H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Adjudication { get; set; } public decimal Adjudication { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjudicationIn24H { get; set; } public decimal AdjudicationIn24H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjudicationIn48H { get; set; } public decimal AdjudicationIn48H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Global { get; set; } public decimal Global { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Training { get; set; } public decimal Training { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Downtime { get; set; } public decimal Downtime { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal RefresherTraining { get; set; } public decimal RefresherTraining { get; set; }
public int ShowOrder { get; set; } public int ShowOrder { get; set; }
} }

View File

@ -7,13 +7,13 @@ namespace IRaCIS.Core.Domain.Models
public Trial Trial { get; set; } public Trial Trial { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TrialAdditional { get; set; } = 0; public decimal TrialAdditional { get; set; } = 0;
public string SowName { get; set; } = string.Empty; public string SowName { get; set; } = string.Empty;
public string SowPath { get; set; } = string.Empty; public string SowPath { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjustmentMultiple { get; set; } = 1; public decimal AdjustmentMultiple { get; set; } = 1;
/// <summary> /// <summary>

View File

@ -5,34 +5,34 @@
{ {
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Timepoint { get; set; } public decimal Timepoint { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TimepointIn24H { get; set; } public decimal TimepointIn24H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal TimepointIn48H { get; set; } public decimal TimepointIn48H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Adjudication { get; set; } public decimal Adjudication { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjudicationIn24H { get; set; } public decimal AdjudicationIn24H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal AdjudicationIn48H { get; set; } public decimal AdjudicationIn48H { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Global { get; set; } public decimal Global { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Training { get; set; } public decimal Training { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Downtime { get; set; } public decimal Downtime { get; set; }
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal RefresherTraining { get; set; } public decimal RefresherTraining { get; set; }
} }

View File

@ -3,7 +3,7 @@ namespace IRaCIS.Core.Domain.Models
[Table("VolumeReward")] [Table("VolumeReward")]
public partial class VolumeReward : BaseFullAuditEntity public partial class VolumeReward : BaseFullAuditEntity
{ {
[Column(TypeName = "decimal(18,2)")] [DecimalPrecision(18, 2)]
public decimal Price { get; set; } public decimal Price { get; set; }
public int Min { get; set; } public int Min { get; set; }
public int Max { get; set; } public int Max { get; set; }

View File

@ -1,12 +1,14 @@
using EntityFrameworkCore.Projectables; using EntityFrameworkCore.Projectables;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models namespace IRaCIS.Core.Domain.Models;
{
[Comment("后台 - 系统账户")]
[Table("User")] [Table("User")]
public partial class User : BaseFullAuditEntity public class User : BaseFullAuditEntity
{ {
#region µ¼º½ÊôÐÔ #region µ¼º½ÊôÐÔ
[ForeignKey("UserTypeId")] [ForeignKey("UserTypeId")]
public UserType UserTypeRole { get; set; } public UserType UserTypeRole { get; set; }
@ -19,77 +21,71 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore] [JsonIgnore]
public List<VisitTask> VisitTaskList { get; set; } public List<VisitTask> VisitTaskList { get; set; }
#endregion
[StringLength(255)]
public string UserName { get; set; } = String.Empty;
[StringLength(255)]
public string Password { get; set; } = String.Empty;
[StringLength(255)]
public string LastName { get; set; } = String.Empty;
public string FirstName { get; set; } = String.Empty;
public string Phone { get; set; } = string.Empty;
public string EMail { get; set; } = string.Empty;
public int? Sex { get; set; }
public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
public DateTime? LastLoginTime { get; set; }
public Guid UserTypeId { get; set; } = Guid.Empty;
// 内部用户 外部用户
public bool IsZhiZhun { get; set; }
public UserTypeEnum UserTypeEnum { get; set; }
public string OrganizationName { get; set; } = String.Empty;
public bool PasswordChanged { get; set; }
public string UserCode { get; set; } = string.Empty;
public int Code { get; set; }
public string DepartmentName { get; set; } = String.Empty;
public string PositionName { get; set; } = String.Empty;
public bool IsFirstAdd { get; set; } = true;
public string EmailToken { get; set; } = string.Empty;
/// <summary>
/// 上一次修改密码的时间
/// </summary>
public DateTime? LastChangePassWordTime { get; set; }
/// <summary>
/// LastLoginIP
/// </summary>
public string LastLoginIP { get; set; } = string.Empty;
//医生生成账号后,会有值
public Guid? DoctorId { get; set; }
public bool IsTestUser { get; set; }
/// <summary>
/// 自动切换下一个任务
/// </summary>
public bool AutoCutNextTask { get; set; } = false;
[Projectable] [Projectable]
public string FullName => LastName + " / " + FirstName; public string FullName => LastName + " / " + FirstName;
//[Projectable] public string FullName => $"{LastName} / {FirstName}"; #endregion
}
[Comment(" 自动切换下一个任务")]
public bool AutoCutNextTask { get; set; }
public int Code { get; set; }
[StringLength(400)]
public string DepartmentName { get; set; } = null!;
[Comment(" 医生生成账号后,会有值")]
public Guid? DoctorId { get; set; }
public string EMail { get; set; } = null!;
[StringLength(1020)]
public string EmailToken { get; set; } = null!;
public string FirstName { get; set; } = null!;
[Comment(" 首次登录需要修改密码")]
public bool IsFirstAdd { get; set; }
public bool IsTestUser { get; set; }
[Comment(" 内部用户 外部用户")]
public bool IsZhiZhun { get; set; }
[Comment(" 上一次修改密码的时间")]
public DateTime? LastChangePassWordTime { get; set; }
public string LastLoginIP { get; set; } = null!;
public DateTime? LastLoginTime { get; set; }
[StringLength(510)]
public string LastName { get; set; } = null!;
public string OrganizationName { get; set; } = null!;
public string Password { get; set; } = null!;
public bool PasswordChanged { get; set; }
[StringLength(400)]
public string Phone { get; set; } = null!;
[StringLength(400)]
public string PositionName { get; set; } = null!;
public int? Sex { get; set; }
public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
public bool SuperAdmin { get; set; }
[StringLength(400)]
public string UserCode { get; set; } = null!;
public string UserName { get; set; } = null!;
public UserTypeEnum UserTypeEnum { get; set; }
public Guid UserTypeId { get; set; }
} }

View File

@ -2,9 +2,7 @@
namespace IRaCIS.Core.Domain.Models; namespace IRaCIS.Core.Domain.Models;
/// <summary> [Comment("项目 - 受试者")]
/// 受试者
/// </summary>
[Table("Subject")] [Table("Subject")]
public class Subject : BaseFullDeleteAuditEntity public class Subject : BaseFullDeleteAuditEntity
{ {
@ -60,9 +58,8 @@ public class Subject : BaseFullDeleteAuditEntity
public List<ClinicalForm> ClinicalFormList { get; set; } public List<ClinicalForm> ClinicalFormList { get; set; }
#endregion #endregion
public Guid? FinalSubjectVisitId { get; set; }
public Guid TrialId { get; set; }
public Guid TrialSiteId { get; set; } public Guid TrialSiteId { get; set; }
public string Code { get; set; } = string.Empty; public string Code { get; set; } = string.Empty;
@ -71,25 +68,20 @@ public class Subject : BaseFullDeleteAuditEntity
public int? Age { get; set; } public int? Age { get; set; }
public string Sex { get; set; } = string.Empty; public string Sex { get; set; } = string.Empty;
public Guid? LatestSubjectVisitId { get; set; } public Guid? LatestSubjectVisitId { get; set; }
public Guid? FinalSubjectVisitId { get; set; }
public Guid TrialId { get; set; } = Guid.Empty;
public string MedicalNo { get; set; } = string.Empty; public string MedicalNo { get; set; } = string.Empty;
public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit;//1 访视中2 出组 3 访视结束 public SubjectStatus Status { get; set; } = SubjectStatus.OnVisit;//1 访视中2 出组 3 访视结束
public string Reason { get; set; } = string.Empty; public string Reason { get; set; } = string.Empty;
public bool IsEnrollment { get; set; } public bool IsEnrollment { get; set; }
public DateTime? OutEnrollmentTime { get; set; } public DateTime? OutEnrollmentTime { get; set; }
public DateTime? VisitOverTime { get; set; } public DateTime? VisitOverTime { get; set; }
public string ShortName { get; set; } = String.Empty; public string ShortName { get; set; } = String.Empty;
public string Height { get; set; } = String.Empty; public string Height { get; set; } = String.Empty;
@ -97,15 +89,15 @@ public class Subject : BaseFullDeleteAuditEntity
public string Weight { get; set; } = String.Empty; public string Weight { get; set; } = String.Empty;
public DateTime? BirthDate { get; set; } public DateTime? BirthDate { get; set; }
[Comment("知情同意书签署日期")]
public DateTime? SignDate { get; set; } public DateTime? SignDate { get; set; }
public DateTime? FirstGiveMedicineTime { get; set; } public DateTime? FirstGiveMedicineTime { get; set; }
public bool IsUrgent { get; set; } public bool IsUrgent { get; set; }
[Comment("重阅或者退回影响一致性分析")]
public bool IsReReadingOrBackInfluenceAnalysis { get; set; } public bool IsReReadingOrBackInfluenceAnalysis { get; set; }

View File

@ -1,13 +1,12 @@
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models namespace IRaCIS.Core.Domain.Models;
{
[Comment("受试者访视")]
[Table("SubjectVisit")] [Table("SubjectVisit")]
public class SubjectVisit : BaseFullDeleteAuditEntity public class SubjectVisit : BaseFullDeleteAuditEntity
{ {
#region 导航属性 #region 导航属性
[JsonIgnore] [JsonIgnore]
@ -81,22 +80,18 @@ namespace IRaCIS.Core.Domain.Models
public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; } public List<SubjectCriteriaEvaluationVisitFilter> SubjectCriteriaEvaluationVisitFilterList { get; set; }
#endregion #endregion
public Guid TrialSiteId { get; set; } public Guid TrialSiteId { get; set; }
//一个访视 对应有对应Site的 TrialSiteCode
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
[Comment("访视计划Id计划外没有")]
public Guid? VisitStageId { get; set; } public Guid? VisitStageId { get; set; }
public int VisitDay { get; set; } public int VisitDay { get; set; }
public string VisitName { get; set; } = string.Empty; public string VisitName { get; set; } = string.Empty;
public int VisitWindowLeft { get; set; } public int VisitWindowLeft { get; set; }
public int VisitWindowRight { get; set; } public int VisitWindowRight { get; set; }
[Column(TypeName = "decimal(18,1)")] [DecimalPrecision(18, 1)]
public decimal VisitNum { get; set; } public decimal VisitNum { get; set; }
public string BlindName { get; set; } = string.Empty; public string BlindName { get; set; } = string.Empty;
@ -106,42 +101,34 @@ namespace IRaCIS.Core.Domain.Models
public bool InPlan { get; set; } = true; public bool InPlan { get; set; } = true;
public bool IsBaseLine { get; set; } = false; public bool IsBaseLine { get; set; } = false;
[Comment("0 未执行 1 执行了 2 不可用")]
//0 未执行 1 执行了 2 不可用
public VisitExecutedEnum VisitExecuted { get; set; } = VisitExecutedEnum.UnExecuted; public VisitExecutedEnum VisitExecuted { get; set; } = VisitExecutedEnum.UnExecuted;
public DateTime? EarliestScanDate { get; set; } public DateTime? EarliestScanDate { get; set; }
/// <summary> [Comment("最晚拍片日期")]
/// 最晚拍片日期
/// </summary>
public DateTime? LatestScanDate { get; set; } public DateTime? LatestScanDate { get; set; }
public Guid? Auditor { get; set; } public Guid? Auditor { get; set; }
[Comment("核查状态")]
//核查状态
public CheckStateEnum CheckState { get; set; } public CheckStateEnum CheckState { get; set; }
//提交状态 [Comment("提交状态")]
public SubmitStateEnum SubmitState { get; set; } public SubmitStateEnum SubmitState { get; set; }
//审核状态
[Comment("审核状态")]
public AuditStateEnum AuditState { get; set; } public AuditStateEnum AuditState { get; set; }
public ForwardStateEnum ForwardState { get; set; } public ForwardStateEnum ForwardState { get; set; }
/// <summary>
/// 单审通过人 [Comment("单审通过人")]
/// </summary>
public Guid? PreliminaryAuditUserId { get; set; } public Guid? PreliminaryAuditUserId { get; set; }
/// <summary> [Comment("双审通过人")]
/// 双审通过人
/// </summary>
public Guid? ReviewAuditUserId { get; set; } public Guid? ReviewAuditUserId { get; set; }
/// <summary> [Comment("一致性核查人Id")]
/// 一致性核查人Id
/// </summary>
public Guid? CheckUserId { get; set; } public Guid? CheckUserId { get; set; }
public DateTime? ReviewAuditTime { get; set; } public DateTime? ReviewAuditTime { get; set; }
@ -149,18 +136,14 @@ namespace IRaCIS.Core.Domain.Models
public Guid? ForwardUserId { get; set; } public Guid? ForwardUserId { get; set; }
public DateTime? ForwardTime { get; set; } public DateTime? ForwardTime { get; set; }
/// <summary> [Comment("当前质控领取人")]
/// 当前质控领取人
/// </summary>
public Guid? CurrentActionUserId { get; set; } public Guid? CurrentActionUserId { get; set; }
public DateTime? CurrentActionUserExpireTime { get; set; } public DateTime? CurrentActionUserExpireTime { get; set; }
public DateTime? SubmitTime { get; set; } public DateTime? SubmitTime { get; set; }
public DateTime? CheckTime { get; set; } public DateTime? CheckTime { get; set; }
/// <summary> [Comment("通过原因")]
/// 通过原因
/// </summary>
public string ManualPassReason { get; set; } = string.Empty; public string ManualPassReason { get; set; } = string.Empty;
public bool IsUrgent { get; set; } public bool IsUrgent { get; set; }
@ -173,7 +156,7 @@ namespace IRaCIS.Core.Domain.Models
public string CheckResult { get; set; } = String.Empty; public string CheckResult { get; set; } = String.Empty;
//是否一致性核查回退 [Comment("是否一致性核查回退")]
public bool? IsCheckBack { get; set; } public bool? IsCheckBack { get; set; }
public DateTime? CheckBackTime { get; set; } public DateTime? CheckBackTime { get; set; }
@ -184,9 +167,8 @@ namespace IRaCIS.Core.Domain.Models
public DateTime? CheckPassedTime { get; set; } public DateTime? CheckPassedTime { get; set; }
/// <summary>
/// 上一访视 [Comment("计划外上一访视")]
/// </summary>
public Guid? OutPlanPreviousVisitId { get; set; } public Guid? OutPlanPreviousVisitId { get; set; }
@ -197,20 +179,16 @@ namespace IRaCIS.Core.Domain.Models
public bool IsLostVisit { get; set; } public bool IsLostVisit { get; set; }
[Comment("是否确认了、签名了 临床数据完整性")]
//是否确认了、签名了 临床数据完整性
public bool? IsConfirmedClinicalData { get; set; } public bool? IsConfirmedClinicalData { get; set; }
public bool IsEnrollmentConfirm { get; set; } public bool IsEnrollmentConfirm { get; set; }
public bool IsVisitTaskGenerated { get; set; } public bool IsVisitTaskGenerated { get; set; }
public bool IsPMBackOrReReading { get; set; } public bool IsPMBackOrReReading { get; set; }
/// <summary> [Comment("关闭一致性质疑原因")]
/// 关闭一致性质疑原因
/// </summary>
public string CloseTheReason { get; set; } = string.Empty; public string CloseTheReason { get; set; } = string.Empty;
public Guid? SubmitUserId { get; set; } public Guid? SubmitUserId { get; set; }
@ -218,13 +196,7 @@ namespace IRaCIS.Core.Domain.Models
public ReadingStatusEnum ReadingStatus { get; set; } public ReadingStatusEnum ReadingStatus { get; set; }
public string VisitImageZipPath { get; set; } = string.Empty;
public PackState PackState { get; set; }
public PackState NoDicomPackState { get; set; }
public string VisitNoDicomImageZipPath { get; set; } = string.Empty;
} }
/// <summary> /// <summary>
/// 影像下载打包状态 /// 影像下载打包状态
@ -247,4 +219,3 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
Packed = 2 Packed = 2
} }
}

View File

@ -12,7 +12,7 @@
public string BlindName { get; set; } = string.Empty; public string BlindName { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,1)")] [DecimalPrecision(18, 1)]
public decimal VisitNum { get; set; } public decimal VisitNum { get; set; }
public string VisitName { get; set; } = string.Empty; public string VisitName { get; set; } = string.Empty;
public int VisitDay { get; set; } public int VisitDay { get; set; }