裁判任务失效的时候,清理裁判任务id 需要迁移
parent
e8496df81a
commit
d2268f0706
|
@ -22,13 +22,14 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
|
|
||||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||||
|
|
||||||
|
private readonly IRepository<SubjectAdditionalEvaluationResult> _subjectAdditionalEvaluationResultRepository;
|
||||||
|
private readonly IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository;
|
||||||
|
|
||||||
|
|
||||||
public VisitTaskIsFrontTaskNeedSignButNotSignTrigger(
|
public VisitTaskIsFrontTaskNeedSignButNotSignTrigger(
|
||||||
|
|
||||||
IRepository<VisitTask> visitTaskRepository, IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ReadingQuestionTrial> trialReadingQuestionRepository
|
IRepository<VisitTask> visitTaskRepository, IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ReadingQuestionTrial> trialReadingQuestionRepository
|
||||||
, IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository)
|
, IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository, IRepository<SubjectAdditionalEvaluationResult> subjectAdditionalEvaluationResultRepository, IRepository<ReadingJudgeInfo> readingJudgeInfoRepository)
|
||||||
{
|
{
|
||||||
_trialReadingCriterionRepository = trialReadingCriterionRepository;
|
_trialReadingCriterionRepository = trialReadingCriterionRepository;
|
||||||
|
|
||||||
|
@ -36,6 +37,8 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
_trialReadingQuestionRepository = trialReadingQuestionRepository;
|
_trialReadingQuestionRepository = trialReadingQuestionRepository;
|
||||||
|
|
||||||
_readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
_readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
|
_subjectAdditionalEvaluationResultRepository = subjectAdditionalEvaluationResultRepository;
|
||||||
|
_readingJudgeInfoRepository = readingJudgeInfoRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,7 +51,7 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
Expression<Func<VisitTask, bool>> visitTaskLambda = x => x.TrialId == visitTask.TrialId && x.SubjectId == visitTask.SubjectId && x.TrialReadingCriterionId == visitTask.TrialReadingCriterionId;
|
Expression<Func<VisitTask, bool>> visitTaskLambda = x => x.TrialId == visitTask.TrialId && x.SubjectId == visitTask.SubjectId && x.TrialReadingCriterionId == visitTask.TrialReadingCriterionId;
|
||||||
if (context.ChangeType == ChangeType.Added)
|
if (context.ChangeType == ChangeType.Added)
|
||||||
{
|
{
|
||||||
|
|
||||||
//判断是否需要临床数据签名 不需要 就不用维护
|
//判断是否需要临床数据签名 不需要 就不用维护
|
||||||
if (visitTask.IsNeedClinicalDataSign)
|
if (visitTask.IsNeedClinicalDataSign)
|
||||||
{
|
{
|
||||||
|
@ -93,12 +96,125 @@ namespace IRaCIS.Core.Application.Triggers
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (context.ChangeType == ChangeType.Modified)
|
||||||
|
{
|
||||||
|
if (visitTask.ReadingCategory == ReadingCategory.Judge && (visitTask.TaskState == TaskState.Adbandon || visitTask.TaskState == TaskState.HaveReturned))
|
||||||
|
{
|
||||||
|
var find = _readingJudgeInfoRepository.Where(t => t.JudgeTaskId == visitTask.Id).FirstOrDefault();
|
||||||
|
|
||||||
|
if (find != null)
|
||||||
|
{
|
||||||
|
var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo };
|
||||||
|
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeResultTaskId = null });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#region 附加评估 暂时废弃
|
||||||
|
// //从未签名状态 改为签名状态时 判断是否进行了附加评估,将附加评估的结果冗余
|
||||||
|
// if (context.ChangeType == ChangeType.Modified && visitTask.ReadingTaskState == ReadingTaskState.HaveSigned && context.UnmodifiedEntity.ReadingTaskState != ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
|
||||||
|
// var criterion = _trialReadingCriterionRepository.Where(t => t.Id == visitTask.TrialReadingCriterionId).FirstOrDefault();
|
||||||
|
|
||||||
|
// //如果是附加评估
|
||||||
|
// if (criterion.IsAdditionalAssessment)
|
||||||
|
// {
|
||||||
|
|
||||||
|
|
||||||
|
// if (visitTask.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
// {
|
||||||
|
|
||||||
|
|
||||||
|
// switch (criterion.CriterionType)
|
||||||
|
// {
|
||||||
|
// case CriterionType.RECIST1Point1:
|
||||||
|
// var isbaseLine = _visitTaskRepository.Where(t => t.Id == visitTask.Id).Select(t => t.SourceSubjectVisit.IsBaseLine).FirstOrDefault();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// if (isbaseLine)
|
||||||
|
// {
|
||||||
|
// var currentTaskAdditionarlAnswer = await _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == visitTask.Id &&
|
||||||
|
// t.ReadingQuestionTrial.IsAdditional == true && t.ReadingQuestionTrial.Type != "group"
|
||||||
|
// ).Include(t => t.ReadingQuestionTrial).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
// //双重阅片完成了
|
||||||
|
// if (criterion.ReadingType == ReadingMethod.Double &&
|
||||||
|
//(_visitTaskRepository.Where(t => t.SubjectId == visitTask.SubjectId && t.TaskName == visitTask.TaskName && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned).Count() == 2)
|
||||||
|
// )
|
||||||
|
// {
|
||||||
|
|
||||||
|
// var otherTaskId = await _visitTaskRepository.Where(t => t.SubjectId == visitTask.SubjectId && t.TaskName == visitTask.TaskName && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.Id != visitTask.Id)
|
||||||
|
// .Select(t => t.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
// var otherTaskAdditionarlAnswer = await _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == otherTaskId &&
|
||||||
|
// t.ReadingQuestionTrial.IsAdditional == true && t.ReadingQuestionTrial.Type != "group"
|
||||||
|
// ).Include(t => t.ReadingQuestionTrial).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// await _subjectAdditionalEvaluationResultRepository.AddAsync(new SubjectAdditionalEvaluationResult()
|
||||||
|
// {
|
||||||
|
// TrialReadingCriterionId = visitTask.TrialReadingCriterionId,
|
||||||
|
// IsFinalResult = true,
|
||||||
|
// SubjectId = visitTask.SubjectId,
|
||||||
|
// TrialReadingQuestionId = currentTaskAdditionarlAnswer.ReadingQuestionTrialId,
|
||||||
|
// FinalAnswer = currentTaskAdditionarlAnswer.Answer,
|
||||||
|
// FinalTranslateDictionaryCode = currentTaskAdditionarlAnswer.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
|
||||||
|
// });
|
||||||
|
|
||||||
|
// }
|
||||||
|
// if (criterion.ReadingType == ReadingMethod.Single)
|
||||||
|
// {
|
||||||
|
|
||||||
|
// await _subjectAdditionalEvaluationResultRepository.AddAsync(new SubjectAdditionalEvaluationResult()
|
||||||
|
// {
|
||||||
|
// TrialReadingCriterionId = visitTask.TrialReadingCriterionId,
|
||||||
|
// IsFinalResult = true,
|
||||||
|
// SubjectId = visitTask.SubjectId,
|
||||||
|
// TrialReadingQuestionId = currentTaskAdditionarlAnswer.ReadingQuestionTrialId,
|
||||||
|
// FinalAnswer = currentTaskAdditionarlAnswer.Answer,
|
||||||
|
// FinalTranslateDictionaryCode = currentTaskAdditionarlAnswer.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
|
||||||
|
// });
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// break;
|
||||||
|
// default:
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue