Uat_Study
parent
b2fc4b9886
commit
19d109b3bf
|
@ -14,6 +14,7 @@ using MassTransit;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Infrastructure.Extention;
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
|
using IRaCIS.Core.Application.Service.Reading.Interface;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Service
|
namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
|
@ -21,8 +22,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
/// 临床答案
|
/// 临床答案
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ApiExplorerSettings(GroupName = "Reading")]
|
[ApiExplorerSettings(GroupName = "Reading")]
|
||||||
public class ClinicalAnswerService : BaseService
|
public class ClinicalAnswerService : BaseService, IClinicalAnswerService
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly IRepository<TrialClinicalQuestion> _trialClinicalQuestionRepository;
|
private readonly IRepository<TrialClinicalQuestion> _trialClinicalQuestionRepository;
|
||||||
|
|
||||||
|
@ -106,7 +107,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
x.IsBaseLine,
|
x.IsBaseLine,
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
var clinicalDataList =await _readingClinicalDataRepository.Where(x =>x.TrialId==inDto.TrialId&&x.ClinicalDataTrialSet.UploadRole== UploadRole.CRC).IgnoreAutoIncludes().ToListAsync();
|
var clinicalDataList =await _readingClinicalDataRepository
|
||||||
|
.WhereIf(inDto.SubjectId != null, x => x.SubjectId == inDto.SubjectId)
|
||||||
|
.Where(x =>x.TrialId==inDto.TrialId&&x.ClinicalDataTrialSet.UploadRole== UploadRole.CRC).IgnoreAutoIncludes().ToListAsync();
|
||||||
|
|
||||||
List<ReadingClinicalData> readingClinicalDatas = new List<ReadingClinicalData>();
|
List<ReadingClinicalData> readingClinicalDatas = new List<ReadingClinicalData>();
|
||||||
|
|
||||||
|
@ -178,11 +181,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
public async Task<List<GetCRCSubjectClinicalOutDto>> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto)
|
public async Task<List<GetCRCSubjectClinicalOutDto>> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
await AutoAddCRCClinical(new AutoAddClinicalInDto()
|
//await AutoAddCRCClinical(new AutoAddClinicalInDto()
|
||||||
{
|
//{
|
||||||
|
|
||||||
TrialId = inDto.TrialId
|
// TrialId = inDto.TrialId
|
||||||
}) ;
|
//}) ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -179,10 +179,10 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<GetCRCClinicalDataOutDto>> GetCRCClinicalData(GetCRCClinicalDataInDto inDto)
|
public async Task<List<GetCRCClinicalDataOutDto>> GetCRCClinicalData(GetCRCClinicalDataInDto inDto)
|
||||||
{
|
{
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator)
|
//if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator)
|
||||||
{
|
//{
|
||||||
await this.AddCRCClinicalData(inDto);
|
// await this.AddCRCClinicalData(inDto);
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
List<GetCRCClinicalDataOutDto> cRCClinicalDataList = await _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.SubjectVisitId)
|
List<GetCRCClinicalDataOutDto> cRCClinicalDataList = await _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.SubjectVisitId)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Application.Service.Reading.Interface
|
||||||
|
{
|
||||||
|
public interface IClinicalAnswerService
|
||||||
|
{
|
||||||
|
Task AutoAddCRCClinical(AutoAddClinicalInDto inDto);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
using EntityFrameworkCore.Triggered;
|
||||||
|
using IRaCIS.Core.Application.Service.Reading.Interface;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Application.Triggers
|
||||||
|
{
|
||||||
|
public class AddCRCCliniaclDataTrigger : IAfterSaveTrigger<SubjectVisit>
|
||||||
|
{
|
||||||
|
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||||
|
private readonly IRepository _repository;
|
||||||
|
private readonly IClinicalAnswerService _iClinicalAnswerService;
|
||||||
|
|
||||||
|
public AddCRCCliniaclDataTrigger(IRepository<SubjectVisit> subjectVisitRepository, IRepository repository, IClinicalAnswerService iClinicalAnswerService)
|
||||||
|
{
|
||||||
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
|
|
||||||
|
_repository = repository;
|
||||||
|
this._iClinicalAnswerService = iClinicalAnswerService;
|
||||||
|
}
|
||||||
|
|
||||||
|
//注意删除不能用扩展方法,必须用EF跟踪的实体 否则不能取到 SubjectVisitId
|
||||||
|
public async Task AfterSave(ITriggerContext<SubjectVisit> context, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
var subjectVisit = context.Entity;
|
||||||
|
|
||||||
|
await _iClinicalAnswerService.AutoAddCRCClinical(new Service.Reading.Dto.AutoAddClinicalInDto()
|
||||||
|
{
|
||||||
|
TrialId = subjectVisit.TrialId,
|
||||||
|
SubjectId = subjectVisit.SubjectId,
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue