整体肿瘤评估导表修改
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-07-23 14:58:40 +08:00
parent fc36cbcb75
commit 76792a127f
5 changed files with 45 additions and 15 deletions
@@ -1153,6 +1153,7 @@ namespace IRaCIS.Core.Application.Service.Common
var resultList = list.Where(t => t.ReadingCategory != ReadingCategory.Judge).ToList();
if (arbitrationRule == ArbitrationRule.Visit)
{
@@ -1165,11 +1166,30 @@ namespace IRaCIS.Core.Application.Service.Common
}
if (arbitrationRule == ArbitrationRule.Reading)
{
//先确定裁判选定的是谁
foreach (var item in resultList)
{
//以最后一次裁判为准 找到最大的裁判的裁判选择的Arm,相同就设置裁判标记
item.IsGenerateJudge = list.Where(t => t.ReadingCategory == ReadingCategory.Judge && t.SubjectCode == item.SubjectCode && t.VisitTaskNum > item.VisitTaskNum
).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault()?.JudgeArmEnum == item.ArmEnum ? true : false;
}
//全局裁判了,选择了那个全局,那么对应全局下面的访视 设置裁判标记
foreach (var item in resultList.Where(t => t.ReadingCategory == ReadingCategory.Visit))
{
var selectJudegeGlobalList = resultList.Where(t => t.ReadingCategory == ReadingCategory.Global && t.IsGenerateJudge == true).ToList();
//全局修改了答案,那么给访视上赋值全局的结果 并且取的是最后的全局
var existGlobalAnswer = selectJudegeGlobalList.Where(t => t.SubjectCode == item.SubjectCode).SelectMany(t => t.GlobalTaskAnswerList).Where(t => t.VisitTaskId == item.Id)
.OrderByDescending(t => t.GlobalTaskVisitNum).FirstOrDefault()?.Answer;
item.OverallTumorEvaluationResult = string.IsNullOrEmpty(existGlobalAnswer) ? item.OverallTumorEvaluationResult : existGlobalAnswer;
item.IsGenerateJudge = true;
}
}
//如果没有产生裁判,默认选择R1
@@ -1247,7 +1267,7 @@ namespace IRaCIS.Core.Application.Service.Common
//处理裁判标记
list = DealJudgeMark(criterion.ArbitrationRule, list);
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId);
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list.Where(t => t.ReadingCategory != ReadingCategory.Global).ToList(), _userInfo.TimeZoneId);
exportInfo.IsEn_US = _userInfo.IsEn_Us;
exportInfo.ClientZoneId = _userInfo.TimeZoneId;
@@ -1307,7 +1327,7 @@ namespace IRaCIS.Core.Application.Service.Common
//处理裁判标记
list = DealJudgeMark(criterion.ArbitrationRule, list);
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId);
exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list.Where(t=>t.ReadingCategory!=ReadingCategory.Global).ToList(), _userInfo.TimeZoneId);
exportInfo.IsEn_US = _userInfo.IsEn_Us;
exportInfo.ClientZoneId = _userInfo.TimeZoneId;