diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index b98441b03..ecb452a10 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1555,6 +1555,11 @@
文件路径
+
+
+ 序号标记
+
+
分页名称
@@ -3525,6 +3530,20 @@
阅片计算
+
+
+ 计算任务
+
+
+
+
+
+
+ 自动计算
+
+
+
+
获取SOD
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 6852c140a..4c7e4a9c2 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -9,7 +9,95 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
#region 阅片问题
+
+ public class GetReadingReportEvaluationOutDto
+ {
+ public List VisitTaskList { get; set; }
+ public List Questions { get; set; }
+ }
+
+ public class VisitTaskGroupInfo
+ {
+ public Guid QuestionId { get; set; }
+
+
+
+ public string QuestionName { get; set; }
+
+ public string GroupName { get; set; }
+
+ public int ShowOrder { get; set; }
+
+
+
+ public List QuestionList = new List();
+ }
+
+
+ public class VisitTaskQuestionInfo
+ {
+ public Guid QuestionId { get; set; }
+
+
+ public string QuestionName { get; set; }
+
+ public string GroupName { get; set; }
+
+ public int ShowOrder { get; set; }
+
+ public string Answer { get; set; } = string.Empty;
+
+ public List TableRowQuestionList = new List();
+ }
+
+
+ public class VistTaskTableQuestionRowInfo
+ {
+ public int RowIndex { get; set; }
+
+ ///
+ /// 序号标记
+ ///
+ public string OrderMark { get; set; } = string.Empty;
+
+
+ public List TableQuestionList = new List();
+ }
+
+
+ public class VistTaskTableQuestionInfo
+ {
+ public Guid QuestionId { get; set; }
+
+ public Guid TableQuestionId { get; set; }
+
+ public string QuestionName { get; set; }
+
+
+
+ public int ShowOrder { get; set; }
+
+ public string Answer { get; set; } = string.Empty;
+ }
+
+
+
+ public class VisitTaskInfo
+ {
+ public Guid VisitTaskId { get; set; }
+
+ public string TaskName { get; set; }
+
+ public decimal VisitTaskNum { get; set; }
+ }
+
+ public class GetReadingReportEvaluationInDto
+ {
+ public Guid SubjectId { get; set; }
+
+ public Guid TrialId { get; set; }
+ }
public class GetReadingQuestionAndAnswerOutDto
{
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs
index dde950bb2..6b5bab33e 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs
@@ -105,7 +105,7 @@ namespace IRaCIS.Core.Application.Service
CriterionId= criterionId,
TrialId=visitTask.TrialId,
};
- await ReadingCalculate(readingData);
+ //await ReadingCalculate(readingData);
}
@@ -118,7 +118,7 @@ namespace IRaCIS.Core.Application.Service
{
var needAddList = new List();
- foreach (var item in inDto.QuestionInfo)
+ foreach (var item in inDto.QuestionInfo.Where(x => x.QuestionType != null))
{
switch (item.QuestionType)
{
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
index f61a6cfa8..45944ef0b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
@@ -109,22 +109,75 @@ namespace IRaCIS.Application.Services
#region 表格问题相关
- //public async Task<> GetVisitReadingQuestion(GetVisitReadingQuestionInDto inDto)
+ //public async Task<> GetReadingReportEvaluation(GetReadingReportEvaluationInDto indto)
//{
- // var readingTrialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstNotNullAsync();
- // List qusetionList = await GetReadingAnswerView(readingTrialCriterion.Id, inDto.VisitTaskId);
+ // GetReadingReportEvaluationOutDto result = new GetReadingReportEvaluationOutDto();
-
-
- // var groupList = qusetionList.Where(x => x.Type == "group" || (x.ParentId == null && x.GroupName.IsNullOrEmpty())).ToList();
- // groupList.ForEach(x =>
+ // var taskInfoList = await _visitTaskRepository.Where(x => x.SubjectId == indto.SubjectId && x.TaskState == TaskState.Effect
+ // && x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned
+ // ).OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo()
// {
- // this.FindChildQuestion(x, qusetionList);
- // });
+ // VisitTaskId = x.Id,
+ // TaskName = x.TaskName,
+ // VisitTaskNum = x.VisitTaskNum,
+ // }).ToListAsync();
- // groupList = groupList.Where(x => !(x.Type == "group" && x.Childrens.Count() == 0)).ToList();
- // result.SinglePage = groupList;
+ // var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
+
+ // var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == indto.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync();
+ // var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).ToListAsync();
+ // var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).ToListAsync();
+
+
+ // var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
+ // var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
+
+
+ // // 第一级
+
+ // List questions = questionList.Where(x => x.Type == "group").OrderBy(x => x.ShowOrder).Select(x => new VisitTaskGroupInfo()
+ // {
+ // QuestionId = x.Id,
+ // GroupName=x.GroupName,
+ // QuestionName = x.QuestionName,
+ // ShowOrder = x.ShowOrder,
+ // }).ToList();
+
+ // foreach (var item in questions)
+ // {
+ // item.QuestionList = questionList.Where(x => x.GroupName == item.GroupName).OrderBy(x => x.ShowOrder).Select(x => new VisitTaskQuestionInfo()
+ // {
+ // GroupName = x.GroupName,
+ // QuestionId = x.Id,
+ // QuestionName = x.QuestionName,
+ // ShowOrder = x.ShowOrder,
+
+ // }).ToList();
+
+ // foreach (var question in item.QuestionList)
+ // {
+ // question.TableRowQuestionList = new List()
+ // {
+
+
+ // };
+ // VistTaskTableQuestionRowInfo questionInfo = new VistTaskTableQuestionRowInfo()
+ // {
+
+ // RowIndex = 0,
+ // OrderMark = String.Empty,
+ // TableQuestionList=tableQuestionList.Where(x=>x.ReadingQuestionId== question.QuestionId).Select(x=> new VistTaskTableQuestionInfo() {
+ // Answer=String.Empty,
+ // GroupName=question
+
+ // })
+
+ // }
+ // }
+ // }
+
+
//}
///