修改提交接口

This commit is contained in:
2023-03-21 16:01:39 +08:00
parent 2842791af4
commit afe5f1e58f
11 changed files with 200 additions and 53 deletions
@@ -10,21 +10,34 @@ using System.Linq.Expressions;
namespace IRaCIS.Core.Application.Triggers
{
/// <summary>
/// 因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
/// 维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
/// </summary>
public class VisitTaskIsFrontTaskNeedSignButNotSignTrigger : IAfterSaveTrigger<VisitTask>
{
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository;
private readonly IRepository<ReadingQuestionTrial> _trialReadingQuestionRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
private readonly IRepository<SubjectAdditionalEvaluationResult> _subjectAdditionalEvaluationResultRepository;
public VisitTaskIsFrontTaskNeedSignButNotSignTrigger(
IRepository<VisitTask> visitTaskRepository)
IRepository<VisitTask> visitTaskRepository, IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ReadingQuestionTrial> trialReadingQuestionRepository
, IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository, IRepository<SubjectAdditionalEvaluationResult> subjectAdditionalEvaluationResultRepository)
{
_trialReadingCriterionRepository = trialReadingCriterionRepository;
_visitTaskRepository = visitTaskRepository;
_trialReadingQuestionRepository = trialReadingQuestionRepository;
_readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
_subjectAdditionalEvaluationResultRepository = subjectAdditionalEvaluationResultRepository;
}
@@ -38,7 +51,7 @@ namespace IRaCIS.Core.Application.Triggers
if (context.ChangeType == ChangeType.Added)
{
if (visitTask.IsNeedClinicalDataSign )
if (visitTask.IsNeedClinicalDataSign)
{
var visitTaskIdQueryable = _visitTaskRepository.Where(visitTaskLambda) //该Subject 该标准的任务
@@ -67,6 +80,110 @@ namespace IRaCIS.Core.Application.Triggers
}
}
#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
}