Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
						commit
						8550612a8b
					
				| 
						 | 
				
			
			@ -367,9 +367,10 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                  .ForMember(d => d.CurrentActionUserName, u => u.MapFrom(s => s.CurrentActionUser.UserName))
 | 
			
		||||
                  .ForMember(d => d.PreliminaryAuditUserName, u => u.MapFrom(s => s.PreliminaryAuditUser.UserName))
 | 
			
		||||
                  .ForMember(d => d.ReviewAuditUserName, u => u.MapFrom(s => s.ReviewAuditUser.UserName))
 | 
			
		||||
                  .ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any()
 | 
			
		||||
                  || t.ReadingClinicalDataList.Any(x => x.ClinicalDataTrialSet.UploadRole == Domain.Share.UploadRole.CRC && x.ReadingClinicalDataPDFList.Count() > 0)
 | 
			
		||||
                  || t.PreviousSurgeryList.Any() : false))
 | 
			
		||||
                    .ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.PreviousHistoryList.Any() || t.PreviousOtherList.Any()
 | 
			
		||||
                 || t.Subject.ClinicalFormList.Any(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ReadingId == t.Id)
 | 
			
		||||
                 || t.ReadingClinicalDataList.Any(x => x.ClinicalDataTrialSet.UploadRole == Domain.Share.UploadRole.CRC && x.ReadingClinicalDataPDFList.Count() > 0)
 | 
			
		||||
                 || t.PreviousSurgeryList.Any()))
 | 
			
		||||
                  .ForMember(d => d.DicomStudyCount, u => u.MapFrom(t => t.StudyList.Count()))
 | 
			
		||||
                  .ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t => t.NoneDicomFileList.Any())));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -385,9 +386,10 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                 .ForMember(d => d.MedicalNo, u => u.MapFrom(s => s.Subject.MedicalNo))
 | 
			
		||||
                 .ForMember(d => d.Sex, u => u.MapFrom(s => s.Subject.Sex))
 | 
			
		||||
                 .ForMember(d => d.Age, u => u.MapFrom(t => t.Subject.Age))
 | 
			
		||||
                 .ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any()
 | 
			
		||||
                 .ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.PreviousHistoryList.Any() || t.PreviousOtherList.Any()
 | 
			
		||||
                 || t.Subject.ClinicalFormList.Any(x=>x.ClinicalDataTrialSet.UploadRole==UploadRole.CRC&& x.ReadingId==t.Id)
 | 
			
		||||
                 || t.ReadingClinicalDataList.Any(x => x.ClinicalDataTrialSet.UploadRole == Domain.Share.UploadRole.CRC && x.ReadingClinicalDataPDFList.Count() > 0)
 | 
			
		||||
                 || t.PreviousSurgeryList.Any() : false))
 | 
			
		||||
                 || t.PreviousSurgeryList.Any()))
 | 
			
		||||
 | 
			
		||||
                  //.ForMember(d => d.VisitName, u => u.MapFrom(t =>t.InPlan? t.VisitStage.VisitName : t.VisitName))
 | 
			
		||||
                  //.ForMember(d => d.VisitNum, u => u.MapFrom(t => t.InPlan ? t.VisitStage.VisitNum : t.VisitNum))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -541,6 +541,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
               
 | 
			
		||||
			var formList = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId)
 | 
			
		||||
				.Where(x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC)
 | 
			
		||||
                .WhereIf(inDto.TrialReadingCriterionId!=null, x=>x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(y=>y.TrialReadingCriterionId== inDto.TrialReadingCriterionId))
 | 
			
		||||
				.Where(x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.OncologyRead)
 | 
			
		||||
				.Include(x=>x.ClinicalDataTrialSet)
 | 
			
		||||
                .Select(x => new CRCClinicalForm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -688,7 +688,8 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                         FileName = y.FileName,
 | 
			
		||||
                         Path = y.Path,
 | 
			
		||||
                         CreateTime = y.CreateTime,
 | 
			
		||||
                     }).ToList()
 | 
			
		||||
                     }).ToList(),
 | 
			
		||||
                   
 | 
			
		||||
                 });
 | 
			
		||||
 | 
			
		||||
            var result = new List<GetReadingClinicalDataListOutDto>();
 | 
			
		||||
| 
						 | 
				
			
			@ -808,21 +809,20 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var previousHistoryList = await _previousHistoryRepository.Where(x => x.SubjectVisitId == inDto.ReadingId).ProjectTo<PreviousHistoryView>(_mapper.ConfigurationProvider).ToListAsync();
 | 
			
		||||
            var previousOtherList = await _previousOtherRepository.Where(x => x.SubjectVisitId == inDto.ReadingId).ProjectTo<PreviousOtherView>(_mapper.ConfigurationProvider).ToListAsync();
 | 
			
		||||
            var previousSurgeryList = await _previousSurgeryRepository.Where(x => x.SubjectVisitId == inDto.ReadingId).ProjectTo<PreviousSurgeryView>(_mapper.ConfigurationProvider).ToListAsync();
 | 
			
		||||
 | 
			
		||||
            //result = result.Where(x => !(x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList();
 | 
			
		||||
            //// 需要排除表格为空的数据
 | 
			
		||||
            foreach (var item in result)
 | 
			
		||||
            {
 | 
			
		||||
                item.ClinicalTableData = new ClinicalDataTable()
 | 
			
		||||
                {
 | 
			
		||||
                    PreviousHistoryList = previousHistoryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(),
 | 
			
		||||
                    PreviousOtherList = previousOtherList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(),
 | 
			
		||||
                    PreviousSurgeryList = previousSurgeryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(),
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            //var readingIds = result.Select(x => x.ReadingId).ToList();
 | 
			
		||||
 | 
			
		||||
            //var tablecount = (await _previousHistoryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) +
 | 
			
		||||
            //    (await _previousOtherRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) +
 | 
			
		||||
            //    (await _previousSurgeryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync());
 | 
			
		||||
 | 
			
		||||
            //if (tablecount == 0)
 | 
			
		||||
            //{
 | 
			
		||||
            //    result = result.Where(x => x.ClinicalUploadType != ClinicalUploadType.Table).ToList();
 | 
			
		||||
            //}
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2332,9 +2332,22 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id
 | 
			
		||||
                var query = _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id
 | 
			
		||||
                && x.TrialReadingCriterionId == trialReadingCriterionId
 | 
			
		||||
                && x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto()
 | 
			
		||||
                && x.TaskState == TaskState.Effect);
 | 
			
		||||
                var count = await query.CountAsync();
 | 
			
		||||
                if (count == 0)
 | 
			
		||||
                {
 | 
			
		||||
                    throw new BusinessValidationFailedException(_localizer["ReadingImage_TaskFinish"]);
 | 
			
		||||
                }
 | 
			
		||||
                Random random = new Random();
 | 
			
		||||
                var skipcount = 0;
 | 
			
		||||
                if (count >= 2)
 | 
			
		||||
                {
 | 
			
		||||
                    skipcount = random.Next(0, count - 1);
 | 
			
		||||
                }
 | 
			
		||||
                task = await query
 | 
			
		||||
                    .Select(x => new GetReadingTaskDto()
 | 
			
		||||
                {
 | 
			
		||||
                    VisitTaskId = x.Id,
 | 
			
		||||
                    ArmEnum = x.ArmEnum,
 | 
			
		||||
| 
						 | 
				
			
			@ -2345,7 +2358,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                    SubjectId = x.SubjectId,
 | 
			
		||||
                    SubjectCode = x.Subject.Code,
 | 
			
		||||
                    TrialReadingCriterionId = x.TrialReadingCriterionId,
 | 
			
		||||
                }).FirstOrDefaultAsync();
 | 
			
		||||
                }).Skip(skipcount).FirstOrDefaultAsync();
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
        private readonly IRepository<Trial> _trialRepository;
 | 
			
		||||
        private readonly IVisitTaskHelpeService _visitTaskHelpeService;
 | 
			
		||||
        private readonly IRepository<VisitTask> _visitTaskRepository;
 | 
			
		||||
        private readonly IRepository<ReadModuleCriterionFrom> _readModuleCriterionFromRepository;
 | 
			
		||||
        private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
 | 
			
		||||
        private readonly IRepository<ReadModuleView> _readModuleViewRepository;
 | 
			
		||||
        private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +42,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            IRepository<Trial> trialRepository,
 | 
			
		||||
            IVisitTaskHelpeService visitTaskHelpeService,
 | 
			
		||||
             IRepository<VisitTask> visitTaskRepository,
 | 
			
		||||
                IRepository<ReadModuleCriterionFrom> readModuleCriterionFromRepository,
 | 
			
		||||
            IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
 | 
			
		||||
            IRepository<ReadModuleView> readModuleViewRepository,
 | 
			
		||||
            IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +59,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            this._trialRepository = trialRepository;
 | 
			
		||||
            this._visitTaskHelpeService = visitTaskHelpeService;
 | 
			
		||||
            this._visitTaskRepository = visitTaskRepository;
 | 
			
		||||
            this._readModuleCriterionFromRepository = readModuleCriterionFromRepository;
 | 
			
		||||
            this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
 | 
			
		||||
            this._readModuleViewRepository = readModuleViewRepository;
 | 
			
		||||
            this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -480,6 +483,14 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
                return ResponseOutput.NotOk(_localizer["ReadModule_SignedDataCannotDelete"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            await _readModuleCriterionFromRepository.BatchDeleteNoTrackingAsync(x => x.ReadModuleId == readModuleId);
 | 
			
		||||
 | 
			
		||||
            if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ReadModuleId == readModuleId))
 | 
			
		||||
            {
 | 
			
		||||
                //---CRC已经确认临床数据 不允许删除
 | 
			
		||||
                return ResponseOutput.NotOk(_localizer["ReadModule_CRCConfirmClinicalData"]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            //增加标准
 | 
			
		||||
            if (readModule.ModuleType==ModuleTypeEnum.Global&&(await _readModuleRepository.AnyAsync(x=>x.ModuleType==ModuleTypeEnum.Oncology&&x.SubjectVisitId== readModule.SubjectVisitId && x.TrialReadingCriterionId==readModule.TrialReadingCriterionId)))
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -500,6 +511,7 @@ namespace IRaCIS.Application.Services
 | 
			
		|||
            });
 | 
			
		||||
 | 
			
		||||
           
 | 
			
		||||
 | 
			
		||||
            await _readModuleRepository.UpdatePartialFromQueryAsync(t => t.Id == readModuleId, x => new ReadModule()
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue