From d7e5b3f57cca34e51a4c986689afa551c2a658a5 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Wed, 8 Nov 2023 18:27:58 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=BB=BA=E8=AE=AE=E5=AE=8C?=
=?UTF-8?q?=E6=88=90=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.API/IRaCIS.Core.API.xml | 3 +
.../Allocation/VisitTaskHelpeService.cs | 95 +++----------------
2 files changed, 18 insertions(+), 80 deletions(-)
diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml
index fe5eb4c96..4d391ccd8 100644
--- a/IRaCIS.Core.API/IRaCIS.Core.API.xml
+++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml
@@ -226,6 +226,9 @@
+
+ 通用文件下载
+
上传通用文档 比如一致性核查的 比如导出的excel 模板
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
index 548987b2b..a5b261a2b 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
@@ -233,83 +233,8 @@ namespace IRaCIS.Core.Application.Service
&& t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.TaskState == TaskState.Effect
&& t.SourceSubjectVisitId == subjectVisit.Id).ToList();
- if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Double)
- {
-
-
- VisitTask? task1 = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm1);
- VisitTask? task2 = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm2);
-
- if (!existCurrentVisitTaskList.Any(t => t.ArmEnum == Arm.DoubleReadingArm1))
- {
- currentMaxCodeInt = currentMaxCodeInt + 1;
-
-
-
-
- task1 = await _visitTaskRepository.AddAsync(new VisitTask()
- {
- TrialId = trialId,
- SubjectId = subjectVisit.SubjectId,
- IsUrgent = subjectVisit.IsUrgent,
- TaskBlindName = blindTaskName,
- TaskName = subjectVisit.VisitName,
- VisitTaskNum = subjectVisit.VisitNum,
- TaskUrgentType = taskUrgentType,
- IsCanEditUrgentState = isCanEditUrgentState,
- //CheckPassedTime = subjectVisit.CheckPassedTime,
- ArmEnum = Arm.DoubleReadingArm1,//特殊
- Code = currentMaxCodeInt,
- SourceSubjectVisitId = subjectVisit.Id,
- TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt, nameof(VisitTask)),
- ReadingCategory = ReadingCategory.Visit,
-
- TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
- IsNeedClinicalDataSign = isNeedClinicalDataSign,
- IsClinicalDataSign = isClinicalDataSign
- });
-
- }
-
- if (!existCurrentVisitTaskList.Any(t => t.ArmEnum == Arm.DoubleReadingArm2))
- {
- currentMaxCodeInt = currentMaxCodeInt + 1;
-
-
- task2 = await _visitTaskRepository.AddAsync(new VisitTask()
- {
- TrialId = trialId,
- SubjectId = subjectVisit.SubjectId,
- IsUrgent = subjectVisit.IsUrgent,
- TaskBlindName = blindTaskName,
- TaskName = subjectVisit.VisitName,
- TaskUrgentType = taskUrgentType,
- IsCanEditUrgentState = isCanEditUrgentState,
- VisitTaskNum = subjectVisit.VisitNum,
- //CheckPassedTime = subjectVisit.CheckPassedTime,
- ArmEnum = Arm.DoubleReadingArm2,//特殊
- Code = currentMaxCodeInt,
- SourceSubjectVisitId = subjectVisit.Id,
- TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt, nameof(VisitTask)),
- ReadingCategory = ReadingCategory.Visit,
-
- TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
- IsNeedClinicalDataSign = isNeedClinicalDataSign,
- IsClinicalDataSign = isClinicalDataSign
- });
-
-
- }
-
- _provider.Set($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
-
-
-
-
- var defaultState = trialReadingCriterionConfig.FollowVisitAutoAssignDefaultState == TaskAllocateDefaultState.InitAllocated ? TaskAllocationState.InitAllocated : TaskAllocationState.Allocated;
-
- }
- else if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Single)
+ //只有单重阅片
+ if (trialReadingCriterionConfig.ReadingType == ReadingMethod.Single)
{
VisitTask? singleTask = existCurrentVisitTaskList.FirstOrDefault(t => t.ArmEnum == Arm.SingleReadingArm);
@@ -336,8 +261,12 @@ namespace IRaCIS.Core.Application.Service
ReadingCategory = ReadingCategory.Visit,
TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId,
IsNeedClinicalDataSign = isNeedClinicalDataSign,
- IsClinicalDataSign = isClinicalDataSign
- });
+ IsClinicalDataSign = isClinicalDataSign,
+
+ SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget)
+
+
+ });
}
@@ -681,11 +610,11 @@ namespace IRaCIS.Core.Application.Service
//之前有回退到影像上传的访视 那么当前访视一致性核查通过的时候,当前访视生成但是不分配出去(排除失访的)
var beforeBackVisitTask = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TrialReadingCriterionId== trialReadingCriterionId && t.VisitTaskNum < subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.CheckState != CheckStateEnum.CVPassed && t.SourceSubjectVisit.IsLostVisit == false).OrderBy(t => t.VisitTaskNum).FirstOrDefaultAsync();
+ singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
if (beforeBackVisitTask == null)
{
- singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
var followBackVisitTask = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.VisitTaskNum > subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.CheckState != CheckStateEnum.CVPassed && t.SourceSubjectVisit.IsLostVisit == false).OrderBy(t => t.VisitTaskNum).FirstOrDefaultAsync();
@@ -765,7 +694,11 @@ namespace IRaCIS.Core.Application.Service
}
+ else
+ {
+ singleTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
+ }
#endregion
@@ -876,6 +809,8 @@ namespace IRaCIS.Core.Application.Service
// AllocateTime = DateTime.Now,
//DoctorUserId = reReadingVisitTask.DoctorUserId,
+ SuggesteFinishedTime= reReadingVisitTask.SuggesteFinishedTime,
+
});
generateTaskCommand.Action(newTask);