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

This commit is contained in:
2025-08-01 17:49:09 +08:00
7 changed files with 20095 additions and 1 deletions
@@ -1,5 +1,7 @@
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure;
using Microsoft.AspNetCore.Hosting;
@@ -7,13 +9,16 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using MiniExcelLibs;
using System.Data;
using System.IO;
namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
[ApiExplorerSettings(GroupName = "Image")]
public class ReadingCalculateService(IEnumerable<ICriterionCalculateService> _criterionServices,
IRepository<VisitTask> _visitTaskRepository,
IRepository<ReadingImportFile> _readingImportFileRepository,
IHttpContextAccessor httpContext,
IOSSService oSSService,
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
IStringLocalizer _localizer, IUserInfo _userInfo
@@ -53,6 +58,29 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var service = await this.GetService(visitTaskId);
if (service != null)
{
var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
var streamCopy = new MemoryStream();
// 将上传的文件内容复制到 MemoryStream
await file.CopyToAsync(streamCopy);
// 重置流的位置,以便后续读取
streamCopy.Position = 0;
var ossRelativePath = await oSSService.UploadToOSSAsync(streamCopy, $"{visitTaskInfo.TrialId.ToString()}/InspectionUpload/ReadingImport", file.FileName);
await _readingImportFileRepository.AddAsync(new ReadingImportFile()
{
FilePath = ossRelativePath,
VisitTaskId = visitTaskId,
TrialId = visitTaskInfo.TrialId,
SubjectId = visitTaskInfo.SubjectId,
SubjectVisitId = visitTaskInfo.SourceSubjectVisitId,
TrialReadingCriterionId = visitTaskInfo.TrialReadingCriterionId,
});
await service.ReadingImport();
}
}