diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index 838df7229..1e76770b7 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -4,6 +4,7 @@ // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using IRaCIS.Core.Application.Filter; +using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; using Medallion.Threading; using Microsoft.AspNetCore.Mvc; @@ -58,7 +59,7 @@ namespace IRaCIS.Core.Application.Contracts [UnitOfWork] - [TrialGlobalLimit( "AfterStopCannNotOpt" )] + [TrialGlobalLimit("AfterStopCannNotOpt")] public async Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy) { @@ -70,6 +71,8 @@ namespace IRaCIS.Core.Application.Contracts } + + NoneDicomStudy? optEntity = null; var @lock = _distributedLockProvider.CreateLock($"NoneDicomCode"); @@ -85,6 +88,7 @@ namespace IRaCIS.Core.Application.Contracts optEntity = await _noneDicomStudyRepository.InsertFromDTOAsync(addOrEditNoneDicomStudy); optEntity.StudyCode = AppSettings.GetCodeStr(optEntity.Code, nameof(NoneDicomStudy)); + } else { @@ -105,7 +109,7 @@ namespace IRaCIS.Core.Application.Contracts } - [TrialGlobalLimit( "AfterStopCannNotOpt" )] + [TrialGlobalLimit("AfterStopCannNotOpt")] [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}")] public async Task DeleteNoneDicomStudy(Guid noneDicomStudyId, Guid subjectVisitId) { @@ -128,7 +132,7 @@ namespace IRaCIS.Core.Application.Contracts [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyFileId:guid}")] - [TrialGlobalLimit( "AfterStopCannNotOpt" )] + [TrialGlobalLimit("AfterStopCannNotOpt")] public async Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId) { //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 @@ -155,7 +159,7 @@ namespace IRaCIS.Core.Application.Contracts public async Task> GetNoneDicomStudyFileList(Guid noneDicomStudyId) { return await _noneDicomStudyFileRepository.Where(t => t.NoneDicomStudyId == noneDicomStudyId) - .ProjectTo(_mapper.ConfigurationProvider).OrderBy(t=>t.CreateTime).ToListAsync(); + .ProjectTo(_mapper.ConfigurationProvider).OrderBy(t => t.CreateTime).ToListAsync(); } [HttpGet("{subjectVisitId:guid}")] diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 95211567e..ccee68d94 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -254,6 +254,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } } + findStudy = addStudy; + } else { @@ -321,15 +323,19 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc } - + #region 只配置单个部位自动赋值 //项目配置的影像部位 - var trialBodyPartList = _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialBodyPartList).ToList(); + var trialBodyParts = _trialRepository.Where(t => t.Id == trialId).Select(t => t.BodyPartTypes).FirstOrDefault(); + + var trialBodyPartList = trialBodyParts.Split('|', StringSplitOptions.RemoveEmptyEntries); if (trialBodyPartList.Count() == 1) { var first = trialBodyPartList.First(); - findStudy.BodyPartForEdit = first.Code; + findStudy.BodyPartForEdit = first; } + #endregion + var @lock2 = _distributedLockProvider.CreateLock($"StudyCommit");