5.1前bug修复
parent
8bdc6d97d5
commit
18aca83cd7
|
@ -268,10 +268,7 @@ 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