From 505eb1b33b43bae8da62aa3f62a6d51b762aeea2 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 21 Nov 2022 16:02:22 +0800 Subject: [PATCH] =?UTF-8?q?CRC=20=20=E4=BF=AE=E6=94=B9=20Modality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 74 ++++--------------- 1 file changed, 13 insertions(+), 61 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 44bab361..2f7d1f7a 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -594,65 +594,7 @@ namespace IRaCIS.Core.Application.Image.QA [HttpPut("{trialId:guid}/{subjectVisitId:guid}/{studyId:guid}/{seriesId:guid}/{state:int}")] [TypeFilter(typeof(TrialResourceFilter))] [Authorize(Policy = IRaCISPolicy.IQC)] - public async Task SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state) - { - - await VerifyIsCanQCAsync(null, subjectVisitId); - - var series = (await _repository.Where(t => t.Id == seriesId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException(); - - - if (state == 1) - { - series.IsReading = false; - } - else if (state == 2) - { - series.IsReading = true; - } - else if (state == 4) - { - series.IsDeleted = true; - - var study = (await _repository.Where(t => t.Id == studyId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException(); - - var instanceIdList = await _repository.Where(t => t.SeriesId == seriesId).Select(t => t.Id).ToListAsync(); - - //instanceIdList.ForEach(t => - //{ - // var path = _dicomFileStoreHelper.GetInstanceFilePath(study, seriesId, t.ToString()); - - // if (System.IO.File.Exists(path)) - // { - // File.Delete(path); - // } - - //}); - - study.InstanceCount = study.InstanceCount - instanceIdList.Count; - study.SeriesCount = study.SeriesCount - 1; - - study.IsDeleted = study.SeriesCount == 0; - - } - else if (state == 5) - { - series.IsDeleted = false; - - var study = (await _repository.Where(t => t.Id == studyId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException(); - - - var instanceIdList = await _repository.Where(t => t.SeriesId == seriesId).Select(t => t.Id).ToListAsync(); - - study.InstanceCount = study.InstanceCount + instanceIdList.Count; - - study.SeriesCount = study.SeriesCount + 1; - - study.IsDeleted = study.SeriesCount == 0; - } - - return ResponseOutput.Ok(await _repository.SaveChangesAsync()); - } + public async Task SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state /// @@ -661,11 +603,21 @@ namespace IRaCIS.Core.Application.Image.QA /// [HttpPost("{trialId:guid}")] [TypeFilter(typeof(TrialResourceFilter))] - [Authorize(Policy = IRaCISPolicy.IQC)] + [Authorize(Policy = IRaCISPolicy.CRC_IQC)] public async Task UpdateModality(UpdateModalityCommand updateModalityCommand) { + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC) + { + await VerifyIsCanQCAsync(null, updateModalityCommand.SubjectVisitId); - await VerifyIsCanQCAsync(null, updateModalityCommand.SubjectVisitId); + } + else + { + if(await _subjectVisitRepository.AnyAsync(t=>t.Id==updateModalityCommand.SubjectVisitId && t.SubmitState == SubmitStateEnum.Submitted)) + { + throw new BusinessValidationFailedException("提交之后,不允许修改!"); + } + } DateTime time = DateTime.Now.AddMilliseconds(500);