From d53e43a82bf0a6f8084500c6d9d88c109d64f681 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 8 Jun 2022 15:10:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=8A=B6=E6=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 4 ++-- .../Service/QC/QCOperationService.cs | 1 + .../Triggers/SubjectVisitCheckPassedTrigger.cs | 2 +- .../Triggers/SubjectVisitTrigger.cs | 17 ++++++++++++----- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index f04a8e6f8..ae5b96efb 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -473,8 +473,8 @@ namespace IRaCIS.Core.API.Controllers - // 上传非Dicom 后 将状态改为待提交 分为普通上传 和QC后重传 普通上传时才改为待提交 - await _repository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit }); + //// 上传非Dicom 后 将状态改为待提交 分为普通上传 和QC后重传 普通上传时才改为待提交 + //await _repository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit }); var studyCode = await _repository.Where(t => t.Id == noneDicomStudyId).Select(t => t.StudyCode).FirstOrDefaultAsync(); diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 1292913d7..33bd9b5e8 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -326,6 +326,7 @@ namespace IRaCIS.Core.Application.Image.QA [HttpPut("{trialId:guid}")] [TypeFilter(typeof(TrialResourceFilter))] [Authorize(Policy = IRaCISPolicy.PM_APM)] + [UnitOfWork] public async Task SetCheckPass(SetCheckPassDt data) { //if (_userInfo.UserTypeEnumInt != (int)UserTypeEnum.ProjectManager && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.APM) diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs index 4e9813dac..d5db333f4 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitCheckPassedTrigger.cs @@ -51,7 +51,7 @@ namespace IRaCIS.Core.Application.Triggers if (_taskAllocationRuleRepository.Where(t => t.TrialId == subjectVisit.TrialId && t.IsEnable).Count() < 2) { - throw new BusinessValidationFailedException("能参与读片的医生数量必须大于2"); + throw new BusinessValidationFailedException("能参与读片的医生数量必须大于2,自动分配任务中止"); } var dbMaxCode = _visitTaskRepository.Where(t => t.TrialId == subjectVisit.TrialId).Select(t => t.Code).DefaultIfEmpty().Max(); diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs index 005dbce4a..979c1f779 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs @@ -31,6 +31,7 @@ namespace IRaCIS.Core.Application.Triggers { VisitExecuted = VisitExecutedEnum.Executed }); + await UpdateSubjectVisitSubmitStateAsync(subjectVisitId); } @@ -61,6 +62,9 @@ namespace IRaCIS.Core.Application.Triggers { VisitExecuted = VisitExecutedEnum.Executed }); + + await UpdateSubjectVisitSubmitStateAsync(subjectVisitId); + } if (context.ChangeType == ChangeType.Deleted) @@ -73,12 +77,10 @@ namespace IRaCIS.Core.Application.Triggers public async Task AfterSave(ITriggerContext context, CancellationToken cancellationToken) { - var subjectVisitId =await _subjectVisitRepository._dbContext.NoneDicomStudy.Where(x=>x.Id== context.Entity.NoneDicomStudyId).Select(x=>x.SubjectVisitId).FirstOrDefaultAsync(); + var subjectVisitId =await _repository.Where(x=>x.Id== context.Entity.NoneDicomStudyId).Select(x=>x.SubjectVisitId).FirstOrDefaultAsync(); - - if (context.ChangeType == ChangeType.Deleted) - { - + if (context.ChangeType == ChangeType.Deleted || context.ChangeType == ChangeType.Added) + { await UpdateSubjectVisitSubmitStateAsync(subjectVisitId); } @@ -98,6 +100,11 @@ namespace IRaCIS.Core.Application.Triggers await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.ToSubmit, u => new SubjectVisit() { VisitExecuted = 0, SVENDTC = null, SVSTDTC = null, SubmitState = SubmitStateEnum.None },true); } + else + { + // 上传非Dicom 后 将状态改为待提交 分为普通上传 和QC后重传 普通上传时才改为待提交 + await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit },true); + } } /// 处理拍片日期