修改一致性分析和临床数据
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-07-01 15:40:13 +08:00
parent f158f092ce
commit 2354ee9174
4 changed files with 38 additions and 7 deletions

View File

@ -51,6 +51,7 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository<ClinicalDataTrialSet> _trialClinicalDataSetRepository;
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
private readonly IRepository<ReadingConsistentClinicalData> _readingConsistentClinicalDataRepository;
private readonly IRepository<SubjectCriteriaEvaluation> _subjectCriteriaEvaluationRepository;
@ -67,8 +68,9 @@ namespace IRaCIS.Core.Application.Service
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository, IRepository<ClinicalDataTrialSet> trialClinicalDataSetRepository, IRepository<ReadingClinicalData> readingClinicalDataRepository,
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository)
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository, IRepository<ReadingConsistentClinicalData> readingConsistentClinicalDataRepository)
{
_readingConsistentClinicalDataRepository = readingConsistentClinicalDataRepository;
_readingClinicalDataRepository = readingClinicalDataRepository;
_trialClinicalDataSetRepository = trialClinicalDataSetRepository;
@ -207,7 +209,7 @@ namespace IRaCIS.Core.Application.Service
if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder)
{
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0 && subjectVisit.VisitNum==0)
if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0 && subjectVisit.VisitNum == 0)
{
blindTaskName = visitBlindConfig.BlindBaseLineName;
}
@ -217,9 +219,9 @@ namespace IRaCIS.Core.Application.Service
}
}
else
else
{
blindTaskName ="Timepoint";
blindTaskName = "Timepoint";
}
@ -1412,6 +1414,7 @@ namespace IRaCIS.Core.Application.Service
case GenerateTaskCategory.SelfConsistent:
var readingCriterionId = generateTaskCommand.GenerataConsistentTaskList.First().TrialReadingCriterionId;
var subjectId = generateTaskCommand.GenerataConsistentTaskList.First().SubjectId;
//var trialReadingCriterion=_trialReadingCriterionRepository.Where(t=>t.Id== trialReadingCriterionId).FirstOrDefault();
//判断是否存在传输方式为Pdf得临床数据
@ -1422,6 +1425,29 @@ namespace IRaCIS.Core.Application.Service
var taskState = exsitPDF ? TaskState.NotEffect : TaskState.Effect;
var clinicalDataList = _readingClinicalDataRepository.Where(t => t.SubjectId == subjectId).Include(t => t.ReadingClinicalDataPDFList).Include(t=>t.ClinicalDataTrialSet).ToList();
foreach (var clinicalData in clinicalDataList)
{
var consistnentClinicalData = _mapper.Map<ReadingConsistentClinicalData>(clinicalData);
var id = NewId.NextSequentialGuid();
consistnentClinicalData.Id = id;
if(consistnentClinicalData.ClinicalDataTrialSet.ClinicalUploadType == ClinicalUploadType.PDF)
{
consistnentClinicalData.IsSign = false;
consistnentClinicalData.IsBlind = false;
consistnentClinicalData.ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded;
}
var consistanClinicalDataPdfList = _mapper.Map<List<ReadingConsistentClinicalDataPDF>>(clinicalData.ReadingClinicalDataPDFList);
consistanClinicalDataPdfList.ForEach(t => { t.ReadingConsistentClinicalDataId = id; t.Id = Guid.Empty; });
consistnentClinicalData.ReadingClinicalDataPDFList = consistanClinicalDataPdfList;
await _readingConsistentClinicalDataRepository.AddAsync(consistnentClinicalData);
}
foreach (var task in generateTaskCommand.GenerataConsistentTaskList)
{

View File

@ -1476,9 +1476,11 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
else
{
if (task.ReadingCategory != ReadingCategory.Visit && task.ReadingCategory != ReadingCategory.Global)
//也要支持裁判重阅240701
if (task.ReadingCategory != ReadingCategory.Visit && task.ReadingCategory != ReadingCategory.Judge)
{
//---无序阅片仅仅允许IR 申请 全局和访视类型类别的任务进行重阅
//---无序阅片仅仅允许IR 申请 访视、裁判类型类别的任务进行重阅
throw new BusinessValidationFailedException(_localizer["VisitTask_IRGlobalRecheck"]);
}
}

View File

@ -318,6 +318,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadingClinicalData, ReadingConsistentClinicalData>().ReverseMap();
CreateMap<ReadingClinicalDataPDF, ReadingConsistentClinicalDataPDF>().ReverseMap();
}
}

View File

@ -105,7 +105,7 @@ namespace IRaCIS.Core.Domain.Models
/// PDF文件
/// </summary>
[JsonIgnore]
public List<ReadingClinicalDataPDF> ReadingClinicalDataPDFList { get; set; }
public List<ReadingConsistentClinicalDataPDF> ReadingClinicalDataPDFList { get; set; }