diff --git a/IRaCIS.Core.API/Properties/launchSettings.json b/IRaCIS.Core.API/Properties/launchSettings.json index 6736bd9b9..17680827f 100644 --- a/IRaCIS.Core.API/Properties/launchSettings.json +++ b/IRaCIS.Core.API/Properties/launchSettings.json @@ -21,7 +21,7 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Test_Study" }, - "applicationUrl": "http://localhost:6100" + "applicationUrl": "http://localhost:6000" } } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 0f8fd807d..587a426ad 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -10558,6 +10558,20 @@ 替换当前领取人 + + + 领取下一个质控任务 + + + + + + + 获取下一个质控任务 + + + + 手动领取 或者取消 QC任务 diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index 10ec1a87b..61e990f2a 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -60,6 +60,21 @@ namespace IRaCIS.Core.Application.Contracts public Guid? HandleUserId { get; set; } } + public class GetNextIQCQualityInDto + { + [NotDefault] + public Guid TrialId { get; set; } + + public Guid SubjectId { get; set; } + } + + public class GetNextIQCQualityOutDto + { + public Guid? SubjectId { get; set; } + + public Guid? VisitId { get; set; } + } + public class CRCRequestToQCCommand { @@ -105,6 +120,8 @@ namespace IRaCIS.Core.Application.Contracts public bool IsEnrollementQualificationConfirm { get; set; } public bool IsPDProgressView { get; set; } + public string VisitBaseDataDes { get; set; } + public string OutEnrollmentVisitName { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index d25b4a08c..85c7f3f49 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -878,6 +878,109 @@ namespace IRaCIS.Core.Application.Image.QA return ResponseOutput.Result(success); } + /// + /// 领取下一个质控任务 + /// + /// + /// + [HttpPost] + public async Task CollectNextIQCQuality(GetNextIQCQualityInDto inDto) + { + var nextIQCQuality = await this.GetNextIQCQuality(inDto); + + if (nextIQCQuality.VisitId != null) + { + var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstOrDefaultAsync(); + if (!visit.IsTake) + { + await ObtainOrCancelQCTask(inDto.TrialId, nextIQCQuality.VisitId.Value, true); + } + + } + + return nextIQCQuality; + + + } + + /// + /// 获取下一个质控任务 + /// + /// + /// + [HttpPost] + public async Task GetNextIQCQuality(GetNextIQCQualityInDto inDto) + { + var trialConfig = await _trialRepository + .Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification }) + .FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId) + .IfNullThrowException(); + + SubjectVisit? subjectVisit = null; + List? visitList = null; + switch (trialConfig.QCProcessEnum) + { + case TrialQCProcess.NotAudit: + return new GetNextIQCQualityOutDto() { }; + break; + case TrialQCProcess.SingleAudit: + visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync(); + + subjectVisit = visitList.Where(x => x.SubjectId == inDto.SubjectId).OrderBy(x => x.VisitNum).FirstOrDefault(); + if (subjectVisit != null) + { + return new GetNextIQCQualityOutDto() + { + SubjectId = subjectVisit.SubjectId, + VisitId = subjectVisit.Id + }; + } + + subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault(); + if (subjectVisit != null) + { + return new GetNextIQCQualityOutDto() + { + SubjectId = subjectVisit.SubjectId, + VisitId = subjectVisit.Id + }; + } + else + { + return new GetNextIQCQualityOutDto() { }; + } + break; + case TrialQCProcess.DoubleAudit: + + visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId != _userInfo.Id && (x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.QCPassed))).Include(x => x.Subject).ToListAsync(); + if (subjectVisit != null) + { + return new GetNextIQCQualityOutDto() + { + SubjectId = subjectVisit.SubjectId, + VisitId = subjectVisit.Id + }; + } + + subjectVisit = visitList.OrderBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).FirstOrDefault(); + if (subjectVisit != null) + { + return new GetNextIQCQualityOutDto() + { + SubjectId = subjectVisit.SubjectId, + VisitId = subjectVisit.Id + }; + } + else + { + return new GetNextIQCQualityOutDto() { }; + } + break; + default: + return new GetNextIQCQualityOutDto() { }; + + } + } /// /// 手动领取 或者取消 QC任务 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 60cc90cc6..b37c865bc 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -499,6 +499,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid VisitTaskId { get; set; } public Guid TrialId { get; set; } + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } } public class ReadingTableAnswerRowInfoBase @@ -719,6 +724,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { [NotDefault] public Guid VisitTaskId { get; set; } + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } } public class GetReadingTableQuestionOutDto @@ -795,6 +805,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List OrganInfos { get; set; } = new List(); + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } public bool IsGetallQuestion { get; set; } = false; /// @@ -947,6 +961,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid TrialId { get; set; } public Guid VisitTaskId { get; set; } + + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } } #endregion diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 6843367cd..17c96e5b5 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -336,10 +336,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 单位 - /// - public ValueUnit? Unit { get; set; } + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 单位 + /// + public ValueUnit? Unit { get; set; } /// /// 限制编辑 @@ -439,10 +444,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 数据来源 - /// - public DataSources? DataSource { get; set; } = DataSources.ManualEntry; + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 数据来源 + /// + public DataSources? DataSource { get; set; } = DataSources.ManualEntry; /// /// 单位 @@ -974,10 +984,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 单位 - /// - public ValueUnit? Unit { get; set; } + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 单位 + /// + public ValueUnit? Unit { get; set; } /// @@ -1038,10 +1053,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 备注 - /// - public string Remark { get; set; } + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } /// /// 数据来源 @@ -1555,10 +1575,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 限制编辑 - /// - public LimitEdit LimitEdit { get; set; } = LimitEdit.None; + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 限制编辑 + /// + public LimitEdit LimitEdit { get; set; } = LimitEdit.None; /// /// 最大答案长度 @@ -1901,10 +1926,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ValueOfType? ValueType { get; set; } - /// - /// 数据来源 - /// - public DataSources? DataSource { get; set; } = DataSources.ManualEntry; + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + /// + /// 数据来源 + /// + public DataSources? DataSource { get; set; } = DataSources.ManualEntry; /// /// 单位 diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs index 88728c9a4..99d4cc7de 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs @@ -6,6 +6,7 @@ using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Application.Contracts { @@ -22,7 +23,7 @@ namespace IRaCIS.Core.Application.Contracts Task GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto); - Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId); + Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId,QuestionClassify? questionClassify); Task GetReadingTableQuestion(GetReadingTableQuestionOrAnswerInDto inDto); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 1059da1e1..a77528200 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -704,7 +704,7 @@ namespace IRaCIS.Application.Services { //await AddDefaultValueToTask(inDto.VisitTaskId); var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); - var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id); + var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id, inDto.QuestionClassify); return (result, new { @@ -720,7 +720,7 @@ namespace IRaCIS.Application.Services /// /// [NonDynamicMethod] - public async Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId) + public async Task> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId, QuestionClassify? questionClassify) { @@ -729,6 +729,7 @@ namespace IRaCIS.Application.Services //排除表格问题 var questions = await _readingQuestionTrialRepository + .WhereIf(questionClassify!=null,x=>x.QuestionClassify== questionClassify) .WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table) .WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table) @@ -893,6 +894,7 @@ namespace IRaCIS.Application.Services TableAnswers = tableAnswers, TableAnsweRowInfos = tableAnsweRowInfos, OrganInfos = organList, + QuestionClassify=inDto.QuestionClassify, } @@ -943,7 +945,8 @@ namespace IRaCIS.Application.Services TableAnswers = tableAnswers, TableAnsweRowInfos = tableAnsweRowInfos, IsGetallQuestion = true, - OrganInfos = organList + OrganInfos = organList, + QuestionClassify=inDto.QuestionClassify, } ), new @@ -964,7 +967,9 @@ namespace IRaCIS.Application.Services { var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync(); - var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider, new + var qusetionList = await _readingQuestionTrialRepository + .WhereIf(inDto.QuestionClassify!=null,x=>x.QuestionClassify==inDto.QuestionClassify) + .Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us @@ -1040,7 +1045,9 @@ namespace IRaCIS.Application.Services var groupList = new List(); var qusetionIds = qusetionList.Select(x => x.Id).ToList(); - var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => qusetionIds.Contains(x.ReadingQuestionId)) + var tableQuestionList = await _readingTableQuestionTrialRepository + .WhereIf(inDto.QuestionClassify != null, x => x.QuestionClassify == inDto.QuestionClassify) + .Where(x => qusetionIds.Contains(x.ReadingQuestionId)) .ProjectTo(_mapper.ConfigurationProvider, new { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 5a4f0b1a1..c03e760e7 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -1615,7 +1615,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect && x.IsAnalysisCreate == inDto.IsAnalysisCreate - &&x.DoctorUserId==inDto.DoctorUserId + //&&x.DoctorUserId==inDto.DoctorUserId && x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum) .Select(x => x.Id).FirstOrDefaultAsync(); @@ -1715,7 +1715,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var lastTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId && x.IsAnalysisCreate == taskinfo.IsAnalysisCreate && - x.DoctorUserId == taskinfo.DoctorUserId && + //x.DoctorUserId == taskinfo.DoctorUserId && x.IsSelfAnalysis == taskinfo.IsSelfAnalysis && x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect @@ -1745,7 +1745,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var firstChangeVisitTaskNum = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId && x.IsAnalysisCreate == taskinfo.IsAnalysisCreate && - x.DoctorUserId == taskinfo.DoctorUserId && + //x.DoctorUserId == taskinfo.DoctorUserId && x.IsSelfAnalysis == taskinfo.IsSelfAnalysis && x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum && x.BeforeConvertedTaskId != null && x.TaskState == TaskState.Effect @@ -1755,7 +1755,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate compareTaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId && x.IsAnalysisCreate == taskinfo.IsAnalysisCreate && - x.DoctorUserId == taskinfo.DoctorUserId && + //x.DoctorUserId == taskinfo.DoctorUserId && x.IsSelfAnalysis == taskinfo.IsSelfAnalysis && x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ArmEnum == taskinfo.ArmEnum && x.VisitTaskNum >= firstChangeVisitTaskNum && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs index 051b12e33..26d2dd314 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs @@ -976,7 +976,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); siteVisitForTumorList = await _visitTaskRepository.Where(x => (x.ReadingCategory == ReadingCategory.Visit && x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId && - x.DoctorUserId== taskinfo.DoctorUserId&& + //x.DoctorUserId== taskinfo.DoctorUserId&& x.IsAnalysisCreate==inDto.IsAnalysisCreate&& x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum <= taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum )||x.Id== inDto.VisitTaskId).OrderByDescending(x => x.VisitTaskNum).Select(x => new SiteVisitForTumor() diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index d3a48d2b3..b3176136a 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -1285,7 +1285,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect && x.IsAnalysisCreate == inDto.IsAnalysisCreate - &&x.DoctorUserId==inDto.DoctorUserId + //&&x.DoctorUserId==inDto.DoctorUserId && x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum) .Select(x => x.Id).FirstOrDefaultAsync(); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs index 430750be8..84fa1de05 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs @@ -1280,7 +1280,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect && x.IsAnalysisCreate == inDto.IsAnalysisCreate - &&x.DoctorUserId==inDto.DoctorUserId + //&&x.DoctorUserId==inDto.DoctorUserId && x.IsSelfAnalysis == inDto.IsSelfAnalysis && x.ArmEnum == inDto.ArmEnum) .Select(x => x.Id).FirstOrDefaultAsync(); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index 52d5a5894..cebb72bfa 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -67,6 +67,8 @@ namespace IRaCIS.Core.Application.Contracts public string Modalitys { get; set; } = string.Empty; + public string VisitBaseDataDes { get; set; } + public List ModalityList { get; set; } = new List(); diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs index 242c45f81..7613c04c2 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/ClinicalStudySubjects.cs @@ -77,6 +77,8 @@ namespace IRaCIS.Application.Contracts public bool IsPDProgressView { get; set; } + public string VisitBaseDataDes { get; set; } + public bool IsSubjectSecondCodeView { get; set; } = false; } diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 99889d0b2..09ffde665 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -297,6 +297,18 @@ namespace IRaCIS.Core.Domain.Share Automatic = 1 } + /// + /// 问题分类 + /// + public enum QuestionClassify + { + /// + /// PET + /// + PET = 0, + + } + /// /// 自定义计算标记 diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs index fee763d72..3704f41a1 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionSystem.cs @@ -202,6 +202,10 @@ namespace IRaCIS.Core.Domain.Models /// public string? FileType { get; set; } + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } [JsonIgnore] [ForeignKey("GroupId")] diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs index 8af84fed2..771a12133 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingQuestionTrial.cs @@ -261,7 +261,12 @@ namespace IRaCIS.Core.Domain.Models /// public Guid? GroupId { get; set; } - [JsonIgnore] + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + [JsonIgnore] [ForeignKey("GroupId")] public ReadingQuestionTrial GroupInfo { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs index 97cdd903b..6fc5bbc87 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs @@ -173,7 +173,12 @@ namespace IRaCIS.Core.Domain.Models /// public string? FileType { get; set; } - [ForeignKey("DependParentId")] + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + [ForeignKey("DependParentId")] [JsonIgnore] public ReadingTableQuestionSystem DependParentQuestion { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs index df02d648c..fdb03ecf7 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionTrial.cs @@ -195,7 +195,12 @@ namespace IRaCIS.Core.Domain.Models /// public string? FileType { get; set; } - [JsonIgnore] + /// + /// 问题分类 + /// + public QuestionClassify? QuestionClassify { get; set; } + + [JsonIgnore] [ForeignKey("DependParentId")] public ReadingTableQuestionTrial DependParentQuestion { get; set; } diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs index c40b80e07..54cb8ba39 100644 --- a/IRaCIS.Core.Domain/Trial/Trial.cs +++ b/IRaCIS.Core.Domain/Trial/Trial.cs @@ -299,7 +299,8 @@ namespace IRaCIS.Core.Domain.Models public int PlanVisitCount { get; set; } - + public string VisitBaseDataDes { get; set; } = StaticData.International("Trial_VisitBaseDataDes"); + public DateTime? TrialFinishedTime { get; set; }