修改一版

Uat_Study
he 2022-06-28 17:57:38 +08:00
parent 84049af89d
commit 8f0f46194c
2 changed files with 58 additions and 41 deletions

View File

@ -24,12 +24,14 @@ namespace IRaCIS.Application.Services
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository; private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository; private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository;
private readonly IRepository<PreviousPDF> _previousPDFRepository; private readonly IRepository<PreviousPDF> _previousPDFRepository;
private readonly IRepository<Trial> _trialRepository;
public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository, public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository, IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository, IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<PreviousPDF> previousPDFRepository IRepository<PreviousPDF> previousPDFRepository,
IRepository<Trial> trialRepository
) )
{ {
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
@ -37,6 +39,7 @@ namespace IRaCIS.Application.Services
_clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
_clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._previousPDFRepository = previousPDFRepository; this._previousPDFRepository = previousPDFRepository;
this._trialRepository = trialRepository;
} }
@ -107,26 +110,29 @@ namespace IRaCIS.Application.Services
/// <param name="trialId"></param> /// <param name="trialId"></param>
/// <returns></returns> /// <returns></returns>
private async Task<IResponseOutput> AddTrialClinicalDataTrialSet(Guid trialId) private async Task AddTrialClinicalDataTrialSet(Guid trialId)
{
var syncClinicalDataTime = await _trialRepository.Where(x => x.Id == trialId).Select(x => x.SyncClinicalDataTime).FirstOrDefaultAsync();
if (syncClinicalDataTime != null)
{ {
var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync(); var systemClinicalDataList = await _clinicalDataSystemSetRepository.AsQueryable().ToListAsync();
var systemIds = systemClinicalDataList.Select(x => x.Id).ToList(); var systemIds = systemClinicalDataList.Select(x => x.Id).ToList();
var trialSystemIds =await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync(); var trialSystemIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == trialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync();
//var needUpdateIds = systemIds.Intersect(trialSystemIds).ToList(); //var needUpdateIds = systemIds.Intersect(trialSystemIds).ToList();
var needAddids = systemIds.Except(trialSystemIds).ToList(); var needAddids = systemIds.Except(trialSystemIds).ToList();
var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList(); var systemDataList = systemClinicalDataList.Where(x => needAddids.Contains(x.Id)).ToList();
List<ClinicalDataTrialSet> dataSets = systemDataList.Select(x => new ClinicalDataTrialSet() List<ClinicalDataTrialSet> dataSets = systemDataList.Select(x => new ClinicalDataTrialSet()
{ {
Id= NewId.NextGuid(), Id = NewId.NextGuid(),
SystemClinicalDataSetId=x.Id, SystemClinicalDataSetId = x.Id,
ClinicalDataSetName=x.ClinicalDataSetName, ClinicalDataSetName = x.ClinicalDataSetName,
ClinicalDataLevel=x.ClinicalDataLevel, ClinicalDataLevel = x.ClinicalDataLevel,
ClinicalUploadType=x.ClinicalUploadType, ClinicalUploadType = x.ClinicalUploadType,
UploadRole=x.UploadRole, UploadRole = x.UploadRole,
FileName=x.FileName, FileName = x.FileName,
Path=x.Path, Path = x.Path,
TrialId= trialId, TrialId = trialId,
}).ToList(); }).ToList();
@ -147,9 +153,14 @@ namespace IRaCIS.Application.Services
// }); // });
//} //}
await _trialRepository.BatchUpdateNoTrackingAsync(x => x.Id == trialId, x => new Trial()
{
SyncClinicalDataTime = DateTime.Now,
});
var result = await _clinicalDataTrialSetRepository.SaveChangesAsync();
}
var result= await _clinicalDataTrialSetRepository.SaveChangesAsync();
return ResponseOutput.Ok(result);
} }
/// <summary> /// <summary>

View File

@ -356,6 +356,12 @@ namespace IRaCIS.Core.Domain.Models
public bool IsReadingShowPreviousResults { get; set; } = false; public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 同步临床数据时间
/// </summary>
public DateTime? SyncClinicalDataTime { get; set; }
//public Guid? ReviewTypeId { get; set; } = Guid.Empty; //public Guid? ReviewTypeId { get; set; } = Guid.Empty;
//[ForeignKey("ReviewTypeId")] //[ForeignKey("ReviewTypeId")]