Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
354dba5de7
|
@ -46,13 +46,16 @@ namespace IRaCIS.Core.Application.Service
|
||||||
private readonly IRepository<ClinicalDataTrialSet> _trialClinicalDataSetRepository;
|
private readonly IRepository<ClinicalDataTrialSet> _trialClinicalDataSetRepository;
|
||||||
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
||||||
|
|
||||||
|
private readonly IRepository<SubjectCriteriaEvaluation> _subjectCriteriaEvaluationRepository;
|
||||||
|
|
||||||
|
|
||||||
public VisitTaskHelpeService(IRepository<VisitTask> visitTaskRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<Trial> trialRepository, IEasyCachingProvider provider,
|
public VisitTaskHelpeService(IRepository<VisitTask> visitTaskRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<Trial> trialRepository, IEasyCachingProvider provider,
|
||||||
IRepository<SubjectVisit> subjectVisitRepository,
|
IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
IRepository<ReadModule> readModuleRepository,
|
IRepository<ReadModule> readModuleRepository,
|
||||||
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
|
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
|
||||||
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
|
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
|
||||||
IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ClinicalDataTrialSet> trialClinicalDataSetRepository, IRepository<ReadingClinicalData> readingClinicalDataRepository)
|
IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ClinicalDataTrialSet> trialClinicalDataSetRepository, IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||||
|
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository)
|
||||||
{
|
{
|
||||||
_readingClinicalDataRepository = readingClinicalDataRepository;
|
_readingClinicalDataRepository = readingClinicalDataRepository;
|
||||||
_trialClinicalDataSetRepository = trialClinicalDataSetRepository;
|
_trialClinicalDataSetRepository = trialClinicalDataSetRepository;
|
||||||
|
@ -68,7 +71,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_userInfo = userInfo;
|
_userInfo = userInfo;
|
||||||
_visitTaskReReadingRepository = visitTaskReReadingRepository;
|
_visitTaskReReadingRepository = visitTaskReReadingRepository;
|
||||||
|
_subjectCriteriaEvaluationRepository = subjectCriteriaEvaluationRepository;
|
||||||
_trialReadingCriterionRepository = trialReadingCriterionRepository;
|
_trialReadingCriterionRepository = trialReadingCriterionRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -522,7 +525,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
var trialId = generateTaskCommand.TrialId;
|
var trialId = generateTaskCommand.TrialId;
|
||||||
var isAssignSubjectToDoctor = generateTaskCommand.IsAssignSubjectToDoctor;
|
var isAssignSubjectToDoctor = generateTaskCommand.IsAssignSubjectToDoctor;
|
||||||
|
|
||||||
var trialReadingCriterionConfigList = _trialReadingCriterionRepository.Where(t => t.TrialId == trialId && t.ReadingInfoSignTime != null && t.IsAutoCreate).Select(t => new { TrialReadingCriterionId = t.Id, t.ReadingTool, t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState, t.TaskAllocateObjEnum, t.CriterionType }).ToList();
|
var trialReadingCriterionConfigList = _trialReadingCriterionRepository.Where(t => t.TrialId == trialId && t.ReadingInfoSignTime != null).Select(t => new { TrialReadingCriterionId = t.Id, t.ReadingTool, t.ReadingType, t.IsReadingTaskViewInOrder, t.IsFollowVisitAutoAssign, t.IsAutoCreate, t.IsFollowGlobalVisitAutoAssign, t.FollowGlobalVisitAutoAssignDefaultState, t.FollowVisitAutoAssignDefaultState, t.TaskAllocateObjEnum, t.CriterionType }).ToList();
|
||||||
|
|
||||||
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
var visitBlindConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.BlindBaseLineName, t.BlindFollowUpPrefix }).FirstOrDefault();
|
||||||
|
|
||||||
|
@ -581,6 +584,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
|
|
||||||
foreach (var trialReadingCriterionConfig in trialReadingCriterionConfigList)
|
foreach (var trialReadingCriterionConfig in trialReadingCriterionConfigList)
|
||||||
|
{
|
||||||
|
|
||||||
|
var subjectCriteriaEvaluation = _subjectCriteriaEvaluationRepository.Where(t => t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.IsJoinEvaluation && t.SubjectId == subjectVisit.SubjectId).FirstOrDefault();
|
||||||
|
|
||||||
|
if (trialReadingCriterionConfig.IsAutoCreate == true || (trialReadingCriterionConfig.IsAutoCreate == false && subjectCriteriaEvaluation != null && subjectCriteriaEvaluation?.IsJoinEvaluation == true))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
var assignConfigList = await _subjectUserRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.OrignalSubjectUserId == null && t.IsConfirmed).Select(u => new { u.DoctorUserId, u.ArmEnum }).ToListAsync();
|
var assignConfigList = await _subjectUserRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == trialReadingCriterionConfig.TrialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.OrignalSubjectUserId == null && t.IsConfirmed).Select(u => new { u.DoctorUserId, u.ArmEnum }).ToListAsync();
|
||||||
|
@ -679,8 +688,6 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
|
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
|
||||||
|
|
||||||
|
|
||||||
|
@ -1192,6 +1199,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1173,7 +1173,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
var trialReadingCriterionId = taskList.First()!.TrialReadingCriterionId;
|
var trialReadingCriterionId = taskList.First()!.TrialReadingCriterionId;
|
||||||
|
|
||||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
if (criterionConfig.IsAutoCreate == false)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk("手动生成任务的不允许PM 申请影像重阅");
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var task in taskList)
|
foreach (var task in taskList)
|
||||||
{
|
{
|
||||||
|
@ -1952,7 +1957,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
|
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == task.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsAutoCreate, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
if (criterionConfig.IsAutoCreate==false)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk("手动生成任务的不允许影像退回");
|
||||||
|
}
|
||||||
|
|
||||||
if (task.TaskState != TaskState.Effect || task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
|
if (task.TaskState != TaskState.Effect || task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
CreateMap<TrialDocument, TrialDocumentView>()
|
CreateMap<TrialDocument, TrialDocumentView>()
|
||||||
.ForMember(d => d.FileType, u => u.MapFrom(s => s.FileType.MappedValue))
|
.ForMember(d => d.FileType, u => u.MapFrom(s => s.FileType.MappedValue))
|
||||||
.ForMember(d => d.IsSomeUserSigned, u => u.MapFrom(s => s.TrialDocConfirmedUserList.Any()))
|
.ForMember(d => d.IsSomeUserSigned, u => u.MapFrom(s => s.TrialDocConfirmedUserList.Any(t=>t.ConfirmTime!=null)))
|
||||||
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path ));
|
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path ));
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -516,13 +516,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
SeriesNumber = series.SeriesNumber,
|
SeriesNumber = series.SeriesNumber,
|
||||||
SeriesTime = series.SeriesTime,
|
SeriesTime = series.SeriesTime,
|
||||||
|
|
||||||
|
InstanceCount=series.InstanceCount,
|
||||||
StudyTime = series.DicomStudy.StudyTime,
|
StudyTime = series.DicomStudy.StudyTime,
|
||||||
StudyId = series.StudyId,
|
StudyId = series.StudyId,
|
||||||
SeriesId = series.Id,
|
SeriesId = series.Id,
|
||||||
SubjectVisitId = series.SubjectVisitId,
|
SubjectVisitId = series.SubjectVisitId,
|
||||||
TrialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
TrialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
||||||
|
|
||||||
|
|
||||||
IsReading=visitStudyFilter.IsReading,
|
IsReading=visitStudyFilter.IsReading,
|
||||||
Id = visitStudyFilter.Id,
|
Id = visitStudyFilter.Id,
|
||||||
CreateTime = visitStudyFilter.CreateTime,
|
CreateTime = visitStudyFilter.CreateTime,
|
||||||
|
|
Loading…
Reference in New Issue