修改一版
							parent
							
								
									01375d0adc
								
							
						
					
					
						commit
						7bd30717bb
					
				| 
						 | 
				
			
			@ -24,6 +24,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
        private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
 | 
			
		||||
        private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
 | 
			
		||||
        private readonly IRepository<SubjectVisit> _subjectVisitRepository;
 | 
			
		||||
        private readonly IRepository<OrganInfo> _organInfoRepository;
 | 
			
		||||
        private readonly IRepository<DicomStudy> _dicomStudyRepository;
 | 
			
		||||
        private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
 | 
			
		||||
        private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -38,8 +39,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
 | 
			
		||||
            IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
 | 
			
		||||
            IRepository<SubjectVisit> subjectVisitRepository,
 | 
			
		||||
              IRepository<DicomStudy> dicomStudyRepository,
 | 
			
		||||
                IRepository<NoneDicomStudy> noneDicomStudyRepository,
 | 
			
		||||
            IRepository<OrganInfo> organInfoRepository,
 | 
			
		||||
            IRepository<DicomStudy> dicomStudyRepository,
 | 
			
		||||
            IRepository<NoneDicomStudy> noneDicomStudyRepository,
 | 
			
		||||
            IRepository<TumorAssessment> tumorAssessmentRepository,
 | 
			
		||||
            IGeneralCalculateService generalCalculateService,
 | 
			
		||||
            IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
 | 
			
		||||
| 
						 | 
				
			
			@ -52,6 +54,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
 | 
			
		||||
            this._readingQuestionTrialRepository = readingQuestionTrialRepository;
 | 
			
		||||
            this._subjectVisitRepository = subjectVisitRepository;
 | 
			
		||||
            this._organInfoRepository = organInfoRepository;
 | 
			
		||||
            this._dicomStudyRepository = dicomStudyRepository;
 | 
			
		||||
            this._noneDicomStudyRepository = noneDicomStudyRepository;
 | 
			
		||||
            this._tumorAssessmentRepository = tumorAssessmentRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +133,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                .ToListAsync();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
 | 
			
		||||
            var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var needChangeType = new List<QuestionMark?>() {
 | 
			
		||||
                QuestionMark.Organ,
 | 
			
		||||
                QuestionMark.Location,
 | 
			
		||||
                QuestionMark.Part,
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            // 第一级 分组
 | 
			
		||||
| 
						 | 
				
			
			@ -249,13 +261,76 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                        {
 | 
			
		||||
                            foreach (var task in taskInfoList)
 | 
			
		||||
                            {
 | 
			
		||||
 | 
			
		||||
                                tableQuestion.Answer.Add(new TaskQuestionAnswer()
 | 
			
		||||
                                var rowinfo = alltableAnsweRowInfos.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex).FirstOrDefault();
 | 
			
		||||
                                var taskQuestionAnswer = new TaskQuestionAnswer()
 | 
			
		||||
                                {
 | 
			
		||||
                                    Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
 | 
			
		||||
                                    TaskName = task.TaskName,
 | 
			
		||||
                                    VisitTaskId = task.VisitTaskId,
 | 
			
		||||
                                });
 | 
			
		||||
                                };
 | 
			
		||||
                                if (rowinfo != null && rowinfo.OrganInfoId != null)
 | 
			
		||||
                                {
 | 
			
		||||
                                    var organInfo = organInfos.Where(x => x.Id == rowinfo.OrganInfoId).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                    if (organInfo != null && needChangeType.Contains(tableQuestion.QuestionMark))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        if (_userInfo.IsEn_Us)
 | 
			
		||||
                                        {
 | 
			
		||||
                                            switch (tableQuestion.QuestionMark)
 | 
			
		||||
                                            {
 | 
			
		||||
                                                case QuestionMark.Organ:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.TULOCEN;
 | 
			
		||||
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Location:
 | 
			
		||||
                                                    if (organInfo.IsCanEditPosition)
 | 
			
		||||
                                                    {
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    else
 | 
			
		||||
                                                    {
 | 
			
		||||
                                                        taskQuestionAnswer.Answer = organInfo.TULATEN;
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Part:
 | 
			
		||||
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.PartEN;
 | 
			
		||||
 | 
			
		||||
                                                    break;
 | 
			
		||||
 | 
			
		||||
                                            }
 | 
			
		||||
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            switch (tableQuestion.QuestionMark)
 | 
			
		||||
                                            {
 | 
			
		||||
                                                case QuestionMark.Organ:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.TULOC;
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Location:
 | 
			
		||||
                                                    if (organInfo.IsCanEditPosition)
 | 
			
		||||
                                                    {
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    else
 | 
			
		||||
                                                    {
 | 
			
		||||
                                                        taskQuestionAnswer.Answer = organInfo.TULAT;
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Part:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.Part;
 | 
			
		||||
                                                    break;
 | 
			
		||||
 | 
			
		||||
                                            }
 | 
			
		||||
                                        }
 | 
			
		||||
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                tableQuestion.Answer.Add(taskQuestionAnswer);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -115,7 +115,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
 | 
			
		||||
            var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -306,13 +305,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                              
 | 
			
		||||
                               
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                tableQuestion.Answer.Add(taskQuestionAnswer);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
        private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
 | 
			
		||||
        private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
 | 
			
		||||
        private readonly IRepository<SubjectVisit> _subjectVisitRepository;
 | 
			
		||||
        private readonly IRepository<OrganInfo> _organInfoRepository;
 | 
			
		||||
        private readonly IRepository<DicomStudy> _dicomStudyRepository;
 | 
			
		||||
        private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
 | 
			
		||||
        private readonly IRepository<TumorAssessment> _tumorAssessmentRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -38,8 +39,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
 | 
			
		||||
            IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
 | 
			
		||||
            IRepository<SubjectVisit> subjectVisitRepository,
 | 
			
		||||
              IRepository<DicomStudy> dicomStudyRepository,
 | 
			
		||||
                IRepository<NoneDicomStudy> noneDicomStudyRepository,
 | 
			
		||||
              IRepository<OrganInfo> organInfoRepository,
 | 
			
		||||
            IRepository<DicomStudy> dicomStudyRepository,
 | 
			
		||||
            IRepository<NoneDicomStudy> noneDicomStudyRepository,
 | 
			
		||||
            IRepository<TumorAssessment> tumorAssessmentRepository,
 | 
			
		||||
            IGeneralCalculateService generalCalculateService,
 | 
			
		||||
            IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
 | 
			
		||||
| 
						 | 
				
			
			@ -52,6 +54,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
 | 
			
		||||
            this._readingQuestionTrialRepository = readingQuestionTrialRepository;
 | 
			
		||||
            this._subjectVisitRepository = subjectVisitRepository;
 | 
			
		||||
            this._organInfoRepository = organInfoRepository;
 | 
			
		||||
            this._dicomStudyRepository = dicomStudyRepository;
 | 
			
		||||
            this._noneDicomStudyRepository = noneDicomStudyRepository;
 | 
			
		||||
            this._tumorAssessmentRepository = tumorAssessmentRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +112,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
            var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
            var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
 | 
			
		||||
            var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
 | 
			
		||||
            var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            var needChangeType = new List<QuestionMark?>() {
 | 
			
		||||
                QuestionMark.Organ,
 | 
			
		||||
                QuestionMark.Location,
 | 
			
		||||
                QuestionMark.Part,
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            // 第一级
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -223,13 +235,76 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                        {
 | 
			
		||||
                            foreach (var task in taskInfoList)
 | 
			
		||||
                            {
 | 
			
		||||
 | 
			
		||||
                                tableQuestion.Answer.Add(new TaskQuestionAnswer()
 | 
			
		||||
                                var rowinfo = alltableAnsweRowInfos.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex).FirstOrDefault();
 | 
			
		||||
                                var taskQuestionAnswer = new TaskQuestionAnswer()
 | 
			
		||||
                                {
 | 
			
		||||
                                    Answer = tableAnswers.Where(x => x.VisitTaskId == task.VisitTaskId && x.QuestionId == tableQuestion.QuestionId && x.RowIndex == tableQuestion.RowIndex && x.TableQuestionId == tableQuestion.TableQuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
 | 
			
		||||
                                    TaskName = task.TaskName,
 | 
			
		||||
                                    VisitTaskId = task.VisitTaskId,
 | 
			
		||||
                                });
 | 
			
		||||
                                };
 | 
			
		||||
                                if (rowinfo != null && rowinfo.OrganInfoId != null)
 | 
			
		||||
                                {
 | 
			
		||||
                                    var organInfo = organInfos.Where(x => x.Id == rowinfo.OrganInfoId).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                    if (organInfo != null && needChangeType.Contains(tableQuestion.QuestionMark))
 | 
			
		||||
                                    {
 | 
			
		||||
                                        if (_userInfo.IsEn_Us)
 | 
			
		||||
                                        {
 | 
			
		||||
                                            switch (tableQuestion.QuestionMark)
 | 
			
		||||
                                            {
 | 
			
		||||
                                                case QuestionMark.Organ:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.TULOCEN;
 | 
			
		||||
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Location:
 | 
			
		||||
                                                    if (organInfo.IsCanEditPosition)
 | 
			
		||||
                                                    {
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    else
 | 
			
		||||
                                                    {
 | 
			
		||||
                                                        taskQuestionAnswer.Answer = organInfo.TULATEN;
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Part:
 | 
			
		||||
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.PartEN;
 | 
			
		||||
 | 
			
		||||
                                                    break;
 | 
			
		||||
 | 
			
		||||
                                            }
 | 
			
		||||
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            switch (tableQuestion.QuestionMark)
 | 
			
		||||
                                            {
 | 
			
		||||
                                                case QuestionMark.Organ:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.TULOC;
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Location:
 | 
			
		||||
                                                    if (organInfo.IsCanEditPosition)
 | 
			
		||||
                                                    {
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    else
 | 
			
		||||
                                                    {
 | 
			
		||||
                                                        taskQuestionAnswer.Answer = organInfo.TULAT;
 | 
			
		||||
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                    break;
 | 
			
		||||
                                                case QuestionMark.Part:
 | 
			
		||||
                                                    taskQuestionAnswer.Answer = organInfo.Part;
 | 
			
		||||
                                                    break;
 | 
			
		||||
 | 
			
		||||
                                            }
 | 
			
		||||
                                        }
 | 
			
		||||
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                tableQuestion.Answer.Add(taskQuestionAnswer);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue