修改稽查
parent
2af138e55c
commit
744da9e088
|
@ -505,73 +505,77 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
obj = new { R1 = r1.FullName, R2 = r2.FullName, SelectResult = entity.ArmEnum == r1.ArmEnum ? "R1" : "R2" };
|
||||
}
|
||||
|
||||
//肿瘤学任务
|
||||
if (entity.ReadingTaskState == ReadingTaskState.HaveSigned && _userInfo.RequestUrl == "ReadingImageTask/SubmitOncologyReadingInfo")
|
||||
{
|
||||
#region 通过链接跳转 2022 12-19
|
||||
|
||||
////肿瘤学任务
|
||||
//if (entity.ReadingTaskState == ReadingTaskState.HaveSigned && _userInfo.RequestUrl == "ReadingImageTask/SubmitOncologyReadingInfo")
|
||||
//{
|
||||
|
||||
|
||||
var oncologyAnswerList = await _dbContext.ReadingOncologyTaskInfo.Where(t => t.OncologyTaskId == entity.Id).Select(t => new { t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.EvaluationReason, t.EvaluationResult, t.VisitTask.VisitTaskNum, VisitTaskId = t.VisitTask.Id }).ToListAsync();
|
||||
// var oncologyAnswerList = await _dbContext.ReadingOncologyTaskInfo.Where(t => t.OncologyTaskId == entity.Id).Select(t => new { t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.EvaluationReason, t.EvaluationResult, t.VisitTask.VisitTaskNum, VisitTaskId = t.VisitTask.Id }).ToListAsync();
|
||||
|
||||
var golbalTaskInfo = await _dbContext.VisitTask.Where(t => t.SubjectId == entity.SubjectId && t.ReadingCategory == ReadingCategory.Global && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == entity.IsAnalysisCreate && t.VisitTaskNum == (entity.VisitTaskNum - ReadingCommon.TaskNumDic[ReadingCategory.Oncology] + ReadingCommon.TaskNumDic[ReadingCategory.Global])).Select(t => new { GlobalTaskId = t.Id }).FirstNotNullAsync();
|
||||
// var golbalTaskInfo = await _dbContext.VisitTask.Where(t => t.SubjectId == entity.SubjectId && t.ReadingCategory == ReadingCategory.Global && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == entity.IsAnalysisCreate && t.VisitTaskNum == (entity.VisitTaskNum - ReadingCommon.TaskNumDic[ReadingCategory.Oncology] + ReadingCommon.TaskNumDic[ReadingCategory.Global])).Select(t => new { GlobalTaskId = t.Id }).FirstNotNullAsync();
|
||||
|
||||
|
||||
var globalResultList = await _dbContext.ReadingGlobalTaskInfo.Where(t => t.GlobalTaskId == golbalTaskInfo.GlobalTaskId).ToListAsync();
|
||||
// var globalResultList = await _dbContext.ReadingGlobalTaskInfo.Where(t => t.GlobalTaskId == golbalTaskInfo.GlobalTaskId).ToListAsync();
|
||||
|
||||
var modifyVisitList = globalResultList
|
||||
.GroupBy(t => t.TaskId).Select(g => new
|
||||
{
|
||||
VisitTaskId = g.Key,
|
||||
GlobalResult = g.Select(c => new { c.Answer, c.QuestionId })
|
||||
}).ToList();
|
||||
// var modifyVisitList = globalResultList
|
||||
// .GroupBy(t => t.TaskId).Select(g => new
|
||||
// {
|
||||
// VisitTaskId = g.Key,
|
||||
// GlobalResult = g.Select(c => new { c.Answer, c.QuestionId })
|
||||
// }).ToList();
|
||||
|
||||
var query = from answer in oncologyAnswerList
|
||||
join modifyVisit in modifyVisitList on answer.VisitTaskId equals modifyVisit.VisitTaskId into cc
|
||||
from modifyVisit in cc.DefaultIfEmpty()
|
||||
select new
|
||||
{
|
||||
answer.TaskBlindName,
|
||||
answer.TaskName,
|
||||
answer.EvaluationReason,
|
||||
answer.EvaluationResult,
|
||||
IsGlobalModify = modifyVisit != null,
|
||||
Reason = modifyVisit != null ? modifyVisit.GlobalResult.Where(t => t.QuestionId == null).FirstOrDefault()?.Answer : String.Empty
|
||||
};
|
||||
// var query = from answer in oncologyAnswerList
|
||||
// join modifyVisit in modifyVisitList on answer.VisitTaskId equals modifyVisit.VisitTaskId into cc
|
||||
// from modifyVisit in cc.DefaultIfEmpty()
|
||||
// select new
|
||||
// {
|
||||
// answer.TaskBlindName,
|
||||
// answer.TaskName,
|
||||
// answer.EvaluationReason,
|
||||
// answer.EvaluationResult,
|
||||
// IsGlobalModify = modifyVisit != null,
|
||||
// Reason = modifyVisit != null ? modifyVisit.GlobalResult.Where(t => t.QuestionId == null).FirstOrDefault()?.Answer : String.Empty
|
||||
// };
|
||||
|
||||
var result = query.ToList();
|
||||
// var result = query.ToList();
|
||||
|
||||
obj = new { OncologyAnswerList = result };
|
||||
}
|
||||
// obj = new { OncologyAnswerList = result };
|
||||
//}
|
||||
|
||||
//全局任务
|
||||
if (entity.ReadingTaskState == ReadingTaskState.HaveSigned && _userInfo.RequestUrl == "ReadingImageTask/SubmitGlobalReadingInfo")
|
||||
{
|
||||
////全局任务
|
||||
//if (entity.ReadingTaskState == ReadingTaskState.HaveSigned && _userInfo.RequestUrl == "ReadingImageTask/SubmitGlobalReadingInfo")
|
||||
//{
|
||||
|
||||
var globalResultList = await _dbContext.ReadingGlobalTaskInfo.Where(t => t.GlobalTaskId == entity.Id).Select(t => new { VisitTaskId = t.TaskId, t.QuestionId, t.Answer, t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.TrialReadingQuestion.QuestionName }).ToListAsync();
|
||||
// var globalResultList = await _dbContext.ReadingGlobalTaskInfo.Where(t => t.GlobalTaskId == entity.Id).Select(t => new { VisitTaskId = t.TaskId, t.QuestionId, t.Answer, t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.TrialReadingQuestion.QuestionName }).ToListAsync();
|
||||
|
||||
var visitTaskIdList = globalResultList.Select(t => t.VisitTaskId).ToList();
|
||||
// var visitTaskIdList = globalResultList.Select(t => t.VisitTaskId).ToList();
|
||||
|
||||
var visitResultList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => visitTaskIdList.Contains(t.VisitTaskId) && t.ReadingQuestionTrial.IsJudgeQuestion).Select(t => new { t.VisitTaskId, t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.VisitTask.VisitTaskNum, t.ReadingQuestionTrial.QuestionName, t.ReadingQuestionTrial.ShowOrder, t.Answer, t.ReadingQuestionTrialId })
|
||||
.OrderBy(t => t.VisitTaskNum).ToListAsync();
|
||||
// var visitResultList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => visitTaskIdList.Contains(t.VisitTaskId) && t.ReadingQuestionTrial.IsJudgeQuestion).Select(t => new { t.VisitTaskId, t.VisitTask.TaskBlindName, t.VisitTask.TaskName, t.VisitTask.VisitTaskNum, t.ReadingQuestionTrial.QuestionName, t.ReadingQuestionTrial.ShowOrder, t.Answer, t.ReadingQuestionTrialId })
|
||||
// .OrderBy(t => t.VisitTaskNum).ToListAsync();
|
||||
|
||||
var query = visitResultList.GroupBy(t => new { t.VisitTaskId, t.VisitTaskNum, t.TaskName, t.TaskBlindName }).Select(g => new
|
||||
{
|
||||
VisitTaskId = g.Key.VisitTaskId,
|
||||
VisitTaskNum = g.Key.VisitTaskNum,
|
||||
TaskName = g.Key.TaskName,
|
||||
TaskBlindName = g.Key.TaskBlindName,
|
||||
// var query = visitResultList.GroupBy(t => new { t.VisitTaskId, t.VisitTaskNum, t.TaskName, t.TaskBlindName }).Select(g => new
|
||||
// {
|
||||
// VisitTaskId = g.Key.VisitTaskId,
|
||||
// VisitTaskNum = g.Key.VisitTaskNum,
|
||||
// TaskName = g.Key.TaskName,
|
||||
// TaskBlindName = g.Key.TaskBlindName,
|
||||
|
||||
VisitQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, u.Answer }).ToList(),
|
||||
// VisitQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, u.Answer }).ToList(),
|
||||
|
||||
GlobalQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, Answer = globalResultList.Where(t => t.VisitTaskId == g.Key.VisitTaskId && t.QuestionId == u.ReadingQuestionTrialId).FirstOrDefault()?.Answer ?? String.Empty }).ToList(),
|
||||
// GlobalQuestionAnswerList = g.OrderBy(t => t.ShowOrder).Select(u => new { u.QuestionName, Answer = globalResultList.Where(t => t.VisitTaskId == g.Key.VisitTaskId && t.QuestionId == u.ReadingQuestionTrialId).FirstOrDefault()?.Answer ?? String.Empty }).ToList(),
|
||||
|
||||
Reason = globalResultList.Where(t => t.VisitTaskId == g.Key.VisitTaskId && t.QuestionId == null).FirstOrDefault()?.Answer ?? String.Empty
|
||||
});
|
||||
// Reason = globalResultList.Where(t => t.VisitTaskId == g.Key.VisitTaskId && t.QuestionId == null).FirstOrDefault()?.Answer ?? String.Empty
|
||||
// });
|
||||
|
||||
|
||||
var result = query.ToList();
|
||||
// var result = query.ToList();
|
||||
|
||||
obj = new { GlobalAnswerList = result };
|
||||
}
|
||||
// obj = new { GlobalAnswerList = result };
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -601,8 +605,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
//保存影像质量 多条记录,只记录一条稽查
|
||||
if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)))
|
||||
{
|
||||
//1 保存影像质量 2:修改整体肿瘤评估结果
|
||||
if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer" || _userInfo.RequestUrl == "ReadingImageTask/saveImageQuality")
|
||||
// 保存影像质量 、 修改整体肿瘤评估结果 、 非dicom 保存访视阅片结果
|
||||
if (_userInfo.RequestUrl == "ReadingImageTask/changeDicomReadingQuestionAnswer"
|
||||
|| _userInfo.RequestUrl == "ReadingImageTask/saveImageQuality"
|
||||
|| _userInfo.RequestUrl == "ReadingImageTask/saveVisitTaskQuestions")
|
||||
{
|
||||
var type = AuditOpt.Add;
|
||||
|
||||
|
@ -798,42 +804,88 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
#endregion
|
||||
|
||||
|
||||
//访视 阅片结果
|
||||
|
||||
//if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)))
|
||||
//{
|
||||
// var type = AuditOpt.Add;
|
||||
// var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingTaskQuestionAnswer)).Select(t => t.Entity as ReadingTaskQuestionAnswer);
|
||||
|
||||
|
||||
// //获取问题名称 组合成数组
|
||||
// var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => list.Select(k => k.ReadingQuestionTrialId).Contains(t.Id)).Select(t => new
|
||||
// {
|
||||
// t.QuestionName,
|
||||
// QuestionId = t.Id,
|
||||
// t.DictionaryCode,
|
||||
// t.ShowOrder
|
||||
// }).OrderBy(t => t.ShowOrder).ToListAsync();
|
||||
|
||||
|
||||
// var firstEntity = list.First();
|
||||
|
||||
// var cloneEntity = firstEntity.Clone();
|
||||
|
||||
// //保证Id 唯一
|
||||
// cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.ReadingQuestionCriterionTrialId.ToString(), firstEntity.ReadingQuestionTrialId.ToString(), firstEntity.VisitTaskId.ToString());
|
||||
|
||||
// await InsertInspection<ReadingTaskQuestionAnswer>(cloneEntity, type, x => new InspectionConvertDTO()
|
||||
// {
|
||||
// VisitTaskId = x.VisitTaskId,
|
||||
|
||||
// ObjectRelationParentId = x.VisitTaskId,
|
||||
|
||||
// TrialReadingCriterionId = x.ReadingQuestionCriterionTrialId,
|
||||
|
||||
// }, new { QuestionAnswerList = list.Join(quesionList, t => t.ReadingQuestionTrialId, u => u.QuestionId, (t, u) => new { t.Answer, u.DictionaryCode, u.QuestionName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() });
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 全局 阅片结果
|
||||
if (entitys.Any(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)))
|
||||
{
|
||||
//var type = AuditOpt.Add;
|
||||
var type = AuditOpt.Add;
|
||||
|
||||
//var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo);
|
||||
var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo);
|
||||
|
||||
|
||||
//foreach (var group in list.GroupBy(t => t.TaskId))
|
||||
//{
|
||||
// var questionAnswerList = group.Where(t => t.QuestionId != null).ToList();
|
||||
|
||||
// var reasonStr = group.Where(t => t.QuestionId == null).FirstOrDefault().Answer;
|
||||
|
||||
// var questionIdList = questionAnswerList.Select(t => t.QuestionId).ToList();
|
||||
|
||||
// var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => questionIdList.Contains(t.Id)).Select(t => new { t.QuestionName, QuestionId = t.Id, t.ShowOrder }).OrderBy(t => t.ShowOrder).ToListAsync();
|
||||
foreach (var group in list.GroupBy(t => t.TaskId))
|
||||
{
|
||||
var questionAnswerList = group.Where(t => t.QuestionId != null).ToList();
|
||||
|
||||
|
||||
// var firstEntity = questionAnswerList.First();
|
||||
var questionIdList = questionAnswerList.Select(t => t.QuestionId).ToList();
|
||||
|
||||
// var cloneEntity = firstEntity.Clone();
|
||||
var quesionList = await _dbContext.ReadingQuestionTrial.Where(t => questionIdList.Contains(t.Id)).Select(t => new {
|
||||
|
||||
t.QuestionName, QuestionId = t.Id,
|
||||
t.DictionaryCode,
|
||||
t.ShowOrder }).OrderBy(t => t.ShowOrder).ToListAsync();
|
||||
|
||||
// //保证Id 唯一
|
||||
// cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), firstEntity.TaskId.ToString(), firstEntity.Id.ToString());
|
||||
var firstEntity = questionAnswerList.First();
|
||||
|
||||
var cloneEntity = firstEntity.Clone();
|
||||
|
||||
|
||||
//保证Id 唯一
|
||||
cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), firstEntity.TaskId.ToString());
|
||||
|
||||
|
||||
|
||||
// await InsertInspection<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
|
||||
// {
|
||||
// VisitTaskId = x.TaskId,
|
||||
await InsertInspection<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
|
||||
{
|
||||
VisitTaskId = x.TaskId,
|
||||
|
||||
// ObjectRelationParentId = x.TaskId,
|
||||
ObjectRelationParentId = x.TaskId,
|
||||
|
||||
// }, new { Reason = reasonStr, QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() });
|
||||
//}
|
||||
}, new { Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer,
|
||||
AgreeOrNot= group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.AgreeOrNot).FirstOrDefault()?.Answer,
|
||||
UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer,
|
||||
QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue