Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
						commit
						8f38cef49f
					
				| 
						 | 
				
			
			@ -538,6 +538,15 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Dictionary<ClinicalLevel, int> keys = new Dictionary<ClinicalLevel, int>() {
 | 
			
		||||
                {ClinicalLevel.Subject,0 },
 | 
			
		||||
                {ClinicalLevel.ImageRead,1 },
 | 
			
		||||
                {ClinicalLevel.OncologyRead,2 },
 | 
			
		||||
                {ClinicalLevel.SubjectVisit,3 },
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            result.OrderBy(x => keys[x.ClinicalDataLevel]).ToList();
 | 
			
		||||
 | 
			
		||||
            return (result, new
 | 
			
		||||
            {
 | 
			
		||||
                SubjectCode = await _subjectRepository.Where(x => x.Id == inDto.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -156,7 +156,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
 | 
			
		|||
 | 
			
		||||
        public string Answer { get; set; }
 | 
			
		||||
 | 
			
		||||
       
 | 
			
		||||
        public bool IsGlobalChange { get; set; } = false;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
		/// 全局阅片修改的答案
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public string GlobalChangeAnswer { get; set; } = string.Empty;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1408,6 +1415,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
 | 
			
		|||
        public string TaskBlindName { get; set; }
 | 
			
		||||
 | 
			
		||||
        public decimal VisitTaskNum { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public Arm? JudgeResultArm { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class GetJudgeReadingPastResultListInDto
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,9 +51,12 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                foreach (var answer in item.AnswerList)
 | 
			
		||||
                {
 | 
			
		||||
                    await _readingGlobalTaskInfoRepository.BatchDeleteNoTrackingAsync(x => x.GlobalTaskId == inDto.GlobalTaskId && x.TaskId == item.VisitTaskId && x.GlobalAnswerType == answer.GlobalAnswerType && x.QuestionId == answer.QuestionId);
 | 
			
		||||
                    await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId, x => new ReadingTaskQuestionAnswer()
 | 
			
		||||
                    await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId
 | 
			
		||||
                    && x.Answer != answer.Answer && x.Answer != string.Empty
 | 
			
		||||
                    , x => new ReadingTaskQuestionAnswer()
 | 
			
		||||
                    {
 | 
			
		||||
                        GlobalChangeAnswer = answer.Answer
 | 
			
		||||
                        GlobalChangeAnswer = answer.Answer,
 | 
			
		||||
                        IsGlobalChange=true,
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +236,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            var globalReadingQuestion = await _readingGlobalTaskInfoRepository.Where(x => x.GlobalTaskId == inDto.VisitTaskId).ToListAsync();
 | 
			
		||||
            var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync();
 | 
			
		||||
 | 
			
		||||
            // 如果不是PCWG3  Before的Answer取自于 上一次全局阅片的结果, 如果没有上一次全局阅片的结果  取访视的答案
 | 
			
		||||
            // Before的Answer取自于 上一次全局阅片的结果, 如果没有上一次全局阅片的结果  取访视的答案
 | 
			
		||||
 | 
			
		||||
            var lastGlobalTask = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Global &&
 | 
			
		||||
         x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
 | 
			
		||||
| 
						 | 
				
			
			@ -354,8 +357,6 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            if (criterionType == CriterionType.PCWG3)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                // PCWG3 访视点肿瘤评估 采用上一次全局阅片的答案  如果没有 就采用访视的答案
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                // 找到上一个全局阅片
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -425,8 +425,14 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                taskQuery = _visitTaskRepository.Where(x => taskInfo.PastResultTaskIdList.Contains(x.Id));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var readingPastResultList = await taskQuery
 | 
			
		||||
            .ProjectTo<GetReadingPastResultListOutDto>(_mapper.ConfigurationProvider).OrderBy(x => x.VisitTaskNum).ToListAsync();
 | 
			
		||||
            var readingPastResultList = await taskQuery.Select(x => new GetReadingPastResultListOutDto() {
 | 
			
		||||
                VisitTaskId = x.Id,
 | 
			
		||||
                TaskBlindName = x.TaskBlindName,
 | 
			
		||||
                TaskName = x.TaskName,
 | 
			
		||||
                VisitTaskNum = x.VisitTaskNum,
 | 
			
		||||
                JudgeResultArm = x.JudgeResultTask == null?null:x.JudgeResultTask.ArmEnum,
 | 
			
		||||
 | 
			
		||||
            }).OrderBy(x => x.VisitTaskNum).ToListAsync();
 | 
			
		||||
            return readingPastResultList;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -204,8 +204,9 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                  .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName))
 | 
			
		||||
                .ForMember(x=>x.Id, y=>y.MapFrom(z=>z.Id));
 | 
			
		||||
 | 
			
		||||
            CreateMap<VisitTask, GetReadingPastResultListOutDto>()
 | 
			
		||||
                  .ForMember(x => x.VisitTaskId, y => y.MapFrom(z => z.Id));
 | 
			
		||||
            //CreateMap<VisitTask, GetReadingPastResultListOutDto>()
 | 
			
		||||
            //      .ForMember(x => x.VisitTaskId, y => y.MapFrom(z => z.Id))
 | 
			
		||||
            //     .ForMember(x => x.JudgeResultArm, y => y.MapFrom(z => (z.JudgeResultTask==null?null:z.JudgeResultTask.ArmEnum)));
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            #region 医学审核
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,11 +202,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                    foreach (var task in taskInfoList)
 | 
			
		||||
                    {
 | 
			
		||||
 | 
			
		||||
                        var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
 | 
			
		||||
                        question.Answer.Add(new TaskQuestionAnswer()
 | 
			
		||||
                        {
 | 
			
		||||
                            Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
 | 
			
		||||
                            Answer = answer == null ? string.Empty : answer.Answer,
 | 
			
		||||
                            IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
 | 
			
		||||
                            GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
 | 
			
		||||
                            TaskName = task.TaskName,
 | 
			
		||||
                            VisitTaskId = task.VisitTaskId,
 | 
			
		||||
 | 
			
		||||
                        });
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,11 +180,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                    foreach (var task in taskInfoList)
 | 
			
		||||
                    {
 | 
			
		||||
 | 
			
		||||
                        var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
 | 
			
		||||
                        question.Answer.Add(new TaskQuestionAnswer()
 | 
			
		||||
                        {
 | 
			
		||||
                            Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
 | 
			
		||||
                            Answer = answer==null?string.Empty:answer.Answer,
 | 
			
		||||
                            IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
 | 
			
		||||
                            GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
 | 
			
		||||
                            TaskName = task.TaskName,
 | 
			
		||||
                            VisitTaskId = task.VisitTaskId,
 | 
			
		||||
                             
 | 
			
		||||
                        });
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -192,11 +192,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
 | 
			
		|||
                    foreach (var task in taskInfoList)
 | 
			
		||||
                    {
 | 
			
		||||
 | 
			
		||||
                        var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
 | 
			
		||||
                        question.Answer.Add(new TaskQuestionAnswer()
 | 
			
		||||
                        {
 | 
			
		||||
                            Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(),
 | 
			
		||||
                            Answer = answer == null ? string.Empty : answer.Answer,
 | 
			
		||||
                            IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
 | 
			
		||||
                            GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
 | 
			
		||||
                            TaskName = task.TaskName,
 | 
			
		||||
                            VisitTaskId = task.VisitTaskId,
 | 
			
		||||
 | 
			
		||||
                        });
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,12 @@ namespace IRaCIS.Core.Domain.Models
 | 
			
		|||
		/// </summary>
 | 
			
		||||
		public string GlobalChangeAnswer { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// 全局阅片是否修改
 | 
			
		||||
		/// </summary>
 | 
			
		||||
		public bool IsGlobalChange { get; set; } = false;
 | 
			
		||||
 | 
			
		||||
		/// <summary>
 | 
			
		||||
		/// 创建人
 | 
			
		||||
		/// </summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -302,7 +302,7 @@ namespace IRaCIS.Core.Domain.Models
 | 
			
		|||
        public DateTime? TrialFinishTime { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public int? DigitPlaces { get; set; } = 2;
 | 
			
		||||
        public int? DigitPlaces { get; set; } = 1;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public bool IsTrialProcessConfirmed { get; set; }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue