HIR 申请重阅,如果后续任务已经拷贝了表单,申请当前任务后,后续拷贝的表单删除
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5783f5836a
commit
282c0b40c2
|
@ -1522,7 +1522,9 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[UnitOfWork]
|
[UnitOfWork]
|
||||||
public async Task<IResponseOutput> AIRReReading(AIRReReadingCommand command, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
public async Task<IResponseOutput> AIRReReading(AIRReReadingCommand command,
|
||||||
|
[FromServices] IVisitTaskHelpeService _visitTaskCommonService,
|
||||||
|
[FromServices] IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository)
|
||||||
{
|
{
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.AIR)
|
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.AIR)
|
||||||
{
|
{
|
||||||
|
@ -1592,6 +1594,28 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
||||||
ConfirmReReadingList = new List<ConfirmReReadingDTO>() { new ConfirmReReadingDTO() { Id = requestRecord.Id, OriginalReReadingTaskId = visitTaskId } }
|
ConfirmReReadingList = new List<ConfirmReReadingDTO>() { new ConfirmReReadingDTO() { Id = requestRecord.Id, OriginalReReadingTaskId = visitTaskId } }
|
||||||
}, _visitTaskCommonService);
|
}, _visitTaskCommonService);
|
||||||
|
|
||||||
|
//有序SR 申请重阅的时候,把后续任务的拷贝表单要清理掉
|
||||||
|
|
||||||
|
var taskInfo = _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => new { t.TrialReadingCriterion.IsReadingTaskViewInOrder, t.TrialReadingCriterionId, t.SubjectId, t.VisitTaskNum }).FirstOrDefault();
|
||||||
|
|
||||||
|
if (taskInfo.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
|
||||||
|
{
|
||||||
|
|
||||||
|
var afterTaskIdList = _visitTaskRepository.Where(t => t.SubjectId == taskInfo.SubjectId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId
|
||||||
|
&& t.ReadingCategory == ReadingCategory.Visit && t.VisitTaskNum > taskInfo.VisitTaskNum).Select(t => t.Id).ToList();
|
||||||
|
|
||||||
|
await _readingCustomTagRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));
|
||||||
|
|
||||||
|
await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));
|
||||||
|
|
||||||
|
await _readingTaskQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));
|
||||||
|
|
||||||
|
await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));
|
||||||
|
|
||||||
|
await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2876,7 +2900,7 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||||
|
|
||||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == filterObj.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.CriterionType, x.IsAdditionalAssessment, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == filterObj.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.CriterionType, x.IsAdditionalAssessment, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == filterObj.SubjectId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze) && t.TaskAllocationState == TaskAllocationState.Allocated;
|
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == filterObj.SubjectId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze);
|
||||||
|
|
||||||
//是否是一致性分析任务 (一致性分析的任务 不会产生裁判 肿瘤学 仅仅有生成的访视和全局)
|
//是否是一致性分析任务 (一致性分析的任务 不会产生裁判 肿瘤学 仅仅有生成的访视和全局)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue