Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
						commit
						2d53a9e82c
					
				| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
using DocumentFormat.OpenXml.Office2010.ExcelAc;
 | 
			
		||||
using DocumentFormat.OpenXml.Presentation;
 | 
			
		||||
using DocumentFormat.OpenXml.Spreadsheet;
 | 
			
		||||
using IRaCIS.Application.Contracts;
 | 
			
		||||
using IRaCIS.Application.Interfaces;
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +160,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
            exportInfo.List = list;
 | 
			
		||||
 | 
			
		||||
            return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSubjectList_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository , _hostEnvironment, _dictionaryService, typeof(SubjectExportDTO));
 | 
			
		||||
            return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSubjectList_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(SubjectExportDTO));
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -235,15 +236,15 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
                                IsFinalVisit = t.IsFinalVisit,
 | 
			
		||||
                                IsLostVisit = t.IsLostVisit,
 | 
			
		||||
                                ReadingStatus =
 | 
			
		||||
                                t.VisitTaskList.Where(t => t.TaskState == TaskState.Effect && t.TrialReadingCriterionId==dto.TrialReadingCriterionId && t.TaskAllocationState == TaskAllocationState.Allocated && t.IsAnalysisCreate == false && t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned).Count() == (int)trialReadingCriterion.ReadingType ?
 | 
			
		||||
                                t.VisitTaskList.Where(t => t.TaskState == TaskState.Effect && t.TrialReadingCriterionId == dto.TrialReadingCriterionId && t.TaskAllocationState == TaskAllocationState.Allocated && t.IsAnalysisCreate == false && t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned).Count() == (int)trialReadingCriterion.ReadingType ?
 | 
			
		||||
                                ReadingStatusEnum.ReadCompleted : t.VisitTaskList.Where(t => t.TaskState == TaskState.Effect && t.TrialReadingCriterionId == dto.TrialReadingCriterionId && t.IsAnalysisCreate == false && t.ReadingCategory == ReadingCategory.Visit && t.TaskAllocationState == TaskAllocationState.Allocated).Count() == (int)trialReadingCriterion.ReadingType ? ReadingStatusEnum.ImageReading :
 | 
			
		||||
                                t.ReadingStatus
 | 
			
		||||
                            }).ToList(),
 | 
			
		||||
 | 
			
		||||
                            ModuleList = subject.ReadModuleList.Where(t=>t.TrialReadingCriterionId==dto.TrialReadingCriterionId).Select(t => new SubjectProgressDto.MouduleProgress()
 | 
			
		||||
                            ModuleList = subject.ReadModuleList.Where(t => t.TrialReadingCriterionId == dto.TrialReadingCriterionId).Select(t => new SubjectProgressDto.MouduleProgress()
 | 
			
		||||
                            {
 | 
			
		||||
                                TaskName = t.ModuleName,
 | 
			
		||||
                                VisitTaskNum = (t.ReadingSetType == ReadingSetType.ImageReading ? ReadingCommon.TaskNumDic[ReadingCategory.Global] : ReadingCommon.TaskNumDic[ReadingCategory.Oncology])  + t.SubjectVisit.VisitNum,
 | 
			
		||||
                                VisitTaskNum = (t.ReadingSetType == ReadingSetType.ImageReading ? ReadingCommon.TaskNumDic[ReadingCategory.Global] : ReadingCommon.TaskNumDic[ReadingCategory.Oncology]) + t.SubjectVisit.VisitNum,
 | 
			
		||||
                                ReadingSetType = t.ReadingSetType,
 | 
			
		||||
                                ReadingStatus = t.ModuleTaskList.Where(t => t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && (t.ReadingCategory == ReadingCategory.Oncology || t.ReadingCategory == ReadingCategory.Global) && t.ReadingTaskState == ReadingTaskState.HaveSigned).Count() == (int)trialReadingCriterion.ReadingType ?
 | 
			
		||||
                                 ReadingStatusEnum.ReadCompleted : t.ModuleTaskList.Where(t => t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && (t.ReadingCategory == ReadingCategory.Oncology || t.ReadingCategory == ReadingCategory.Global) && t.TaskAllocationState == TaskAllocationState.Allocated).Count() == (int)trialReadingCriterion.ReadingType ?
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +263,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
            var exportInfo = (await _trialRepository.Where(t => t.Id == dto.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
 | 
			
		||||
 | 
			
		||||
            exportInfo.CriterionName = await _repository.Where<ReadingQuestionCriterionTrial>(u => u.TrialId == dto.TrialId && u.IsConfirm && u.Id == dto.TrialReadingCriterionId).Select(t=>t.CriterionName).FirstOrDefaultAsync();  
 | 
			
		||||
            exportInfo.CriterionName = await _repository.Where<ReadingQuestionCriterionTrial>(u => u.TrialId == dto.TrialId && u.IsConfirm && u.Id == dto.TrialReadingCriterionId).Select(t => t.CriterionName).FirstOrDefaultAsync();
 | 
			
		||||
 | 
			
		||||
            exportInfo.List = list;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -385,7 +386,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
                     UploadFinishedTime = t.UploadFinishedTime,
 | 
			
		||||
 | 
			
		||||
                     ArchiveFinishedTime=t.ArchiveFinishedTime,
 | 
			
		||||
                     ArchiveFinishedTime = t.ArchiveFinishedTime,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                     UploadTime = t.CreateTime,
 | 
			
		||||
| 
						 | 
				
			
			@ -738,7 +739,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
            var subjectQuerybal = _repository.Where<VisitTask>(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && t.IsSelfAnalysis == true).Select(t => t.SubjectId).Distinct();
 | 
			
		||||
 | 
			
		||||
            var allList = await _repository.Where<VisitTask>(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && subjectQuerybal.Contains(t.SubjectId) && t.ReadingCategory == ReadingCategory.Visit)
 | 
			
		||||
                .Where(t => (t.IsSelfAnalysis == true || t.IsSelfAnalysis == null)&& t.VisitTaskNum>0) //一致性分析的结果 + 正常任务的结果 + 仅仅访视的结果 +去除基线
 | 
			
		||||
                .Where(t => (t.IsSelfAnalysis == true || t.IsSelfAnalysis == null) && t.VisitTaskNum > 0) //一致性分析的结果 + 正常任务的结果 + 仅仅访视的结果 +去除基线
 | 
			
		||||
 | 
			
		||||
               //.WhereIf(queryVisitTask.SubjectId != null, t => t.SubjectId == queryVisitTask.SubjectId)
 | 
			
		||||
               //.WhereIf(queryVisitTask.TaskState != null, t => t.TaskState == queryVisitTask.TaskState)
 | 
			
		||||
| 
						 | 
				
			
			@ -812,7 +813,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
            if (criterion.CriterionType != CriterionType.RECIST1Point1)
 | 
			
		||||
            {
 | 
			
		||||
//---当前标准导出还未支持
 | 
			
		||||
                //---当前标准导出还未支持
 | 
			
		||||
                throw new Exception(_localizer["ExcelExport_UnsupportedExport"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -938,7 +939,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
                list.Add(new ExportDocumentDes() { Code = StaticData.Export.RECIST1Point1DetailedOfEvaluatedLesion_Export, ExportCatogory = ExportCatogory.DetailedOfEvaluatedLesion });
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if(criterion.CriterionType == CriterionType.PCWG3)
 | 
			
		||||
            if (criterion.CriterionType == CriterionType.PCWG3)
 | 
			
		||||
            {
 | 
			
		||||
                list.Add(new ExportDocumentDes() { Code = StaticData.Export.OverallTumorEvaluation_Export, ExportCatogory = ExportCatogory.OverallTumorEvaluation });
 | 
			
		||||
                list.Add(new ExportDocumentDes() { Code = StaticData.Export.PCWG3Point1DetailedOfEvaluatedLesion_Export, ExportCatogory = ExportCatogory.DetailedOfEvaluatedLesion });
 | 
			
		||||
| 
						 | 
				
			
			@ -950,9 +951,37 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
            {
 | 
			
		||||
                item.FileName = result.Where(t => t.Code == item.Code).FirstOrDefault()?.FileName;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return list;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public List<T> DealJudgeMark<T>(ArbitrationRule arbitrationRule, IEnumerable<T> list) where T : OverallTumorEvaluationExport
 | 
			
		||||
        {
 | 
			
		||||
            //处理裁判标记
 | 
			
		||||
 | 
			
		||||
            {
 | 
			
		||||
                var resultList = list.Where(t => t.ReadingCategory != ReadingCategory.Judge).ToList();
 | 
			
		||||
 | 
			
		||||
                if (arbitrationRule == ArbitrationRule.Visit)
 | 
			
		||||
                {
 | 
			
		||||
 | 
			
		||||
                    foreach (var item in resultList)
 | 
			
		||||
                    {
 | 
			
		||||
                        item.IsGenerateJudge = list.FirstOrDefault(t => t.ReadingCategory == ReadingCategory.Judge && t.SubjectCode == item.SubjectCode
 | 
			
		||||
                        && (t.VisitTaskNum - ReadingCommon.TaskNumDic[ReadingCategory.Judge]) == item.VisitTaskNum)?.JudgeArmEnum == item.ArmEnum ? true : false;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                if (arbitrationRule == ArbitrationRule.Reading)
 | 
			
		||||
                {
 | 
			
		||||
                    foreach (var item in resultList)
 | 
			
		||||
                    {
 | 
			
		||||
                        item.IsGenerateJudge = list.Where(t => t.ReadingCategory == ReadingCategory.Judge && t.SubjectCode == item.SubjectCode
 | 
			
		||||
                       ).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault()?.JudgeArmEnum == item.ArmEnum ? true : false;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return resultList;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -976,11 +1005,11 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
            //每次查询必须是单标准的
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstNotNullAsync();
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
            if (criterion.CriterionType != CriterionType.RECIST1Point1 && criterion.CriterionType != CriterionType.PCWG3)
 | 
			
		||||
            {
 | 
			
		||||
//---当前标准导出还未支持
 | 
			
		||||
                //---当前标准导出还未支持
 | 
			
		||||
                throw new Exception(_localizer["ExcelExport_UnsupportedExport"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1006,11 +1035,14 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
               .WhereIf(queryVisitTask.EndAllocateDate != null, t => t.AllocateTime < queryVisitTask.EndAllocateDate!.Value.AddDays(1))
 | 
			
		||||
               .ProjectTo<OverallTumorEvaluationExport>(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType }).ToListAsync();
 | 
			
		||||
 | 
			
		||||
              list= list.OrderBy(t=>t.SubjectCode).ThenBy(t=>t.VisitTaskNum).ToList();
 | 
			
		||||
            list = list.OrderBy(t => t.SubjectCode).ThenBy(t => t.VisitTaskNum).ToList();
 | 
			
		||||
 | 
			
		||||
            var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
 | 
			
		||||
            exportInfo.CriterionName = criterion.CriterionName;
 | 
			
		||||
 | 
			
		||||
            //处理裁判标记
 | 
			
		||||
            list = DealJudgeMark(criterion.ArbitrationRule, list);
 | 
			
		||||
 | 
			
		||||
            exportInfo.List = list;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1034,7 +1066,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
        {
 | 
			
		||||
 | 
			
		||||
            //每次查询必须是单标准的
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName} ).FirstOrDefaultAsync();
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName, t.ArbitrationRule }).FirstOrDefaultAsync();
 | 
			
		||||
 | 
			
		||||
            var query = _repository.Where<VisitTask>(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.ReadingTaskState == ReadingTaskState.HaveSigned)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1064,14 +1096,18 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
            {
 | 
			
		||||
                var list = await query.ProjectTo<RECIST1Point1EvaluationOfTumorEfficacyExport>(_mapper.ConfigurationProvider, new { criterionType = criterion.CriterionType }).ToListAsync();
 | 
			
		||||
 | 
			
		||||
                //处理裁判标记
 | 
			
		||||
                list = DealJudgeMark(criterion.ArbitrationRule, list);
 | 
			
		||||
 | 
			
		||||
                exportInfo.List = list;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                return await ExcelExportHelper.DataExportAsync(StaticData.Export.RECIST1Point1EvaluationOfTumorEfficacy_Export, exportInfo, $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1EvaluationOfTumorEfficacyExport), criterion.CriterionType);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
//---当前标准导出还未支持
 | 
			
		||||
                //---当前标准导出还未支持
 | 
			
		||||
                throw new Exception(_localizer["ExcelExport_UnsupportedExport"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1095,7 +1131,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
        {
 | 
			
		||||
 | 
			
		||||
            //每次查询必须是单标准的
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName }).FirstOrDefaultAsync();
 | 
			
		||||
            var criterion = await _repository.Where<ReadingQuestionCriterionTrial>(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName,t.ArbitrationRule }).FirstOrDefaultAsync();
 | 
			
		||||
 | 
			
		||||
            var query = _repository.Where<VisitTask>(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.ReadingTaskState == ReadingTaskState.HaveSigned)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1150,6 +1186,8 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
                    });
 | 
			
		||||
                }).ToList();
 | 
			
		||||
 | 
			
		||||
                //处理裁判标记
 | 
			
		||||
                list = DealJudgeMark(criterion.ArbitrationRule, list);
 | 
			
		||||
                exportInfo.List = exportList;
 | 
			
		||||
 | 
			
		||||
                return await ExcelExportHelper.DataExportAsync(StaticData.Export.RECIST1Point1DetailedOfEvaluatedLesion_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1DetailedOfEvaluatedLesionExport), criterion.CriterionType);
 | 
			
		||||
| 
						 | 
				
			
			@ -1180,6 +1218,8 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
                    });
 | 
			
		||||
                }).ToList();
 | 
			
		||||
 | 
			
		||||
                //处理裁判标记
 | 
			
		||||
                list = DealJudgeMark(criterion.ArbitrationRule, list);
 | 
			
		||||
                exportInfo.List = exportList;
 | 
			
		||||
 | 
			
		||||
                return await ExcelExportHelper.DataExportAsync(StaticData.Export.PCWG3Point1DetailedOfEvaluatedLesion_Export, exportInfo, $"{exportInfo.ResearchProgramNo}", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(PCWG3DetailedOfEvaluatedLesionExport), criterion.CriterionType);
 | 
			
		||||
| 
						 | 
				
			
			@ -1188,7 +1228,7 @@ namespace IRaCIS.Core.Application.Service.Common
 | 
			
		|||
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
//---当前标准导出还未支持
 | 
			
		||||
                //---当前标准导出还未支持
 | 
			
		||||
                throw new Exception(_localizer["ExcelExport_UnsupportedExport"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,25 +20,26 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
        public AdditionalAssessmentType AdditionalAssessmentType { get; set; }
 | 
			
		||||
 | 
			
		||||
        //附加评估问题
 | 
			
		||||
        public List<ReadingQuestionTrial> AdditionalQuestionList { get; set; }=new List<ReadingQuestionTrial>();
 | 
			
		||||
        public List<ReadingQuestionTrial> AdditionalQuestionList { get; set; } = new List<ReadingQuestionTrial>();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public  class AdditionalAssessment
 | 
			
		||||
    public class AdditionalAssessment
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public  List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
 | 
			
		||||
        public List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
 | 
			
		||||
        public AdditionalAssessment()
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            var gropId = NewId.NextGuid();
 | 
			
		||||
            //Resist1.1 脑转移 默认评估问题
 | 
			
		||||
            SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
 | 
			
		||||
            {
 | 
			
		||||
                CriterionType = CriterionType.RECIST1Point1,
 | 
			
		||||
                AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis,
 | 
			
		||||
                AdditionalQuestionList = new List<ReadingQuestionTrial>(){
 | 
			
		||||
                var gropId = NewId.NextGuid();
 | 
			
		||||
 | 
			
		||||
                SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
 | 
			
		||||
                {
 | 
			
		||||
                    CriterionType = CriterionType.RECIST1Point1,
 | 
			
		||||
                    AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis,
 | 
			
		||||
                    AdditionalQuestionList = new List<ReadingQuestionTrial>(){
 | 
			
		||||
 | 
			
		||||
                      new ReadingQuestionTrial()
 | 
			
		||||
                {
 | 
			
		||||
| 
						 | 
				
			
			@ -81,15 +82,74 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                } ,
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //Resist1.1 TNM分期
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                var gropId = NewId.NextGuid();
 | 
			
		||||
 | 
			
		||||
                SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
 | 
			
		||||
                {
 | 
			
		||||
                    CriterionType = CriterionType.RECIST1Point1,
 | 
			
		||||
                    AdditionalAssessmentType = AdditionalAssessmentType.TNMStage,
 | 
			
		||||
                    AdditionalQuestionList = new List<ReadingQuestionTrial>(){
 | 
			
		||||
 | 
			
		||||
                      new ReadingQuestionTrial()
 | 
			
		||||
                {
 | 
			
		||||
                    LimitEdit=LimitEdit.OnlyBaseLine,
 | 
			
		||||
                    Id=gropId,
 | 
			
		||||
                    IsJudgeQuestion=false,
 | 
			
		||||
                    IsShowInDicom=false,
 | 
			
		||||
                    GlobalReadingShowType=GlobalReadingShowType.NotShow,
 | 
			
		||||
 | 
			
		||||
                    QuestionName="TNM分期评估",
 | 
			
		||||
                    QuestionEnName="TNM Stage Assessment",
 | 
			
		||||
                    GroupName="TNM分期评估",
 | 
			
		||||
                    GroupEnName="TNM Stage Assessment",
 | 
			
		||||
                    Type="group",
 | 
			
		||||
                    QuestionGenre=TableQuestionType.Customize,
 | 
			
		||||
                    DataSource=DataSources.ManualEntry,
 | 
			
		||||
                    ShowQuestion=ShowQuestion.Show,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    IsAdditional=true
 | 
			
		||||
                } ,
 | 
			
		||||
 | 
			
		||||
                    new ReadingQuestionTrial()
 | 
			
		||||
                {
 | 
			
		||||
                     GroupId=gropId,
 | 
			
		||||
                    LimitEdit=LimitEdit.OnlyBaseLine,
 | 
			
		||||
                    DictionaryCode="YesOrNoOrNa",
 | 
			
		||||
                    IsJudgeQuestion=false,
 | 
			
		||||
                    IsShowInDicom=false,
 | 
			
		||||
                    GlobalReadingShowType=GlobalReadingShowType.NotShow,
 | 
			
		||||
                    QuestionEnName="Brain metastases present",
 | 
			
		||||
                    QuestionName="存在脑转移",
 | 
			
		||||
                    Type="radio",
 | 
			
		||||
                    QuestionGenre=TableQuestionType.Dictionary,
 | 
			
		||||
                    DataSource=DataSources.ManualEntry,
 | 
			
		||||
                    ShowQuestion=ShowQuestion.Show,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    IsAdditional=true
 | 
			
		||||
                } ,
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public  List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null)
 | 
			
		||||
        public List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType = null)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            return SystemDefeaultAdditionalAssessmentList.Where(t => t.CriterionType == criterionType)
 | 
			
		||||
                .WhereIf(additionalAssessmentType!=null,t=>t.AdditionalAssessmentType==additionalAssessmentType).ToList();
 | 
			
		||||
                .WhereIf(additionalAssessmentType != null, t => t.AdditionalAssessmentType == additionalAssessmentType).ToList();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -836,6 +836,7 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
        public Arm ArmEnum { get; set; }
 | 
			
		||||
        public string UserName { get; set; }
 | 
			
		||||
 | 
			
		||||
        public ReadingCategory ReadingCategory { get; set; }
 | 
			
		||||
 | 
			
		||||
        [DictionaryTranslateAttribute("ExistDisease", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "true")]
 | 
			
		||||
        [DictionaryTranslateAttribute("OverallAssessment", CriterionType.RECIST1Point1, nameof(OverallTumorEvaluationExport.IsBaseline), "false")]
 | 
			
		||||
| 
						 | 
				
			
			@ -844,11 +845,22 @@ namespace IRaCIS.Core.Application.Contracts
 | 
			
		|||
        //整体肿瘤评估结果  需要翻译  
 | 
			
		||||
        public string OverallTumorEvaluationResult { get; set; }
 | 
			
		||||
 | 
			
		||||
        public Guid? JudgeResultTaskId { get; set; }
 | 
			
		||||
 | 
			
		||||
        #region old 废弃
 | 
			
		||||
 | 
			
		||||
        //public Guid? JudgeResultTaskId { get; set; }
 | 
			
		||||
 | 
			
		||||
        //[DictionaryTranslateAttribute("YesOrNo")]
 | 
			
		||||
        //public bool IsGenerateJudge => JudgeResultTaskId != null;
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public Arm? JudgeArmEnum { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        //根据裁判的任务结果 设置访视任务的这个字段  该字段表示  裁判认同该任务的结果
 | 
			
		||||
        [DictionaryTranslateAttribute("YesOrNo")]
 | 
			
		||||
        public bool IsGenerateJudge => JudgeResultTaskId != null;
 | 
			
		||||
 | 
			
		||||
        public bool IsGenerateJudge { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -172,6 +172,8 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                // .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName))
 | 
			
		||||
                .ForMember(o => o.IsBaseline, t => t.MapFrom(u => u.SourceSubjectVisit.IsBaseLine))
 | 
			
		||||
 | 
			
		||||
                 .ForMember(o => o.JudgeArmEnum, t => t.MapFrom(u => u.JudgeResultTask.ArmEnum))
 | 
			
		||||
 | 
			
		||||
                .ForMember(o => o.OverallTumorEvaluationResult, t => t.MapFrom(u =>
 | 
			
		||||
               criterionType == CriterionType.RECIST1Point1 ?( u.SourceSubjectVisit.IsBaseLine==true ? u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.ExistDisease).FirstOrDefault().Answer:
 | 
			
		||||
               u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstOrDefault().Answer)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,8 +33,13 @@ namespace IRaCIS.Core.Domain.Share.Reading
 | 
			
		|||
 | 
			
		||||
        //TNM分期
 | 
			
		||||
 | 
			
		||||
        TNM = 2
 | 
			
		||||
        TNMStage = 2,
 | 
			
		||||
 | 
			
		||||
        //骨转移
 | 
			
		||||
        BoneMetastasis = 3,
 | 
			
		||||
 | 
			
		||||
        //手术期
 | 
			
		||||
        SurgicalPeriod = 4,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue