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 有序 申请重阅 //后续未分配的访视 PM 有序退回 或者PM 有序 申请重阅
var notAllocateList = await _visitTaskRepository.Where(t => t.TrialId == trialId && t.SubjectId == subjectVisit.SubjectId && t.TaskState == TaskState.Effect && t.DoctorUserId == null 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) foreach (var notAllocate in notAllocateList)
@ -211,6 +211,8 @@ namespace IRaCIS.Core.Application.Service
notAllocate.DoctorUserId = notAllocate.ArmEnum == Arm.DoubleReadingArm1 ? task1.DoctorUserId : task2.DoctorUserId; 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(); 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, TrialId = trialId,
SubjectId = subjectVisit.SubjectId, SubjectId = subjectVisit.SubjectId,
IsUrgent = subjectVisit.IsUrgent, IsUrgent = subjectVisit.IsUrgent,
TaskBlindName = subjectVisit.BlindName,
TaskName = subjectVisit.VisitName,
VisitTaskNum = subjectVisit.VisitNum, VisitTaskNum = subjectVisit.VisitNum,
ArmEnum = Arm.DoubleReadingArm1,//特殊 ArmEnum = Arm.DoubleReadingArm1,//特殊
Code = currentMaxCodeInt + 1, Code = currentMaxCodeInt + 1,
@ -235,8 +236,10 @@ namespace IRaCIS.Core.Application.Service
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
ReadingCategory = ReadingCategory.Visit, ReadingCategory = ReadingCategory.Visit,
TaskBlindName = latestTask.TaskBlindName,
TaskName = latestTask.TaskName,
BlindSubjectCode=latestTask.BlindSubjectCode, BlindSubjectCode =latestTask.BlindSubjectCode,
BlindTrialSiteCode=latestTask.BlindTrialSiteCode, BlindTrialSiteCode=latestTask.BlindTrialSiteCode,
IsAnalysisCreate= latestTask.IsAnalysisCreate, IsAnalysisCreate= latestTask.IsAnalysisCreate,
IsSelfAnalysis= latestTask.IsSelfAnalysis, IsSelfAnalysis= latestTask.IsSelfAnalysis,
@ -250,8 +253,7 @@ namespace IRaCIS.Core.Application.Service
TrialId = trialId, TrialId = trialId,
SubjectId = subjectVisit.SubjectId, SubjectId = subjectVisit.SubjectId,
IsUrgent = subjectVisit.IsUrgent, IsUrgent = subjectVisit.IsUrgent,
TaskBlindName = subjectVisit.BlindName,
TaskName = subjectVisit.VisitName,
VisitTaskNum = subjectVisit.VisitNum, VisitTaskNum = subjectVisit.VisitNum,
//CheckPassedTime = subjectVisit.CheckPassedTime, //CheckPassedTime = subjectVisit.CheckPassedTime,
ArmEnum = Arm.DoubleReadingArm2,//特殊 ArmEnum = Arm.DoubleReadingArm2,//特殊
@ -261,6 +263,9 @@ namespace IRaCIS.Core.Application.Service
ReadingCategory = ReadingCategory.Visit, ReadingCategory = ReadingCategory.Visit,
TaskBlindName = latestTask.TaskBlindName,
TaskName = latestTask.TaskName,
BlindSubjectCode = latestTask.BlindSubjectCode, BlindSubjectCode = latestTask.BlindSubjectCode,
BlindTrialSiteCode = latestTask.BlindTrialSiteCode, BlindTrialSiteCode = latestTask.BlindTrialSiteCode,
IsAnalysisCreate = latestTask.IsAnalysisCreate, IsAnalysisCreate = latestTask.IsAnalysisCreate,

View File

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