parent
7be63f08b5
commit
718234f631
|
@ -20,6 +20,7 @@ using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using System;
|
using System;
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
|
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Service
|
namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
|
@ -33,6 +34,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
private readonly IRepository<TaskConsistentRule> _taskConsistentRuleRepository;
|
private readonly IRepository<TaskConsistentRule> _taskConsistentRuleRepository;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IRepository<ReadingConsistentClinicalData> _readingConsistentClinicalDataRepository;
|
private readonly IRepository<ReadingConsistentClinicalData> _readingConsistentClinicalDataRepository;
|
||||||
|
private readonly IReadingClinicalDataService _readingClinicalDataService;
|
||||||
private readonly IRepository<SubjectUser> _subjectUserRepository;
|
private readonly IRepository<SubjectUser> _subjectUserRepository;
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<Enroll> _enrollRepository;
|
private readonly IRepository<Enroll> _enrollRepository;
|
||||||
|
@ -47,12 +49,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
public TaskConsistentRuleService(IRepository<VisitTask> visitTaskRepository,
|
public TaskConsistentRuleService(IRepository<VisitTask> visitTaskRepository,
|
||||||
IRepository<ReadingConsistentClinicalData> readingConsistentClinicalDataRepository,
|
IRepository<ReadingConsistentClinicalData> readingConsistentClinicalDataRepository,
|
||||||
|
IReadingClinicalDataService readingClinicalDataService,
|
||||||
IRepository<Enroll> enrollRepository, IRepository<TaskConsistentRule> taskConsistentRuleRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<Subject> subjectRepository, IDistributedLockProvider distributedLockProvider,
|
IRepository<Enroll> enrollRepository, IRepository<TaskConsistentRule> taskConsistentRuleRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<Subject> subjectRepository, IDistributedLockProvider distributedLockProvider,
|
||||||
IRepository<Trial> trialRepository, IRepository<TrialSite> trialSiteRepository, IRepository<TrialVirtualSiteCodeUpdate> trialVirtualSiteCodeUpdateRepository, IVisitTaskHelpeService visitTaskCommonService)
|
IRepository<Trial> trialRepository, IRepository<TrialSite> trialSiteRepository, IRepository<TrialVirtualSiteCodeUpdate> trialVirtualSiteCodeUpdateRepository, IVisitTaskHelpeService visitTaskCommonService)
|
||||||
{
|
{
|
||||||
_taskConsistentRuleRepository = taskConsistentRuleRepository;
|
_taskConsistentRuleRepository = taskConsistentRuleRepository;
|
||||||
_visitTaskRepository = visitTaskRepository;
|
_visitTaskRepository = visitTaskRepository;
|
||||||
this._readingConsistentClinicalDataRepository = readingConsistentClinicalDataRepository;
|
this._readingConsistentClinicalDataRepository = readingConsistentClinicalDataRepository;
|
||||||
|
this._readingClinicalDataService = readingClinicalDataService;
|
||||||
_subjectUserRepository = subjectUserRepository;
|
_subjectUserRepository = subjectUserRepository;
|
||||||
_subjectRepository = subjectRepository;
|
_subjectRepository = subjectRepository;
|
||||||
_enrollRepository = enrollRepository;
|
_enrollRepository = enrollRepository;
|
||||||
|
@ -122,15 +126,17 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var pageList = await visitTaskQueryable.ToPagedListAsync(queryVisitTask.PageIndex, queryVisitTask.PageSize, queryVisitTask.SortField, queryVisitTask.Asc, string.IsNullOrWhiteSpace(queryVisitTask.SortField), defalutSortArray);
|
var pageList = await visitTaskQueryable.ToPagedListAsync(queryVisitTask.PageIndex, queryVisitTask.PageSize, queryVisitTask.SortField, queryVisitTask.Asc, string.IsNullOrWhiteSpace(queryVisitTask.SortField), defalutSortArray);
|
||||||
#region 统计一致性分析临床数据数量
|
#region 统计一致性分析临床数据数量
|
||||||
var readingIdList = pageList.CurrentPageData.Select(x => x.SouceReadModuleId).ToList();
|
|
||||||
|
|
||||||
readingIdList.AddRange(pageList.CurrentPageData.Select(x => x.SourceSubjectVisitId).ToList());
|
|
||||||
readingIdList = readingIdList.Where(x => x != null).ToList();
|
|
||||||
|
|
||||||
var readIds = await _readingConsistentClinicalDataRepository.Where(x => readingIdList.Contains(x.ReadingId)).Select(x => x.ReadingId).ToListAsync();
|
|
||||||
foreach (var item in pageList.CurrentPageData)
|
foreach (var item in pageList.CurrentPageData)
|
||||||
{
|
{
|
||||||
item.ConsistentClinicalDataCount = readIds.Select(x => x == item.SouceReadModuleId).Count() + readIds.Select(x => x == item.SourceSubjectVisitId).Count();
|
item.ConsistentClinicalDataCount = (await _readingClinicalDataService.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto()
|
||||||
|
{
|
||||||
|
SubjectId = item.SubjectId,
|
||||||
|
TrialId = item.TrialId,
|
||||||
|
SelectIsSign = false,
|
||||||
|
IsGetAllConsistencyAnalysis = false,
|
||||||
|
VisitTaskId = item.Id,
|
||||||
|
})).Count();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -31,5 +31,6 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
|
Task DealVisiTaskClinicalDataSignedAsync(Guid trialId, Guid subjectId, Guid readingId, bool isVisit, Guid trialReadingCritrialId);
|
||||||
|
|
||||||
Task<IResponseOutput> SignConsistencyAnalysisReadingClinicalData(SignConsistencyAnalysisReadingClinicalDataInDto inDto);
|
Task<IResponseOutput> SignConsistencyAnalysisReadingClinicalData(SignConsistencyAnalysisReadingClinicalDataInDto inDto);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue