Uat_Study
parent
21785cbc43
commit
68a5307639
|
@ -92,6 +92,124 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
var result = await _readingMedicineQuestionAnswerRepository.SaveChangesAsync();
|
var result = await _readingMedicineQuestionAnswerRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
#region 取任务
|
||||||
|
if (medicalReviewInfo.IsReadingTaskViewInOrder)
|
||||||
|
{
|
||||||
|
medicalReviewInfo.TaskList = await _visitTaskRepository
|
||||||
|
.WhereIf(taskInfo.ArmEnum == Arm.JudgeArm, x => x.ArmEnum == Arm.JudgeArm)
|
||||||
|
.WhereIf(taskInfo.ArmEnum != Arm.JudgeArm, x => x.ArmEnum != Arm.JudgeArm)
|
||||||
|
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||||
|
.Where(x => x.TaskState == TaskState.Effect)
|
||||||
|
.Where(x => x.SubjectId == taskInfo.SubjectId
|
||||||
|
&&x.ArmEnum== taskInfo.ArmEnum
|
||||||
|
&&x.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId
|
||||||
|
|
||||||
|
&& x.DoctorUserId == taskInfo.DoctorUserId &&
|
||||||
|
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
|
||||||
|
x.ReReadingApplyState != ReReadingApplyState.Agree
|
||||||
|
).OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
|
||||||
|
{
|
||||||
|
TaskId = x.Id,
|
||||||
|
IsCurrentTask = x.Id == taskInfo.Id,
|
||||||
|
ReadingCategory = x.ReadingCategory,
|
||||||
|
TaskBlindName = x.TaskBlindName,
|
||||||
|
ArmEnum = x.ArmEnum,
|
||||||
|
TaskName = x.TaskName,
|
||||||
|
SouceReadModuleId = x.SouceReadModuleId,
|
||||||
|
SourceSubjectVisitId = x.SourceSubjectVisitId,
|
||||||
|
JudgeVisitTaskId = x.JudgeVisitTaskId,
|
||||||
|
JudgeResultArm = x.JudgeResultTask.ArmEnum,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
JudgeQuestionAnswerInfoList = x.ArmEnum == Arm.JudgeArm ? x.JudgeResultTask.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
||||||
|
{
|
||||||
|
Answer = y.Answer,
|
||||||
|
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
||||||
|
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
|
||||||
|
}).ToList() : x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
||||||
|
{
|
||||||
|
Answer = y.Answer,
|
||||||
|
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
||||||
|
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
}).ToList()
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
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)
|
||||||
|
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||||
|
.OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
|
||||||
|
{
|
||||||
|
TaskId = x.Id,
|
||||||
|
IsCurrentTask = x.Id == taskInfo.Id,
|
||||||
|
ReadingCategory = x.ReadingCategory,
|
||||||
|
TaskBlindName = x.TaskBlindName,
|
||||||
|
ArmEnum = x.ArmEnum,
|
||||||
|
TaskName = x.TaskName,
|
||||||
|
SouceReadModuleId = x.SouceReadModuleId,
|
||||||
|
SourceSubjectVisitId = x.SourceSubjectVisitId,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
medicalReviewInfo.TaskList.ForEach(x =>
|
||||||
|
{
|
||||||
|
x.OtherTaskId = otherTask.Where(y => y.SouceReadModuleId == x.SouceReadModuleId && y.SourceSubjectVisitId == x.SourceSubjectVisitId).Select(y => y.TaskId).FirstOrDefault();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
medicalReviewInfo.TaskList = await _visitTaskRepository.Where(x => x.Id == taskInfo.Id).Select(x => new TaskInfo()
|
||||||
|
{
|
||||||
|
TaskId = x.Id,
|
||||||
|
IsCurrentTask = x.Id == taskInfo.Id,
|
||||||
|
ReadingCategory = x.ReadingCategory,
|
||||||
|
TaskBlindName = x.TaskBlindName,
|
||||||
|
ArmEnum = x.ArmEnum,
|
||||||
|
TaskName = x.TaskName,
|
||||||
|
SouceReadModuleId = x.SouceReadModuleId,
|
||||||
|
SourceSubjectVisitId = x.SourceSubjectVisitId,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
JudgeQuestionAnswerInfoList = x.ArmEnum == Arm.JudgeArm ? x.JudgeResultTask.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
||||||
|
{
|
||||||
|
Answer = y.Answer,
|
||||||
|
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
||||||
|
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
}).ToList() : x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).Select(y => new JudgeQuestionAnswerInfo()
|
||||||
|
{
|
||||||
|
Answer = y.Answer,
|
||||||
|
QuestionName = y.ReadingQuestionTrial.QuestionName,
|
||||||
|
DictionaryCode = y.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
QuestionGenre = y.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
}).ToList()
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<TaskInfo> otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SouceReadModuleId == taskInfo.SouceReadModuleId && x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId
|
||||||
|
&& x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree
|
||||||
|
&&x.TrialReadingCriterionId== taskInfo.TrialReadingCriterionId
|
||||||
|
)
|
||||||
|
.Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||||
|
.OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo()
|
||||||
|
{
|
||||||
|
TaskId = x.Id,
|
||||||
|
IsCurrentTask = x.Id == taskInfo.Id,
|
||||||
|
ReadingCategory = x.ReadingCategory,
|
||||||
|
TaskBlindName = x.TaskBlindName,
|
||||||
|
ArmEnum = x.ArmEnum,
|
||||||
|
TaskName = x.TaskName,
|
||||||
|
SouceReadModuleId = x.SouceReadModuleId,
|
||||||
|
SourceSubjectVisitId = x.SourceSubjectVisitId,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
medicalReviewInfo.TaskList.ForEach(x =>
|
||||||
|
{
|
||||||
|
x.OtherTaskId = otherTask.Where(y => y.SouceReadModuleId == x.SouceReadModuleId && y.SourceSubjectVisitId == x.SourceSubjectVisitId).Select(y => y.TaskId).FirstOrDefault();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
return medicalReviewInfo;
|
return medicalReviewInfo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue