Uat_Study
he 2023-02-27 11:55:03 +08:00
commit 3323481b60
6 changed files with 100 additions and 51 deletions

View File

@ -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
{
}
}

View File

@ -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,

View File

@ -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) };

View File

@ -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();
}
//处理动态翻译

View File

@ -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>()

View File

@ -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 });
}