阅片信息签名验证接口修改
parent
747bb29729
commit
1094c8ce2a
|
|
@ -27,15 +27,16 @@ namespace IRaCIS.Core.Application
|
|||
IRepository<TrialQCQuestion> _trialQCQuestionRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
|
||||
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
||||
IRepository<ReadingQuestionVisitJudgeRule> _readingQuestionVisitJudgeRuleRepository,
|
||||
IRepository<TrialCriterionDictionaryCode> _trialCriterionDictionaryCode,
|
||||
IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCode,
|
||||
IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystemRepository,
|
||||
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingCriterionPage> _readingCriterionPageRepository,
|
||||
IRepository<SystemCriterionKeyFile> _systemCriterionKeyFileRepository,
|
||||
IOSSService _oSSService,
|
||||
|
||||
IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
|
||||
IRepository<SystemCriterionKeyFile> _systemCriterionKeyFileRepository,
|
||||
IOSSService _oSSService,
|
||||
IRepository<VisitStage> _visitStageRepository,
|
||||
IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
|
||||
IOrganInfoService _iOrganInfoService,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository,
|
||||
|
|
@ -48,7 +49,7 @@ namespace IRaCIS.Core.Application
|
|||
IRepository<SystemBasicData> _systemBasicDataRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<Enroll> _enrollRepository,
|
||||
IRepository<TrialQCQuestionAnswer> _qcQuestionAnswerRepository,
|
||||
IRepository<TrialQCQuestionAnswer> _qcQuestionAnswerRepository,
|
||||
IRepository<TrialStateChange> _trialStateChangeRepository,
|
||||
IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository, IRepository<TrialDicomAE> _dicomAERepository,
|
||||
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService, ITrialConfigService
|
||||
|
|
@ -105,6 +106,40 @@ namespace IRaCIS.Core.Application
|
|||
throw new BusinessValidationFailedException(_localizer["TrialConfig_JudgeTaskFail"]);
|
||||
}
|
||||
|
||||
if (trialCriterion.JudgeRuleEnum == JudgeRule.Difference)
|
||||
{
|
||||
var visitStageList = await _visitStageRepository.Where(x => x.TrialId == trialCriterion.TrialId).ToListAsync();
|
||||
|
||||
visitStageList.Add(new VisitStage()
|
||||
{
|
||||
VisitName = "Out of Plan",
|
||||
VisitNum=-1,
|
||||
});
|
||||
|
||||
|
||||
|
||||
var judgeCount = await _readingQuestionTrialRepository.CountAsync(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId && x.IsJudgeQuestion);
|
||||
|
||||
var ruleList = await _readingQuestionVisitJudgeRuleRepository.Where(x => x.ReadingQuestionTrial.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ToListAsync();
|
||||
|
||||
var errorList = new List<string>();
|
||||
|
||||
visitStageList.ForEach(x =>
|
||||
{
|
||||
if (judgeCount != ruleList.Count(y => y.VisitNum == x.VisitNum))
|
||||
{
|
||||
errorList.Add(x.VisitName);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (errorList.Count() > 0)
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_VisitjudgeDeficiency", string.Join(",", errorList)]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue