Uat_Study
hang 2022-07-15 17:27:33 +08:00
parent b988f80e94
commit bd2aed9637
2 changed files with 20 additions and 7 deletions

View File

@ -200,7 +200,7 @@ namespace IRaCIS.Core.Application.Service
//后续未分配的访视 PM 有序退回 或者PM 有序 申请重阅
var notAllocateList = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TaskState == TaskState.Effect && t.DoctorUserId == null
&& t.VisitTaskNum > subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit, true).ToListAsync();
&& t.VisitTaskNum >= subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit, true).ToListAsync();
foreach (var notAllocate in notAllocateList)
@ -211,6 +211,8 @@ namespace IRaCIS.Core.Application.Service
notAllocate.DoctorUserId = notAllocate.ArmEnum == Arm.DoubleReadingArm1 ? task1.DoctorUserId : task2.DoctorUserId;
}
//先回退访视1 再回退基线 这个时候 如果访视1都未做 这个时候是不需要生成任务的
//后续 废弃的任务 重阅重置,或者失效的 访视 需要重新生成
var needAddTaskList = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && (t.TaskState == TaskState.Adbandon || t.TaskState == TaskState.HaveReturned) && t.VisitTaskNum > subjectVisit.VisitNum && t.ReadingCategory == ReadingCategory.Visit).ToListAsync();
@ -226,8 +228,7 @@ namespace IRaCIS.Core.Application.Service
TrialId = trialId,
SubjectId = subjectVisit.SubjectId,
IsUrgent = subjectVisit.IsUrgent,
TaskBlindName = subjectVisit.BlindName,
TaskName = subjectVisit.VisitName,
VisitTaskNum = subjectVisit.VisitNum,
ArmEnum = Arm.DoubleReadingArm1,//特殊
Code = currentMaxCodeInt + 1,
@ -235,8 +236,10 @@ namespace IRaCIS.Core.Application.Service
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
ReadingCategory = ReadingCategory.Visit,
TaskBlindName = latestTask.TaskBlindName,
TaskName = latestTask.TaskName,
BlindSubjectCode=latestTask.BlindSubjectCode,
BlindSubjectCode =latestTask.BlindSubjectCode,
BlindTrialSiteCode=latestTask.BlindTrialSiteCode,
IsAnalysisCreate= latestTask.IsAnalysisCreate,
IsSelfAnalysis= latestTask.IsSelfAnalysis,
@ -250,8 +253,7 @@ namespace IRaCIS.Core.Application.Service
TrialId = trialId,
SubjectId = subjectVisit.SubjectId,
IsUrgent = subjectVisit.IsUrgent,
TaskBlindName = subjectVisit.BlindName,
TaskName = subjectVisit.VisitName,
VisitTaskNum = subjectVisit.VisitNum,
//CheckPassedTime = subjectVisit.CheckPassedTime,
ArmEnum = Arm.DoubleReadingArm2,//特殊
@ -261,6 +263,9 @@ namespace IRaCIS.Core.Application.Service
ReadingCategory = ReadingCategory.Visit,
TaskBlindName = latestTask.TaskBlindName,
TaskName = latestTask.TaskName,
BlindSubjectCode = latestTask.BlindSubjectCode,
BlindTrialSiteCode = latestTask.BlindTrialSiteCode,
IsAnalysisCreate = latestTask.IsAnalysisCreate,

View File

@ -1426,6 +1426,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary>
/// <returns></returns>
[HttpPut("{trialId:guid}/{taskId:guid}")]
[UnitOfWork]
public async Task<IResponseOutput> PMSetTaskBack(Guid trialId, Guid taskId)
{
@ -1532,10 +1533,17 @@ namespace IRaCIS.Core.Application.Service
{
influenceTask.TaskState = TaskState.HaveReturned;
}
else
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
{
influenceTask.TaskState = TaskState.Adbandon;
}
else
{
influenceTask.DoctorUserId = null;
influenceTask.AllocateTime = null;
influenceTask.SuggesteFinishedTime = null;
influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
}
break;