Compare commits
No commits in common. "d578feec1801e84cd2b8d4fa8f862086fd119d83" and "8760ad390488daea9156787686077ad2d6cf1bd9" have entirely different histories.
d578feec18
...
8760ad3904
|
|
@ -13062,16 +13062,6 @@
|
||||||
影像质控
|
影像质控
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.MassTransit.Recurring.UrgentIRUnReadTaskRecurringEventConsumer">
|
|
||||||
<summary>
|
|
||||||
10分钟检测通知IR 已通知的进行标注,下次不会再通知
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="M:IRaCIS.Core.Application.MassTransit.Recurring.UrgentIRUnReadTaskRecurringEventConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.ReadingQuestionCriterionTrial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.VisitTask},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialUser})">
|
|
||||||
<summary>
|
|
||||||
10分钟检测通知IR 已通知的进行标注,下次不会再通知
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:IRaCIS.Core.Application.ViewModel.TaskAllocationRuleView">
|
<member name="T:IRaCIS.Core.Application.ViewModel.TaskAllocationRuleView">
|
||||||
<summary> TaskAllocationRuleView 列表视图模型 </summary>
|
<summary> TaskAllocationRuleView 列表视图模型 </summary>
|
||||||
</member>
|
</member>
|
||||||
|
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
||||||
using IRaCIS.Application.Contracts;
|
|
||||||
using IRaCIS.Core.Application.Contracts;
|
|
||||||
using IRaCIS.Core.Application.MassTransit.Consumer;
|
|
||||||
using MassTransit;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.MassTransit.Recurring
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 10分钟检测通知IR 已通知的进行标注,下次不会再通知
|
|
||||||
/// </summary>
|
|
||||||
public class UrgentIRUnReadTaskRecurringEventConsumer(IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository,
|
|
||||||
IRepository<VisitTask> _visitTaskRepository, IRepository<TrialUser> _trialUserRepository) : IConsumer<UrgentIRUnReadTaskRecurringEvent>
|
|
||||||
{
|
|
||||||
public Task Consume(ConsumeContext<UrgentIRUnReadTaskRecurringEvent> context)
|
|
||||||
{
|
|
||||||
var trialId = context.Message.TrialId;
|
|
||||||
|
|
||||||
//找到该项目所有的IR 并且有加急 和Pd 未读的任务
|
|
||||||
|
|
||||||
Expression<Func<VisitTask, bool>> comonTaskFilter = t => t.TrialId == trialId && t.TaskState == TaskState.Effect && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskAllocationState == TaskAllocationState.Allocated;
|
|
||||||
|
|
||||||
var trialUserList = _trialUserRepository.Where(t => t.TrialId == trialId).Select(t => new
|
|
||||||
{
|
|
||||||
t.UserId,
|
|
||||||
t.User.FullName,
|
|
||||||
t.User.UserName,
|
|
||||||
t.Trial.TrialCode,
|
|
||||||
t.Trial.ResearchProgramNo,
|
|
||||||
TrialReadingCriterionList = t.Trial.TrialReadingCriterionList.Select(t => new { t.CriterionName, TrialReadingCriterionId = t.Id }).ToList()
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
foreach (var trialUser in trialUserList)
|
|
||||||
{
|
|
||||||
|
|
||||||
var userId=trialUser.UserId;
|
|
||||||
|
|
||||||
var doctorCriterionList = _trialReadingCriterionRepository.Where(t => t.IsSigned && t.IsConfirm && t.Trial.TrialUserList.Any(t => t.UserId == userId))
|
|
||||||
.Select(c => new
|
|
||||||
{
|
|
||||||
|
|
||||||
TrialReadingCriterionId = c.Id,
|
|
||||||
|
|
||||||
UnReadList = c.VisitTaskList
|
|
||||||
.Where(t => t.DoctorUserId == userId && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)
|
|
||||||
// 前序 不存在 未一致性核查未通过的
|
|
||||||
.Where(t => !t.Subject.SubjectVisitList.Any(sv => sv.CheckState != CheckStateEnum.CVPassed && t.VisitTaskNum > sv.VisitNum))
|
|
||||||
//前序 不存在 未生成任务的访视
|
|
||||||
.Where(t => c.IsAutoCreate == false ? !t.Subject.SubjectCriteriaEvaluationVisitFilterList.Where(d => d.TrialReadingCriterionId == t.TrialReadingCriterionId).Any(f => f.IsGeneratedTask == false && t.VisitTaskNum > f.SubjectVisit.VisitNum) : true)
|
|
||||||
|
|
||||||
.Where(y => y.IsFrontTaskNeedSignButNotSign == false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true))
|
|
||||||
|
|
||||||
.Where(t=> t.SourceSubjectVisit.PDState==PDStateEnum.PDProgress || t.SourceSubjectVisit.IsEnrollmentConfirm ||
|
|
||||||
t.ReadModule.SubjectVisit.PDState == PDStateEnum.PDProgress || t.ReadModule.SubjectVisit.IsEnrollmentConfirm)
|
|
||||||
.Select(c=>new
|
|
||||||
{
|
|
||||||
SubejctCode= c.IsAnalysisCreate? c.BlindSubjectCode: c.Subject.Code,
|
|
||||||
c.TaskBlindName,
|
|
||||||
c.TaskName
|
|
||||||
}).ToList()
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Console.WriteLine(DateTime.Now);
|
|
||||||
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -31,10 +31,7 @@ public class ImageQCRecurringEvent : DomainEvent
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
//加急的待阅任务时,过10分钟,统计10分钟内该IR账号的全部待阅任务
|
public class TestEvent
|
||||||
public class UrgentIRUnReadTaskRecurringEvent : DomainEvent
|
|
||||||
{
|
{
|
||||||
public Guid TrialId { get; set; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue