This commit is contained in:
he
2024-04-12 14:47:16 +08:00
parent 146fc916d1
commit b3178e6f8d
9 changed files with 147 additions and 36 deletions
@@ -1,4 +1,5 @@
using EntityFrameworkCore.Triggered;
using IRaCIS.Core.Application.Service.Reading.Interface;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.Triggers
@@ -9,13 +10,14 @@ namespace IRaCIS.Core.Application.Triggers
public class SubjectVisitTrigger : IAfterSaveTrigger<NoneDicomStudy>, IAfterSaveTrigger<DicomStudy>, IAfterSaveTrigger<NoneDicomStudyFile>
{
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository _repository;
private readonly IClinicalAnswerService _iClinicalAnswerService;
private readonly IRepository _repository;
public SubjectVisitTrigger(IRepository<SubjectVisit> subjectVisitRepository,IRepository repository)
public SubjectVisitTrigger(IRepository<SubjectVisit> subjectVisitRepository, IClinicalAnswerService iClinicalAnswerService,IRepository repository)
{
_subjectVisitRepository = subjectVisitRepository;
_repository = repository;
this._iClinicalAnswerService = iClinicalAnswerService;
_repository = repository;
}
//注意删除不能用扩展方法,必须用EF跟踪的实体 否则不能取到 SubjectVisitId
@@ -65,13 +67,33 @@ namespace IRaCIS.Core.Application.Triggers
await UpdateSubjectVisitSubmitStateAsync(subjectVisitId);
//添加检查级别临床数据
// 检查类型 ModalityForEdit
// 检查模态 Modalities
var modalityForEdit = context.Entity.ModalityForEdit;
if (modalityForEdit.Contains("PT") && modalityForEdit.Contains("CT"))
{
await _iClinicalAnswerService.AddStudyClinical(new Service.Reading.Dto.AddStudyClinicalInDto()
{
StudyId = studyId,
});
}
}
if (context.ChangeType == ChangeType.Deleted)
{
await UpdateSubjectVisitImageDateAsync(subjectVisitId);
await UpdateSubjectVisitSubmitStateAsync(subjectVisitId);
}
//删除检查级别临床数据
await _iClinicalAnswerService.DeleteStudyClinical(new Service.Reading.Dto.DeleteStudyClinicalInDto()
{
StudyId = context.Entity.Id,
});
}
}