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);