修改统计
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
c8e5a5173c
commit
109bdd263e
|
|
@ -16,6 +16,7 @@ namespace IRaCIS.Core.Application;
|
|||
[ApiExplorerSettings(GroupName = "Trial")]
|
||||
public class TrialStatService(
|
||||
IRepository<Trial> _trialRepository,
|
||||
IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository,
|
||||
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<TrialDocument> _trialDocumentRepository,
|
||||
|
|
@ -119,7 +120,7 @@ public class TrialStatService(
|
|||
var trialReadingCriterionId = inQuery.TrialReadingCriterionId;
|
||||
|
||||
//每次查询必须是单标准的
|
||||
var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionGroup, t.IsGlobalReading, t.IsArbitrationReading, t.IsOncologyReading, t.CriterionName, t.ArbitrationRule, t.TrialId }).FirstNotNullAsync();
|
||||
var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCriterionId).Select(t => new { t.Id, t.CriterionType, t.CriterionGroup, t.IsGlobalReading, t.IsArbitrationReading, t.IsOncologyReading, t.CriterionName, t.ArbitrationRule, t.TrialId }).FirstNotNullAsync();
|
||||
|
||||
|
||||
if (criterion.CriterionGroup == CriterionGroup.Nontumorous)
|
||||
|
|
@ -216,7 +217,7 @@ public class TrialStatService(
|
|||
);
|
||||
|
||||
//一定要两个人做完了,产生了裁判并且有结果的,否则就不算,并且排除基线
|
||||
list = list.Where(t => t.IsJudgeSelect == true && t.VisitTaskNum != 0 && t.ReadingCategory==ReadingCategory.Visit)//全局的答案已经放在对应访视上了
|
||||
list = list.Where(t => t.IsJudgeSelect == true && t.VisitTaskNum != 0 && t.ReadingCategory == ReadingCategory.Visit)//全局的答案已经放在对应访视上了
|
||||
.GroupBy(t => t.SubjectCode).Select(g => g.OrderByDescending(t => t.VisitTaskNum).First()).ToList();
|
||||
|
||||
|
||||
|
|
@ -239,15 +240,18 @@ public class TrialStatService(
|
|||
// 先把 resultList 转成内存字典
|
||||
var resultDict = resultList.ToDictionary(r => r.OverallTumorEvaluation, r => r.SubjectCodeList);
|
||||
|
||||
|
||||
|
||||
// 查询字典表,先把数据拉出来到内存,再合并
|
||||
var translateList = _dictionaryRepository
|
||||
.Where(t => t.Parent.Code == dicName)
|
||||
var translateList = _readingTrialCriterionDictionaryRepository
|
||||
.Where(t => t.ParentCode == dicName && t.CriterionId == criterion.Id)
|
||||
.Select(t => new
|
||||
{
|
||||
t.Code,
|
||||
t.Value,
|
||||
t.Dictionary.Code,
|
||||
t.Dictionary.Value,
|
||||
})
|
||||
.ToList()
|
||||
.Where(t => t.Code != "-1")
|
||||
.Select(t => new EfficacyEvaluationStatViewModel
|
||||
{
|
||||
DictionaryCode = dicName,
|
||||
|
|
@ -267,7 +271,7 @@ public class TrialStatService(
|
|||
|
||||
var pdInfo = translateList
|
||||
.WhereIf(criterion.CriterionType == CriterionType.IRECIST1Point1, t => t.OverallTumorEvaluation == "ICPD")
|
||||
.WhereIf(criterion.CriterionType == CriterionType.IRECIST1Point1, t => t.OverallTumorEvaluation == "PD")
|
||||
.WhereIf(criterion.CriterionType == CriterionType.RECIST1Point1, t => t.OverallTumorEvaluation == "PD")
|
||||
.FirstOrDefault();
|
||||
|
||||
var firstPdList = new List<FirstPdInfo>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue