修改
This commit is contained in:
@@ -33,8 +33,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
|
||||
private readonly IRepository<CheckChallengeDialog> _checkChallengeDialogrepository;
|
||||
private readonly IRepository<Trial> _trialRepository;
|
||||
|
||||
|
||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||
private readonly IVisitTaskHelpeService _IVisitTaskHelpeService;
|
||||
|
||||
private readonly AsyncLock _mutex = new AsyncLock();
|
||||
@@ -42,6 +41,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
public QCOperationService(IRepository<SubjectVisit> subjectVisitRepository,
|
||||
IRepository<QCChallenge> qcChallengeRepository,
|
||||
IRepository<Trial> trialRepository,
|
||||
IRepository<VisitTask> visitTaskRepository,
|
||||
IRepository<DicomStudy> dicomStudyRepository,
|
||||
IRepository<DicomSeries> dicomSeriesrepository,
|
||||
IRepository<Subject> subjectRepository,
|
||||
@@ -60,8 +60,8 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
this._qCChallengeDialogrepository = qCChallengeDialogrepository;
|
||||
this._checkChallengeDialogrepository = checkChallengeDialogrepository;
|
||||
_trialRepository = trialRepository;
|
||||
|
||||
_IVisitTaskHelpeService= visitTaskHelpeService;
|
||||
this._visitTaskRepository = visitTaskRepository;
|
||||
_IVisitTaskHelpeService = visitTaskHelpeService;
|
||||
}
|
||||
|
||||
#region QC质疑 以及回复 关闭
|
||||
@@ -1233,6 +1233,47 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
//项目或者Subject IsUrgent 提交时 访视也设置为紧急
|
||||
if (trialConfig.IsUrgent || dbSubjectVisit.Subject.IsUrgent || (dbSubjectVisit.PDState == PDStateEnum.PDProgress && !dbSubjectVisit.IsBaseLine) || (dbSubjectVisit.IsEnrollmentConfirm && dbSubjectVisit.IsBaseLine))
|
||||
{
|
||||
if (dbSubjectVisit.PDState == PDStateEnum.PDProgress)
|
||||
{
|
||||
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(x => x.SubjectId == dbSubjectVisit.SubjectId && x.VisitNum < dbSubjectVisit.VisitNum, x => new SubjectVisit()
|
||||
{
|
||||
IsUrgent = true
|
||||
});
|
||||
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask()
|
||||
{
|
||||
|
||||
IsUrgent = true,
|
||||
TaskUrgentType = TaskUrgentType.PDProgress,
|
||||
});
|
||||
|
||||
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SubjectId == dbSubjectVisit.SubjectId && x.VisitTaskNum < dbSubjectVisit.VisitNum && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask()
|
||||
{
|
||||
|
||||
IsUrgent = true,
|
||||
TaskUrgentType = TaskUrgentType.PDProgress,
|
||||
});
|
||||
}
|
||||
else if (dbSubjectVisit.IsEnrollmentConfirm)
|
||||
{
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask()
|
||||
{
|
||||
|
||||
IsUrgent = true,
|
||||
TaskUrgentType = TaskUrgentType.EnrollmentConfirm,
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.SourceSubjectVisitId == dbSubjectVisit.Id && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask()
|
||||
{
|
||||
|
||||
IsUrgent = true,
|
||||
TaskUrgentType = TaskUrgentType.VisitUrgent,
|
||||
});
|
||||
}
|
||||
|
||||
dbSubjectVisit.IsUrgent = true;
|
||||
|
||||
|
||||
@@ -1296,6 +1337,9 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
//非基线设置为PD的话 或者设置为末次访视 根据配置自动生成阅片期
|
||||
if (!dbSubjectVisit.IsBaseLine && dbSubjectVisit.PDState == PDStateEnum.PDProgress && dbSubjectVisit.IsFinalVisit)
|
||||
{
|
||||
|
||||
|
||||
|
||||
//该标准需要添加阅片期
|
||||
foreach (var trialReadingCriterionId in trialReadingCriterionIdList)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user