修改随机阅片逻辑
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-06-07 15:04:41 +08:00
parent cac0652120
commit 43ec332f61
1 changed files with 29 additions and 28 deletions

View File

@ -509,7 +509,7 @@ namespace IRaCIS.Core.Application.Service
// 肿瘤学
else if (readingCategory == ReadingCategory.Oncology)
{
needSignCount= trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count();
needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count();
if (readModule != null)
{
// 不存在需要CRC上传的临床数据 或者 PM已确认
@ -527,7 +527,7 @@ namespace IRaCIS.Core.Application.Service
}
//可能仅仅CRC 基线 没有PM
if (needSignCount == haveSignedCount && crcReadModuleSign )
if (needSignCount == haveSignedCount && crcReadModuleSign)
{
isClinicalDataSign = true;
@ -669,21 +669,22 @@ namespace IRaCIS.Core.Application.Service
var isFrontTaskNeedSignButNotSign = await _visitTaskRepository.AnyAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.TaskState == TaskState.Effect && t.VisitTaskNum < subjectVisit.VisitNum && t.IsNeedClinicalDataSign == true && t.IsClinicalDataSign == false);
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0)
{
blindTaskName = visitBlindConfig.BlindBaseLineName;
}
else
{
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum);
}
}
else
{
blindTaskName = visitBlindConfig.BlindFollowUpPrefix;
}
}
//每个访视 根据项目配置生成任务 双审生成两个
@ -1076,7 +1077,7 @@ namespace IRaCIS.Core.Application.Service
TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
IsNeedClinicalDataSign = isNeedClinicalDataSign,
IsClinicalDataSign = isClinicalDataSign,
IsFrontTaskNeedSignButNotSign= isFrontTaskNeedSignButNotSign
IsFrontTaskNeedSignButNotSign = isFrontTaskNeedSignButNotSign
});
@ -1610,11 +1611,11 @@ namespace IRaCIS.Core.Application.Service
var oncologySubjectUser = await _subjectUserRepository.Where(x => x.SubjectId == item.SubjectId && x.ArmEnum == Arm.TumorArm && x.IsConfirmed && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).FirstOrDefaultAsync();
item.VisitNum = await _readModuleRepository.Where(x => x.Id == item.ReadModuleId).Select(x => x.SubjectVisit.VisitNum).FirstOrDefaultAsync();
var id= NewId.NextGuid();
var id = NewId.NextGuid();
var singleTask = await _visitTaskRepository.AddAsync(new VisitTask()
{
Id= id,
Id = id,
TrialId = trialId,
SubjectId = item.SubjectId,
IsUrgent = originalTaskInfo.IsUrgent,
@ -1650,12 +1651,12 @@ namespace IRaCIS.Core.Application.Service
// 找到基线任务ID
var baseLineTaskId = await _visitTaskRepository.Where(x => x.TaskState == TaskState.Effect
&& x.ArmEnum == originalTaskInfo.ArmEnum && x.VisitTaskNum == 0
&& x.SubjectId== originalTaskInfo.SubjectId
&& x.SubjectId == originalTaskInfo.SubjectId
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).Select(x => x.Id).FirstNotNullAsync();
await _readingOncologyTaskInfoRepository.AddAsync(new ReadingOncologyTaskInfo()
{
EvaluationResult = "-1",
EvaluationReason=string.Empty,
EvaluationReason = string.Empty,
OncologyTaskId = id,
VisitTaskId = baseLineTaskId,
SubjectId = originalTaskInfo.SubjectId,