Merge branch 'Uat_IRC_Net10' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Uat_IRC_Net10
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net10
hang 2026-08-14 14:32:18 +08:00
commit 859c9e4161
2 changed files with 30 additions and 0 deletions

View File

@ -29,6 +29,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IGeneralCalculateService _generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
IVisitTaskHelpeService _visitTaskHelpeService,
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
IHttpContextAccessor httpContext,
ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{
@ -1083,6 +1084,21 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var noneDicomFiles = await _noneDicomStudyFileRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
.Select(x => new { x.FileType, x.FileName }).ToListAsync();
var hasZip = noneDicomFiles.Any(x => x.FileType == "application/zip"
|| x.FileType == "application/x-zip-compressed"
|| x.FileName.EndsWith(".zip", StringComparison.OrdinalIgnoreCase));
var hasImage = noneDicomFiles.Any(x => x.FileType.StartsWith("image/", StringComparison.OrdinalIgnoreCase)
|| x.FileName.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)
|| x.FileName.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)
|| x.FileName.EndsWith(".png", StringComparison.OrdinalIgnoreCase));
if (!hasZip || !hasImage)
{
throw new BusinessValidationFailedException(_localizer["CriterionImageFileVerify"]);
}
var question = await _readingQuestionTrialRepository.Where(x => x.LesionType == LesionType.ROI && x.ReadingQuestionCriterionTrialId == taskinfo.TrialReadingCriterionId).FirstNotNullAsync();

View File

@ -35,6 +35,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IGeneralCalculateService _generalCalculateService,
IVisitTaskHelpeService _visitTaskHelpeService,
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
IRepository<TaskStudy> _taskStudyRepository,
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{
/// <summary>
@ -1597,6 +1599,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var noneDicomFiles = await _noneDicomStudyFileRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
.Select(x => new { x.FileType, x.FileName }).ToListAsync();
var hasDicom = await _taskStudyRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId);
var hasZip = noneDicomFiles.Any(x => x.FileType == "application/zip"
|| x.FileType == "application/x-zip-compressed"
|| x.FileName.EndsWith(".zip", StringComparison.OrdinalIgnoreCase));
if (!hasDicom || !hasZip)
{
throw new BusinessValidationFailedException(_localizer["CriterionImageFileVerify"]);
}
var question = await _readingQuestionTrialRepository.Where(x => x.LesionType == LesionType.ROI && x.ReadingQuestionCriterionTrialId == taskinfo.TrialReadingCriterionId).FirstNotNullAsync();