Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
3323481b60
|
@ -0,0 +1,16 @@
|
||||||
|
using DocumentFormat.OpenXml.Bibliography;
|
||||||
|
using NPOI.XWPF.UserModel;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Application.Helper
|
||||||
|
{
|
||||||
|
public class FileFormatConvertHelper
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1067,10 +1067,18 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var reReadingVisitTask = generateTaskCommand.ReReadingTask;
|
var reReadingVisitTask = generateTaskCommand.ReReadingTask;
|
||||||
|
|
||||||
|
Guid? subjectVisitId = Guid.Empty;
|
||||||
|
|
||||||
|
if (reReadingVisitTask.SourceSubjectVisitId == null)
|
||||||
|
{
|
||||||
|
subjectVisitId= _readModuleRepository.Where(t=>t.Id==reReadingVisitTask.SouceReadModuleId).Select(t=>t.SubjectVisitId).FirstOrDefault();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
subjectVisitId = reReadingVisitTask.SourceSubjectVisitId;
|
||||||
|
}
|
||||||
|
|
||||||
var subjectVisitUrgentInfo = await _subjectVisitRepository.Where(x => x.Id == reReadingVisitTask.SourceSubjectVisitId).Select(x => new
|
var subjectVisitUrgentInfo = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Select(x => new
|
||||||
{
|
{
|
||||||
x.PDState,
|
x.PDState,
|
||||||
x.IsEnrollmentConfirm,
|
x.IsEnrollmentConfirm,
|
||||||
|
|
|
@ -783,7 +783,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
//var defalutSortArray = new string[] { nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc", nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.SubjectId), nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.VisitTaskNum) };
|
//var defalutSortArray = new string[] { nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc", nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.SubjectId), nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.VisitTaskNum) };
|
||||||
|
|
||||||
var defalutSortArray = new string[] { nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.TaskState), nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc",
|
var defalutSortArray = new string[] { nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.TaskState),
|
||||||
|
nameof(ReReadingTaskView.RequestReReadingResultEnum) ,
|
||||||
|
nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.IsUrgent) + " desc",
|
||||||
nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.SubjectId),nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.VisitTaskNum) };
|
nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.SubjectId),nameof(ReReadingTaskView.OriginalReReadingTask) + "." + nameof(ReReadingTaskView.OriginalReReadingTask.VisitTaskNum) };
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -798,7 +798,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
foreach (var translateInfo in translateInfoList)
|
foreach (var translateInfo in translateInfoList)
|
||||||
{
|
{
|
||||||
//Json 解析后 true 变为了True
|
//Json 解析后 true 变为了True
|
||||||
jsonObject[translateInfo.ColumnValue] = translateDataList[translateInfo.TranslateDictionaryName].Where(t => t.Code.ToLower() == jsonObject[translateInfo.ColumnValue].ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault();
|
jsonObject[translateInfo.ColumnValue] = translateDataList[translateInfo.TranslateDictionaryName].Where(t => t.Code.ToLower() == jsonObject[translateInfo.ColumnValue]?.ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
//处理动态翻译
|
//处理动态翻译
|
||||||
|
|
|
@ -179,15 +179,15 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
||||||
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName));
|
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName));
|
||||||
|
|
||||||
CreateMap<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>()
|
CreateMap<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>().IncludeBase<VisitTask, OverallTumorEvaluationExport>()
|
||||||
.ForMember(o => o.OverallTumorEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstOrDefault().Answer))
|
|
||||||
.ForMember(o => o.TargetlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.TargetLesion).FirstOrDefault().Answer))
|
.ForMember(o => o.TargetlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.TargetLesion).FirstOrDefault().Answer))
|
||||||
.ForMember(o => o.NoneTargetlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.NoTargetLesion).FirstOrDefault().Answer))
|
.ForMember(o => o.NoneTargetlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.NoTargetLesion).FirstOrDefault().Answer))
|
||||||
.ForMember(o => o.IsExistNewlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.NewLesions).FirstOrDefault().Answer))
|
.ForMember(o => o.IsExistNewlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.NewLesions).FirstOrDefault().Answer))
|
||||||
|
|
||||||
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
|
//.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
|
||||||
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
//.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
||||||
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName));
|
//.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
CreateMap<VisitTask, RECIST1Point1DetailedOfEvaluatedLesionExport>().IncludeBase<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>()
|
CreateMap<VisitTask, RECIST1Point1DetailedOfEvaluatedLesionExport>().IncludeBase<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>()
|
||||||
|
|
|
@ -1917,8 +1917,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
|
|
||||||
var cloneEntity = firstEntity.Clone();
|
var cloneEntity = firstEntity.Clone();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//保证Id 唯一
|
//保证Id 唯一
|
||||||
cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.ReadingQuestionCriterionTrialId.ToString(), firstEntity.ReadingQuestionTrialId.ToString(), firstEntity.VisitTaskId.ToString());
|
cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.ReadingQuestionCriterionTrialId.ToString(), firstEntity.ReadingQuestionTrialId.ToString(), firstEntity.VisitTaskId.ToString());
|
||||||
|
@ -2159,6 +2158,19 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
//不是固定问题的问题
|
||||||
|
var firstEntity = list.Where(t => t.QuestionId != null).First();
|
||||||
|
|
||||||
|
var cloneEntity = firstEntity.Clone();
|
||||||
|
|
||||||
|
var criterion = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => new { t.TrialReadingCriterionId,t.TrialReadingCriterion.CriterionType } ).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
//保证Id 唯一
|
||||||
|
cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), criterion.TrialReadingCriterionId.ToString());
|
||||||
|
|
||||||
|
var extraIdentification = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
var objList = new List<object>();
|
var objList = new List<object>();
|
||||||
|
|
||||||
foreach (var group in list.GroupBy(t => t.TaskId))
|
foreach (var group in list.GroupBy(t => t.TaskId))
|
||||||
|
@ -2177,62 +2189,73 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
}).OrderBy(t => t.ShowOrder).ToListAsync();
|
}).OrderBy(t => t.ShowOrder).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
//获取访视的评估结果 也要记录稽查
|
//pcwg3 的问题没有提交过来,是通过固定的方式去查询出来
|
||||||
var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new
|
if (criterion.CriterionType == CriterionType.PCWG3)
|
||||||
{
|
{
|
||||||
TaskBlindName = u.VisitTask.TaskBlindName,
|
|
||||||
QuestionId = u.ReadingQuestionTrialId,
|
extraIdentification = "/PCWG3";
|
||||||
u.Answer
|
//获取访视的评估结果 也要记录稽查
|
||||||
}).ToListAsync();
|
var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key &&t.ReadingQuestionTrial.GlobalReadingShowType != GlobalReadingShowType.NotShow).Select(u => new
|
||||||
|
{
|
||||||
|
TaskBlindName = u.VisitTask.TaskBlindName,
|
||||||
|
QuestionId = u.ReadingQuestionTrialId,
|
||||||
|
u.ReadingQuestionTrial.QuestionName,
|
||||||
|
u.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
u.ReadingQuestionTrial.ShowOrder,
|
||||||
|
u.Answer
|
||||||
|
}).OrderBy(t=>t.ShowOrder).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
var obj = new
|
var obj = new
|
||||||
|
{
|
||||||
|
TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(),
|
||||||
|
VisitQuestionAnswerList = visitAnswerList,
|
||||||
|
|
||||||
|
|
||||||
|
Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).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()
|
||||||
|
};
|
||||||
|
|
||||||
|
objList.Add(obj);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(),
|
//获取访视的评估结果 也要记录稽查
|
||||||
VisitQuestionAnswerList = visitAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(),
|
var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => 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,
|
TaskBlindName = u.VisitTask.TaskBlindName,
|
||||||
UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer,
|
QuestionId = u.ReadingQuestionTrialId,
|
||||||
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()
|
u.Answer
|
||||||
};
|
}).ToListAsync();
|
||||||
|
|
||||||
objList.Add(obj);
|
|
||||||
|
|
||||||
|
|
||||||
#region 因为要记录一个表 所以这里屏蔽
|
var obj = new
|
||||||
//var firstEntity = questionAnswerList.First();
|
{
|
||||||
|
TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(),
|
||||||
|
VisitQuestionAnswerList = visitAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(),
|
||||||
|
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()
|
||||||
|
};
|
||||||
|
|
||||||
//var cloneEntity = firstEntity.Clone();
|
objList.Add(obj);
|
||||||
|
|
||||||
////保证Id 唯一
|
}
|
||||||
//cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), firstEntity.TaskId.ToString());
|
|
||||||
|
|
||||||
//var trialReadingCriterionId = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
//await InsertInspection<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
|
|
||||||
//{
|
|
||||||
// VisitTaskId = x.TaskId,
|
|
||||||
// TrialReadingCriterionId = trialReadingCriterionId,
|
|
||||||
// ObjectRelationParentId = x.TaskId,
|
|
||||||
//}, obj);
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var firstEntity = list.Where(t => t.QuestionId != null).First();
|
|
||||||
|
|
||||||
var cloneEntity = firstEntity.Clone();
|
|
||||||
|
|
||||||
var trialReadingCriterionId = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
//保证Id 唯一
|
|
||||||
cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), trialReadingCriterionId.ToString());
|
|
||||||
|
|
||||||
|
|
||||||
await InsertInspection<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
|
await InsertInspection<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
|
||||||
{
|
{
|
||||||
VisitTaskId = x.GlobalTaskId,
|
VisitTaskId = x.GlobalTaskId,
|
||||||
TrialReadingCriterionId = trialReadingCriterionId,
|
TrialReadingCriterionId = criterion.TrialReadingCriterionId,
|
||||||
ObjectRelationParentId = x.TaskId,
|
ObjectRelationParentId = x.TaskId,
|
||||||
|
ExtraIndentification=extraIdentification
|
||||||
}, new { GlobalAnswerList = objList });
|
}, new { GlobalAnswerList = objList });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue