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;
|
||||
|
||||
|
||||
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.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.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) };
|
||||
|
||||
|
||||
|
|
|
@ -798,7 +798,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
foreach (var translateInfo in translateInfoList)
|
||||
{
|
||||
//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.UserName, t => t.MapFrom(u => u.DoctorUser.UserName));
|
||||
|
||||
CreateMap<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>()
|
||||
.ForMember(o => o.OverallTumorEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstOrDefault().Answer))
|
||||
CreateMap<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>().IncludeBase<VisitTask, OverallTumorEvaluationExport>()
|
||||
.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.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.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
||||
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName));
|
||||
//.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.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
||||
;
|
||||
|
||||
|
||||
CreateMap<VisitTask, RECIST1Point1DetailedOfEvaluatedLesionExport>().IncludeBase<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>()
|
||||
|
|
|
@ -1917,8 +1917,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
|
||||
var cloneEntity = firstEntity.Clone();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//保证Id 唯一
|
||||
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 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>();
|
||||
|
||||
foreach (var group in list.GroupBy(t => t.TaskId))
|
||||
|
@ -2177,62 +2189,73 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
}).OrderBy(t => t.ShowOrder).ToListAsync();
|
||||
|
||||
|
||||
//获取访视的评估结果 也要记录稽查
|
||||
var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new
|
||||
//pcwg3 的问题没有提交过来,是通过固定的方式去查询出来
|
||||
if (criterion.CriterionType == CriterionType.PCWG3)
|
||||
{
|
||||
TaskBlindName = u.VisitTask.TaskBlindName,
|
||||
QuestionId = u.ReadingQuestionTrialId,
|
||||
u.Answer
|
||||
}).ToListAsync();
|
||||
|
||||
extraIdentification = "/PCWG3";
|
||||
//获取访视的评估结果 也要记录稽查
|
||||
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(),
|
||||
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()
|
||||
};
|
||||
|
||||
objList.Add(obj);
|
||||
//获取访视的评估结果 也要记录稽查
|
||||
var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new
|
||||
{
|
||||
TaskBlindName = u.VisitTask.TaskBlindName,
|
||||
QuestionId = u.ReadingQuestionTrialId,
|
||||
u.Answer
|
||||
}).ToListAsync();
|
||||
|
||||
|
||||
#region 因为要记录一个表 所以这里屏蔽
|
||||
//var firstEntity = questionAnswerList.First();
|
||||
var obj = new
|
||||
{
|
||||
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()
|
||||
{
|
||||
VisitTaskId = x.GlobalTaskId,
|
||||
TrialReadingCriterionId = trialReadingCriterionId,
|
||||
TrialReadingCriterionId = criterion.TrialReadingCriterionId,
|
||||
ObjectRelationParentId = x.TaskId,
|
||||
ExtraIndentification=extraIdentification
|
||||
}, new { GlobalAnswerList = objList });
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue