修复bug

Test.EIImageViewer
hang 2022-05-06 08:58:58 +08:00
parent febc651f61
commit caab71f1a3
2 changed files with 15 additions and 19 deletions

View File

@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Image.QA
[TypeFilter(typeof(TrialResourceFilter))] [TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> VerifyQCCanAddChallenge(Guid subjectVisitId, [FromRoute] CurrentQC currentQCType) public async Task<IResponseOutput> VerifyQCCanAddChallenge(Guid subjectVisitId, [FromRoute] CurrentQC currentQCType)
{ {
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
if (!await _repository.AnyAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == subjectVisitId && t.CurrentQCEnum == currentQCType)) if (!await _repository.AnyAsync<TrialQCQuestionAnswer>(t => t.SubjectVisitId == subjectVisitId && t.CurrentQCEnum == currentQCType))
{ {
return ResponseOutput.NotOk("请先核查图像,保存审核问题后,再发质疑。"); return ResponseOutput.NotOk("请先核查图像,保存审核问题后,再发质疑。");
@ -95,7 +95,7 @@ namespace IRaCIS.Core.Application.Image.QA
[Authorize(Policy = "ImageQCPolicy")] [Authorize(Policy = "ImageQCPolicy")]
public async Task<QCChallenge> AddOrUpdateQCChallenge(QCChallengeCommand qaQuestionCommand, Guid trialId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType) public async Task<QCChallenge> AddOrUpdateQCChallenge(QCChallengeCommand qaQuestionCommand, Guid trialId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType)
{ {
VerifyIsCanQC(null, qaQuestionCommand.SubjectVisitId); await VerifyIsCanQCAsync(null, qaQuestionCommand.SubjectVisitId);
if (qaQuestionCommand.Id == null) if (qaQuestionCommand.Id == null)
{ {
@ -156,7 +156,7 @@ namespace IRaCIS.Core.Application.Image.QA
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC) if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC)
{ {
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
} }
var dbQCChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qcChallengeId)).IfNullThrowException(); var dbQCChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qcChallengeId)).IfNullThrowException();
@ -692,7 +692,7 @@ namespace IRaCIS.Core.Application.Image.QA
public async Task<IResponseOutput> AddOrUpdateQCQuestionAnswerList(QCQuestionAnswerCommand[] qcQuestionAnswerCommands, Guid trialId, Guid subjectVisitId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType) public async Task<IResponseOutput> AddOrUpdateQCQuestionAnswerList(QCQuestionAnswerCommand[] qcQuestionAnswerCommands, Guid trialId, Guid subjectVisitId, [FromRoute] TrialQCProcess trialQCProcess, [FromRoute] CurrentQC currentQCType)
{ {
//验证是否能操作 //验证是否能操作
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
//更新 //更新
if (qcQuestionAnswerCommands.Any(t => t.Id != null)) if (qcQuestionAnswerCommands.Any(t => t.Id != null))
@ -762,7 +762,7 @@ namespace IRaCIS.Core.Application.Image.QA
public async Task<IResponseOutput> SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state) public async Task<IResponseOutput> SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state)
{ {
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
var series = await _repository.Where<DicomSeries>(t => t.Id == seriesId, true).IgnoreQueryFilters().FirstOrDefaultAsync(); var series = await _repository.Where<DicomSeries>(t => t.Id == seriesId, true).IgnoreQueryFilters().FirstOrDefaultAsync();
@ -838,7 +838,7 @@ namespace IRaCIS.Core.Application.Image.QA
public async Task<IResponseOutput> UpdateModality(Guid id, Guid subjectVisitId, int type, [FromQuery] string modality, [FromQuery] string bodyPart) public async Task<IResponseOutput> UpdateModality(Guid id, Guid subjectVisitId, int type, [FromQuery] string modality, [FromQuery] string bodyPart)
{ {
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x => x.StudyId == id).ToListAsync(); var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x => x.StudyId == id).ToListAsync();
var study = await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == id); var study = await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == id);
@ -931,7 +931,7 @@ namespace IRaCIS.Core.Application.Image.QA
[HttpGet("{subjectVisitId:guid}")] [HttpGet("{subjectVisitId:guid}")]
public async Task<IResponseOutput> VerifyCanQCPassedOrFailed(Guid subjectVisitId) public async Task<IResponseOutput> VerifyCanQCPassedOrFailed(Guid subjectVisitId)
{ {
VerifyIsCanQC(null, subjectVisitId); await VerifyIsCanQCAsync(null, subjectVisitId);
if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false)) if (await _repository.AnyAsync<QCChallenge>(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
{ {
@ -1029,7 +1029,7 @@ namespace IRaCIS.Core.Application.Image.QA
#endregion #endregion
public async void VerifyIsCanQC(SubjectVisit? subjectVisit, Guid? sujectVisitId = null) public async Task VerifyIsCanQCAsync(SubjectVisit? subjectVisit, Guid? sujectVisitId = null)
{ {
if (sujectVisitId != null) if (sujectVisitId != null)
{ {
@ -1406,7 +1406,7 @@ namespace IRaCIS.Core.Application.Image.QA
var dbSubjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); var dbSubjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
VerifyIsCanQC(dbSubjectVisit); await VerifyIsCanQCAsync(dbSubjectVisit);
//有人QC Passed //有人QC Passed
if (auditState == AuditStateEnum.QCPassed) if (auditState == AuditStateEnum.QCPassed)

View File

@ -104,11 +104,7 @@ namespace IRaCIS.Application.Services
} }
[HttpDelete("{id:guid}/{trialId:guid}")] [HttpDelete("{id:guid}/{trialId:guid}")]
[TrialAudit(AuditType.SubjectAudit, AuditOptType.DeleteSubject)] [TrialAudit(AuditType.SubjectAudit, AuditOptType.DeleteSubject)]
[TypeFilter(typeof(TrialResourceFilter))] [TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> DeleteSubject(Guid id) public async Task<IResponseOutput> DeleteSubject(Guid id)