Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
						commit
						55dac5c0c1
					
				| 
						 | 
				
			
			@ -1078,18 +1078,21 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
 | 
			
		||||
            var critrion = await _trialReadingCriterionRepository.FindAsync(trialReadingCriterionId);
 | 
			
		||||
 | 
			
		||||
            var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.DoctorUserId == _userInfo.Id
 | 
			
		||||
 | 
			
		||||
            var visitQuery = _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.DoctorUserId == _userInfo.Id
 | 
			
		||||
            && x.TaskState == TaskState.Effect /*&& x.TrialReadingCriterionId== inDto.TrialReadingCriterionId*/)
 | 
			
		||||
                .WhereIf(critrion.IsAutoCreate == false, t => t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).Any(t => t.ImageFilterState != ImageFilterState.Finished) ?
 | 
			
		||||
                t.VisitTaskNum <= t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId).Min(t => t.SubjectVisit.VisitNum) : true)
 | 
			
		||||
 | 
			
		||||
             
 | 
			
		||||
 | 
			
		||||
                .Where(t => t.Subject.SubjectVisitList.Any(t => t.CheckState != CheckStateEnum.CVPassed) ? t.VisitTaskNum <= t.Subject.SubjectVisitList.Where(t => t.CheckState != CheckStateEnum.CVPassed).Min(t => t.VisitNum) : true)
 | 
			
		||||
                //满足前序访视不存在 需要签署但是未签署  sql  相当复杂    同时想查询所有未读的统计数字 就无法统计   byzhouhang  
 | 
			
		||||
                //但是加字段 IsFrontTaskNeedSignButNotSign   那么签名临床数据的时候,要对该subject 该标准的有效的任务  这个字段需要在签名的时候维护   采取这种方式   统计数字灵活
 | 
			
		||||
                //.Where(t => t.Subject.SubjectVisitTaskList.AsQueryable().Where(visitTaskLambda).Any(c => c.IsNeedClinicalDataSign == true && c.IsClinicalDataSign == false && c.VisitTaskNum < t.VisitTaskNum))
 | 
			
		||||
                .WhereIf(!string.IsNullOrEmpty(inDto.SubjectCode), t => (t.Subject.Code.Contains(inDto.SubjectCode) && t.IsAnalysisCreate == false) || (t.BlindSubjectCode.Contains(inDto.SubjectCode) && t.IsAnalysisCreate))
 | 
			
		||||
                .GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode });
 | 
			
		||||
                .WhereIf(!string.IsNullOrEmpty(inDto.SubjectCode), t => (t.Subject.Code.Contains(inDto.SubjectCode) && t.IsAnalysisCreate == false) || (t.BlindSubjectCode.Contains(inDto.SubjectCode) && t.IsAnalysisCreate));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			var visitGroupQuery = visitQuery.GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode });
 | 
			
		||||
 | 
			
		||||
            var visitTaskQuery = visitGroupQuery.Select(x => new IRUnReadSubjectView()
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -1136,7 +1139,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
            // 有序阅片需要找到最小需要
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var count = visitGroupQuery.Count();
 | 
			
		||||
            // 不这样写会有问题
 | 
			
		||||
            var count = visitQuery.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState != ReadingTaskState.HaveSigned && y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true))
 | 
			
		||||
			 .GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode }).Count();
 | 
			
		||||
 | 
			
		||||
            var result = new List<IRUnReadSubjectView>();
 | 
			
		||||
 | 
			
		||||
            var propName = string.IsNullOrWhiteSpace(inDto.Page.SortField) ? "UnReadCanReadTaskCount" : inDto.Page.SortField;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -990,11 +990,6 @@ and (SubjectVisit.PDState=1 or SubjectVisit.IsEnrollmentConfirm=1)
 | 
			
		|||
) != 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
------------------------维护GroupId
 | 
			
		||||
update ReadingQuestionTrial   set GroupId= (select top 1 id from ReadingQuestionTrial a where  a.Type='group'  and a.GroupName=ReadingQuestionTrial.GroupName and a.ReadingQuestionCriterionTrialId=ReadingQuestionTrial.ReadingQuestionCriterionTrialId) where ReadingQuestionTrial.Type!='group'
 | 
			
		||||
 | 
			
		||||
update ReadingQuestionSystem   set GroupId= (select top 1 id from ReadingQuestionSystem a where  a.Type='group'  and a.GroupName=ReadingQuestionSystem.GroupName and a.ReadingQuestionCriterionSystemId=ReadingQuestionSystem.ReadingQuestionCriterionSystemId) where ReadingQuestionSystem.Type!='group'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue