修改导表排序+ 受试者无阅片期 字段设置问题
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-12-04 11:37:57 +08:00
parent da2209cf95
commit a2cfec6553
4 changed files with 33 additions and 14 deletions

View File

@ -7095,11 +7095,6 @@
是否查询所有的一致性分析临床数据 (为否只查询PDF)
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingOrTaskClinicalDataListInDto.IsGetTaskClinicalData">
<summary>
是否是阅片页面获取临床数据 (阅片其他访视任务需要获取受试者级别的)
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListIndto">
<summary>
获取访视列表

View File

@ -1504,17 +1504,26 @@ namespace IRaCIS.Core.Application.Service.Common
}
else
{
//两个人都做了
if (resultExceptJudgeList.Count(t => t.VisitTaskNum == item.VisitTaskNum && t.SubjectCode == item.SubjectCode) == 2)
//产生了阅片期
if (resultExceptJudgeList.Any(t => t.IsSubjectHaveReadingPeriod))
{
//如果没有产生裁判默认选择R1
if (item.ArmEnum == Arm.DoubleReadingArm1)
//两个人都做了
if (resultExceptJudgeList.Count(t => t.VisitTaskNum == item.VisitTaskNum && t.SubjectCode == item.SubjectCode) == 2)
{
item.IsJudgeSelect = true;
//如果没有产生裁判默认选择R1
if (item.ArmEnum == Arm.DoubleReadingArm1)
{
item.IsJudgeSelect = true;
}
else
{
item.IsJudgeSelect = false;
}
}
else
{
item.IsJudgeSelect = false;
item.IsJudgeSelect = null;
item.IsTrigerJudge = null;
}
}
else
@ -1523,11 +1532,12 @@ namespace IRaCIS.Core.Application.Service.Common
item.IsTrigerJudge = null;
}
}
}
}
if (arbitrationRule == ArbitrationRule.Reading)
else if (arbitrationRule == ArbitrationRule.Reading)
{
//处理访视裁判标记
foreach (var visitItem in resultExceptJudgeList.Where(t => t.ReadingCategory == ReadingCategory.Visit))
@ -1633,6 +1643,15 @@ namespace IRaCIS.Core.Application.Service.Common
}
}
}
else
{
foreach (var visitItem in resultExceptJudgeList.Where(t => t.ReadingCategory == ReadingCategory.Visit))
{
visitItem.IsJudgeSelect = null;
visitItem.IsTrigerJudge = null;
}
}
return resultExceptJudgeList;
}
@ -2094,11 +2113,11 @@ namespace IRaCIS.Core.Application.Service.Common
list = new List<CommonEvaluationExport>();
foreach (var item in taskList)
foreach (var item in taskList.OrderBy(t => t.SubjectCode).ThenBy(t => t.ArmEnum).ThenBy(t => t.VisitTaskNum))
{
if (item.LesionList.Count > 0)
{
foreach (var lession in item.LesionList)
foreach (var lession in item.LesionList.OrderBy(t => t.LessionType).ThenBy(t => t.LessionCode))
{
var firstLessionAnser = lession.LessionAnswerList.FirstOrDefault() ?? new CommonLessionQuestionAnswerInfo();

View File

@ -1159,6 +1159,8 @@ namespace IRaCIS.Core.Application.Contracts
{
public List<CommonQuesionInfo> QuestionAnswerList { get; set; }
public bool IsSubjectHaveReadingPeriod { get; set; }
public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty;

View File

@ -257,6 +257,9 @@ namespace IRaCIS.Core.Application.Service
false)))
.ForMember(o => o.JudgeNote, t => t.MapFrom(u => u.ReadingCategory==ReadingCategory.Judge? u.JudgeResultRemark : u.JudgeVisitTask.JudgeResultRemark))
.ForMember(o => o.VisitNote, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.AdjustReason).FirstOrDefault()!.Answer))
.ForMember(o => o.IsSubjectHaveReadingPeriod, t => t.MapFrom(u => arbitrationRule == ArbitrationRule.Reading ?
u.Subject.ReadModuleList.Any(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.ReadingSetType == ReadingSetType.ImageReading) : false))
.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))