5.1前bug修复
							parent
							
								
									8bdc6d97d5
								
							
						
					
					
						commit
						18aca83cd7
					
				| 
						 | 
				
			
			@ -268,11 +268,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
 | 
			
		||||
            qaReply.UserTypeEnum = (UserTypeEnum)_userInfo.UserTypeEnumInt;
 | 
			
		||||
 | 
			
		||||
            var dbQCChallenge = await _repository.FirstOrDefaultAsync<QCChallenge>(t => t.Id == qaDialogCommand.QCChallengeId);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            if (dbQCChallenge == null) return Null404NotFound(dbQCChallenge);
 | 
			
		||||
 | 
			
		||||
            var dbQCChallenge = (await _repository.FirstOrDefaultAsync<QCChallenge>(t => t.Id == qaDialogCommand.QCChallengeId)).IfNullThrowException();
 | 
			
		||||
        
 | 
			
		||||
            dbQCChallenge.LatestMsgTime = DateTime.Now;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1271,22 +1268,22 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
            {
 | 
			
		||||
                var sv = dbSubjectVisitList[0];
 | 
			
		||||
 | 
			
		||||
                var existObj = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.SubjectId == sv.SubjectId && t.SubmitState != SubmitStateEnum.Submitted && t.VisitNum < sv.VisitNum);
 | 
			
		||||
                var nameList = await  _subjectVisitRepository.Where(t => t.SubjectId == sv.SubjectId && t.SubmitState != SubmitStateEnum.Submitted && t.VisitNum < sv.VisitNum).Select(t=>t.VisitName).ToListAsync()??new List<string>();
 | 
			
		||||
 | 
			
		||||
                if (sv.PDState == PDStateEnum.PDProgress)
 | 
			
		||||
                {
 | 
			
		||||
 | 
			
		||||
                    if (existObj != null)
 | 
			
		||||
                    if (nameList.Count()>0)
 | 
			
		||||
                    {
 | 
			
		||||
                        return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{existObj.VisitName},未提交,疾病进展确认对阅片时限要求很高,请将上述访视提交或标记失访后,再提交当前访视!", 1,ApiResponseCodeEnum.NeedTips);
 | 
			
		||||
                        return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{string.Join('、',nameList)},未提交,疾病进展确认对阅片时限要求很高,请将上述访视提交或标记失访后,再提交当前访视!", 1,ApiResponseCodeEnum.NeedTips);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    if (existObj != null)
 | 
			
		||||
                    if (nameList.Count() > 0)
 | 
			
		||||
                    {
 | 
			
		||||
 | 
			
		||||
                        return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{existObj.VisitName},未提交。请在该访视提交后,尽快完成上述访视的影像上传和提交。", 0, ApiResponseCodeEnum.NeedTips);
 | 
			
		||||
                        return ResponseOutput.NotOk($"系统检测发现该受试者当前访视之前的访视:{string.Join('、', nameList)},未提交。请在该访视提交后,尽快完成上述访视的影像上传和提交。", 0, ApiResponseCodeEnum.NeedTips);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -1981,6 +1978,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
        [HttpPost("{trialId:guid}")]
 | 
			
		||||
        public async Task<IResponseOutput> ForwardSVDicomImage(Guid[] subjectVisitIdList)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            bool isSuccess = false;
 | 
			
		||||
            List<DataInspection> datas = new List<DataInspection>();
 | 
			
		||||
 | 
			
		||||
            foreach (var subjectVisitId in subjectVisitIdList)
 | 
			
		||||
| 
						 | 
				
			
			@ -2033,9 +2032,11 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
 | 
			
		||||
                        foreach (var studyFolder in studyFolders)
 | 
			
		||||
                        {
 | 
			
		||||
                            if (!session.FileExists(Path.Combine(targetPath, studyFolder.Name)))
 | 
			
		||||
                            var targetFolder = Path.Combine(targetPath, studyFolder.Name);
 | 
			
		||||
 | 
			
		||||
                            if (!session.FileExists(targetFolder))
 | 
			
		||||
                            {
 | 
			
		||||
                                session.CreateDirectory(targetPath);
 | 
			
		||||
                                session.CreateDirectory(targetFolder);
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            foreach (var file in studyFolder.GetFiles())
 | 
			
		||||
| 
						 | 
				
			
			@ -2043,7 +2044,7 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
                                if (file.Extension.Contains("dcm", StringComparison.OrdinalIgnoreCase))
 | 
			
		||||
                                {
 | 
			
		||||
                                    string remoteFilePath =
 | 
			
		||||
                                        RemotePath.TranslateLocalPathToRemote(file.FullName, studyFolder.FullName, targetPath);
 | 
			
		||||
                                        RemotePath.TranslateLocalPathToRemote(file.FullName, studyFolder.FullName, targetFolder);
 | 
			
		||||
 | 
			
		||||
                                    var result = session.PutFiles(file.FullName, remoteFilePath, false);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2062,6 +2063,7 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
                    await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId,
 | 
			
		||||
                        u => new SubjectVisit() { ForwardState = ForwardStateEnum.Forwarded, ForwardUserId = _userInfo.Id, ForwardTime = DateTime.Now });
 | 
			
		||||
 | 
			
		||||
                    isSuccess = true;
 | 
			
		||||
                    keyValuePairs["ForwardState"] = ForwardStateEnum.Forwarded;
 | 
			
		||||
                }
 | 
			
		||||
                catch (Exception e)
 | 
			
		||||
| 
						 | 
				
			
			@ -2070,6 +2072,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
                    await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisitId,
 | 
			
		||||
                          u => new SubjectVisit() { ForwardState = ForwardStateEnum.ForwardFailed });
 | 
			
		||||
                    keyValuePairs["ForwardState"] = ForwardStateEnum.ForwardFailed;
 | 
			
		||||
 | 
			
		||||
                  return  ResponseOutput.NotOk("转发失败 "+e.Message);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2083,7 +2087,7 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
 | 
			
		||||
            await _subjectVisitRepository.SaveChangesAsync();
 | 
			
		||||
 | 
			
		||||
            return ResponseOutput.Ok();
 | 
			
		||||
            return isSuccess?ResponseOutput.Ok():ResponseOutput.NotOk("转发失败");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -196,7 +196,7 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                 .ForMember(d => d.LatestReplyUserName, u => u.MapFrom(t => t.LatestReplyUser.UserName))
 | 
			
		||||
                 .ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.CreateUser.UserName))
 | 
			
		||||
                 .ForMember(d => d.CurrentActionUserId, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUserId))
 | 
			
		||||
                 .ForMember(d => d.CreateUserName, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUser.UserName))
 | 
			
		||||
                 .ForMember(d => d.CurrentActionUserName, u => u.MapFrom(t => t.SubjectVisit.CurrentActionUser.UserName))
 | 
			
		||||
 | 
			
		||||
                 .ForMember(d => d.SubjectId, u => u.MapFrom(t => t.SubjectVisit.SubjectId ))
 | 
			
		||||
                .ForMember(d => d.ChallengeCode, u => u.MapFrom(s => "Q" + s.ChallengeCode.ToString("D5")));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,9 +32,10 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
                {
 | 
			
		||||
                    if (context.Entity.IsFinalVisit)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (await _subjectVisitRepository.AnyAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitNum > subjectVisit.VisitNum && t.SubmitState == SubmitStateEnum.ToSubmit))
 | 
			
		||||
                        if (await _subjectVisitRepository.AnyAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitNum > subjectVisit.VisitNum && 
 | 
			
		||||
                        (t.SubmitState == SubmitStateEnum.ToSubmit|| t.SubmitState==SubmitStateEnum.Submitted)))
 | 
			
		||||
                        {
 | 
			
		||||
                            throw new BusinessValidationFailedException("该受试者此访视后有影像上传,该访视不允许设置为末次访视");
 | 
			
		||||
                            throw new BusinessValidationFailedException("该受试者已有后续访视已上传影像或已提交,该访视不允许设置为末次访视");
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        await _subjectRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisit.SubjectId,
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +43,8 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
                        //末次访视后的  访视设置为不可用
 | 
			
		||||
                        await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitNum > subjectVisit.VisitNum, u => new SubjectVisit() { VisitExecuted = VisitExecutedEnum.Unavailable });
 | 
			
		||||
                        await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitNum > subjectVisit.VisitNum  && 
 | 
			
		||||
                        t.VisitExecuted==VisitExecutedEnum.UnExecuted, u => new SubjectVisit() { VisitExecuted = VisitExecutedEnum.Unavailable });
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue