修改医学审核问题
parent
3ca43ba628
commit
698ddcb9ce
|
@ -599,10 +599,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public class JudgeQuestionAnswerInfo
|
public class JudgeQuestionAnswerInfo
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public Guid VisitTaskId { get; set; }
|
||||||
|
|
||||||
public string QuestionName { get; set; }
|
public string QuestionName { get; set; }
|
||||||
|
|
||||||
public string Answer { get; set; }
|
public string Answer { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 排序
|
||||||
|
/// </summary>
|
||||||
|
public int ShowOrder { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 字典code
|
/// 字典code
|
||||||
|
|
|
@ -24,6 +24,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
private readonly IRepository<ReadingMedicineTrialQuestion> _readingMedicineTrialQuestionRepository;
|
private readonly IRepository<ReadingMedicineTrialQuestion> _readingMedicineTrialQuestionRepository;
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
|
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||||
|
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
|
||||||
|
private readonly IRepository<ReadingOncologyTaskInfo> _readingOncologyTaskInfoRepository;
|
||||||
private readonly IRepository<User> _userTaskRepository;
|
private readonly IRepository<User> _userTaskRepository;
|
||||||
private readonly IVisitTaskService _visitTaskService;
|
private readonly IVisitTaskService _visitTaskService;
|
||||||
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
||||||
|
@ -36,6 +39,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
IRepository<ReadingMedicineTrialQuestion> readingMedicineTrialQuestionRepository,
|
IRepository<ReadingMedicineTrialQuestion> readingMedicineTrialQuestionRepository,
|
||||||
IRepository<Trial> trialRepository,
|
IRepository<Trial> trialRepository,
|
||||||
IRepository<VisitTask> visitTaskRepository,
|
IRepository<VisitTask> visitTaskRepository,
|
||||||
|
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
|
||||||
|
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
|
||||||
|
IRepository<ReadingOncologyTaskInfo> readingOncologyTaskInfoRepository,
|
||||||
IRepository<User> userTaskRepository,
|
IRepository<User> userTaskRepository,
|
||||||
IVisitTaskService visitTaskService,
|
IVisitTaskService visitTaskService,
|
||||||
IRepository<TaskMedicalReview> taskMedicalReviewRepository,
|
IRepository<TaskMedicalReview> taskMedicalReviewRepository,
|
||||||
|
@ -48,6 +54,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
this._readingMedicineTrialQuestionRepository = readingMedicineTrialQuestionRepository;
|
this._readingMedicineTrialQuestionRepository = readingMedicineTrialQuestionRepository;
|
||||||
this._trialRepository = trialRepository;
|
this._trialRepository = trialRepository;
|
||||||
this._visitTaskRepository = visitTaskRepository;
|
this._visitTaskRepository = visitTaskRepository;
|
||||||
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
|
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
|
||||||
|
this._readingOncologyTaskInfoRepository = readingOncologyTaskInfoRepository;
|
||||||
this._userTaskRepository = userTaskRepository;
|
this._userTaskRepository = userTaskRepository;
|
||||||
this._visitTaskService = visitTaskService;
|
this._visitTaskService = visitTaskService;
|
||||||
this._taskMedicalReviewRepository = taskMedicalReviewRepository;
|
this._taskMedicalReviewRepository = taskMedicalReviewRepository;
|
||||||
|
@ -103,9 +112,9 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||||
.Where(x => x.TaskState == TaskState.Effect)
|
.Where(x => x.TaskState == TaskState.Effect)
|
||||||
.Where(x => x.SubjectId == taskInfo.SubjectId
|
.Where(x => x.SubjectId == taskInfo.SubjectId
|
||||||
&&x.ArmEnum== taskInfo.ArmEnum
|
&& x.ArmEnum == taskInfo.ArmEnum
|
||||||
&&x.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId
|
&& x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId
|
||||||
|
|
||||||
&& x.DoctorUserId == taskInfo.DoctorUserId &&
|
&& x.DoctorUserId == taskInfo.DoctorUserId &&
|
||||||
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
|
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
|
||||||
x.ReReadingApplyState != ReReadingApplyState.Agree
|
x.ReReadingApplyState != ReReadingApplyState.Agree
|
||||||
|
@ -122,22 +131,63 @@ namespace IRaCIS.Core.Application.Service
|
||||||
JudgeVisitTaskId = x.JudgeVisitTaskId,
|
JudgeVisitTaskId = x.JudgeVisitTaskId,
|
||||||
JudgeResultArm = x.JudgeResultTask.ArmEnum,
|
JudgeResultArm = x.JudgeResultTask.ArmEnum,
|
||||||
SubjectId = x.SubjectId,
|
SubjectId = x.SubjectId,
|
||||||
JudgeQuestionAnswerInfoList = x.ArmEnum == Arm.JudgeArm ? x.JudgeResultTask.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
// 这里先只查裁判任务 访视和全局任务到后面查询
|
||||||
|
JudgeQuestionAnswerInfoList = x.JudgeResultTask.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
||||||
{
|
{
|
||||||
|
VisitTaskId=y.VisitTaskId,
|
||||||
Answer = y.Answer,
|
Answer = y.Answer,
|
||||||
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
||||||
|
ShowOrder=y.ReadingQuestionTrial.ShowOrder,
|
||||||
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
||||||
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
|
||||||
}).ToList() : x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
}).OrderBy(x=>x.ShowOrder).ToList(),
|
||||||
{
|
|
||||||
Answer = y.Answer,
|
|
||||||
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
|
||||||
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
|
||||||
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
|
||||||
}).ToList()
|
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
|
// 这里处理 访视和全局任务 以及肿瘤学
|
||||||
|
if (taskInfo.ArmEnum != Arm.JudgeArm)
|
||||||
|
{
|
||||||
|
var taskIds = medicalReviewInfo.TaskList.Select(x => x.TaskId).ToList();
|
||||||
|
|
||||||
|
// 找访视
|
||||||
|
var visitTaskAnswer = await _readingTaskQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId)).Select(x => new JudgeQuestionAnswerInfo
|
||||||
|
{
|
||||||
|
Answer = x.Answer,
|
||||||
|
VisitTaskId=x.VisitTaskId,
|
||||||
|
DictionaryCode = x.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
ShowOrder = x.ReadingQuestionTrial.ShowOrder,
|
||||||
|
QuestionGenre = x.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
QuestionName = x.ReadingQuestionTrial.QuestionName
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
visitTaskAnswer.AddRange(await _readingGlobalTaskInfoRepository.Where(x => taskIds.Contains(x.GlobalTaskId)&&x.GlobalAnswerType==GlobalAnswerType.Question).Select(x => new JudgeQuestionAnswerInfo
|
||||||
|
{
|
||||||
|
Answer = x.Answer,
|
||||||
|
VisitTaskId = x.GlobalTaskId,
|
||||||
|
DictionaryCode = x.TrialReadingQuestion.DictionaryCode,
|
||||||
|
ShowOrder = x.TrialReadingQuestion.ShowOrder,
|
||||||
|
QuestionGenre = x.TrialReadingQuestion.QuestionGenre,
|
||||||
|
QuestionName = x.TrialReadingQuestion.QuestionName
|
||||||
|
}).ToListAsync());
|
||||||
|
|
||||||
|
// 肿瘤学没有问题
|
||||||
|
//visitTaskAnswer.AddRange(await _readingOncologyTaskInfoRepository.Where(x => taskIds.Contains(x.OncologyTaskId)).Select(x => new JudgeQuestionAnswerInfo
|
||||||
|
//{
|
||||||
|
// Answer = x.SubjectId,
|
||||||
|
// VisitTaskId = x.OncologyTaskId,
|
||||||
|
// DictionaryCode = x.TrialReadingQuestion.DictionaryCode,
|
||||||
|
// ShowOrder = x.TrialReadingQuestion.ShowOrder,
|
||||||
|
// QuestionGenre = x.TrialReadingQuestion.QuestionGenre,
|
||||||
|
// QuestionName = x.TrialReadingQuestion.QuestionName
|
||||||
|
//}).ToListAsync());
|
||||||
|
|
||||||
|
medicalReviewInfo.TaskList.ForEach(x =>
|
||||||
|
{
|
||||||
|
x.JudgeQuestionAnswerInfoList = visitTaskAnswer.Where(y => y.VisitTaskId == x.TaskId).OrderBy(y => y.ShowOrder).ToList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
List<TaskInfo> otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SubjectId == taskInfo.SubjectId
|
List<TaskInfo> otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SubjectId == taskInfo.SubjectId
|
||||||
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree)
|
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree)
|
||||||
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||||
|
|
Loading…
Reference in New Issue