修改入组确认发送逻辑
parent
f0414fcdc3
commit
2b3d5b4960
|
@ -262,6 +262,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
t.SubjectId,
|
t.SubjectId,
|
||||||
t.Subject.SiteId,
|
t.Subject.SiteId,
|
||||||
|
|
||||||
|
t.DoctorUserId,
|
||||||
t.ReadingTaskState,
|
t.ReadingTaskState,
|
||||||
t.ReadingCategory,
|
t.ReadingCategory,
|
||||||
t.SignTime,
|
t.SignTime,
|
||||||
|
@ -472,13 +473,41 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
//如果其他阅片人已经做了,说明发送了入组确认报告,第二个人做完就不发送了
|
//如果其他阅片人已经做了,说明发送了入组确认报告,第二个人做完就不发送了
|
||||||
if (await _visitTaskRepository.AnyAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false &&
|
|
||||||
t.Id != visitTaskId && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId))
|
//入组确认一直交给第一个人,如果第一个人重阅 还未做完,第二个人先做完了,此时不发
|
||||||
|
|
||||||
|
var existFirstEnrollTask= await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.IsAnalysisCreate == false
|
||||||
|
&& t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId).OrderBy(t=>t.SignTime).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
//入组确认的医生已确定
|
||||||
|
if(existFirstEnrollTask!= null)
|
||||||
{
|
{
|
||||||
isNeedSend = false;
|
if(taskInfo.DoctorUserId==existFirstEnrollTask.DoctorUserId)
|
||||||
|
{
|
||||||
|
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
|
||||||
|
|
||||||
|
if (answer == "是")
|
||||||
|
{
|
||||||
|
//把另外一个人的任务设置为不加急(如果项目加急是否 subject 加急是否)
|
||||||
|
var urgent = _repository.Where<SubjectVisit>(t => t.Id == taskInfo.SourceSubjectVisitId).Select(t => new { IsSubjectUrgent = t.Subject.IsUrgent, t.Trial.IsUrgent }).FirstOrDefault();
|
||||||
|
|
||||||
|
if (urgent?.IsUrgent == false || urgent?.IsSubjectUrgent == false)
|
||||||
|
{
|
||||||
|
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false &&
|
||||||
|
t.Id != visitTaskId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId, u => new VisitTask() { IsUrgent = false });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
isNeedSend = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
|
||||||
|
|
||||||
|
|
||||||
if (answer == "是")
|
if (answer == "是")
|
||||||
{
|
{
|
||||||
//把另外一个人的任务设置为不加急(如果项目加急是否 subject 加急是否)
|
//把另外一个人的任务设置为不加急(如果项目加急是否 subject 加急是否)
|
||||||
|
@ -491,11 +520,11 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
||||||
|
|
Loading…
Reference in New Issue