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 Details

Uat_IRC_Net8
hang 2025-08-01 17:20:55 +08:00
commit ce3c4a893f
15 changed files with 171 additions and 12 deletions

View File

@ -13,6 +13,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
[ApiExplorerSettings(GroupName = "Image")] [ApiExplorerSettings(GroupName = "Image")]
public class ReadingCalculateService(IEnumerable<ICriterionCalculateService> _criterionServices, public class ReadingCalculateService(IEnumerable<ICriterionCalculateService> _criterionServices,
IRepository<VisitTask> _visitTaskRepository, IRepository<VisitTask> _visitTaskRepository,
IHttpContextAccessor httpContext,
IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository, IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository,
IStringLocalizer _localizer, IUserInfo _userInfo IStringLocalizer _localizer, IUserInfo _userInfo
@ -38,7 +39,24 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task ReadingImport()
{
var request = httpContext.HttpContext!.Request;
var file = request.Form.Files[0];
Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]);
var service = await this.GetService(visitTaskId);
if (service != null)
{
await service.ReadingImport();
}
}
/// <summary> /// <summary>
/// 获取Service /// 获取Service

View File

@ -27,6 +27,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -33,6 +33,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
var request = httpContext.HttpContext!.Request;
ReadingImportType readingImportType = (ReadingImportType) int.Parse(request.Form["ReadingImportType"].ToString());
switch (readingImportType)
{
case ReadingImportType.IVUS_MatchingSegment:
await UploadIVUSTemplate();
break;
}
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>
@ -766,8 +783,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableAnswerRowInfoRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableQuestionAnswerRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos); await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos);
await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers); await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers);
await _readingTableQuestionAnswerRepository.SaveChangesAsync(); await _readingTableQuestionAnswerRepository.SaveChangesAsync();

View File

@ -13,6 +13,13 @@ namespace IRaCIS.Core.Application.Service
/// <returns></returns> /// <returns></returns>
Task CalculateTask(CalculateTaskInDto inDto); Task CalculateTask(CalculateTaskInDto inDto);
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
Task ReadingImport();
/// <summary> /// <summary>
/// 验证访视提交 /// 验证访视提交
/// </summary> /// </summary>

View File

@ -14,6 +14,9 @@ namespace IRaCIS.Core.Application.Service
/// <returns></returns> /// <returns></returns>
Task CalculateTask(CalculateTaskInDto inDto); Task CalculateTask(CalculateTaskInDto inDto);
/// <summary> /// <summary>
/// 验证访视提交 /// 验证访视提交
/// </summary> /// </summary>

View File

@ -28,7 +28,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IGeneralCalculateService _generalCalculateService, IGeneralCalculateService _generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService, ILuganoCalculateService IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService, ILuganoCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据

View File

@ -29,6 +29,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService, ILuganoCalculateService IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService, ILuganoCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -26,6 +26,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -33,6 +33,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>(); private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>();
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -28,6 +28,26 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService ILogger<IRECIST1Point1CalculateService> _logger, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
var request = httpContext.HttpContext!.Request;
ReadingImportType readingImportType = (ReadingImportType)int.Parse(request.Form["ReadingImportType"].ToString());
switch (readingImportType)
{
case ReadingImportType.OCT_FCT:
await UploadOCTFCTTemplate();
break;
case ReadingImportType.OCT_LipidAngle:
await UploadOCTLipidAngleTemplate();
break;
}
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
@ -627,8 +647,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
} }
await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableAnswerRowInfoRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableQuestionAnswerRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos); await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos);
await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers); await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers);
await _readingTableQuestionAnswerRepository.SaveChangesAsync(); await _readingTableQuestionAnswerRepository.SaveChangesAsync();
@ -802,8 +822,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}); });
} }
} }
await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableAnswerRowInfoRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id); await _readingTableQuestionAnswerRepository.DeleteFromQueryAsync(x => x.QuestionId == questionInfo.Id && x.VisitTaskId == taskinfo.Id);
await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos); await _readingTableAnswerRowInfoRepository.AddRangeAsync(tableAnsweRowInfos);
await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers); await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers);
await _readingTableQuestionAnswerRepository.SaveChangesAsync(); await _readingTableQuestionAnswerRepository.SaveChangesAsync();

View File

@ -27,6 +27,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private List<SiteVisitForTumor> siteVisitForTumorList; private List<SiteVisitForTumor> siteVisitForTumorList;
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -24,6 +24,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -24,6 +24,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ICriterionCalculateService
{ {
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -27,6 +27,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>(); private List<SiteVisitForTumor> siteVisitForTumorList = new List<SiteVisitForTumor>();
/// <summary>
/// 阅片导入
/// </summary>
/// <returns></returns>
public async Task ReadingImport()
{
}
/// <summary> /// <summary>
/// 获取阅片的计算数据 /// 获取阅片的计算数据
/// </summary> /// </summary>

View File

@ -34,10 +34,33 @@ namespace IRaCIS.Core.Domain.Share
} }
/// <summary> /// <summary>
/// 裁判匹配类型 /// 阅片标准导入类型
/// </summary> /// </summary>
public enum JudgeDifferenceType public enum ReadingImportType
{
/// <summary>
/// IVUS-各匹配段测量的值
/// </summary>
IVUS_MatchingSegment = 0,
/// <summary>
/// OCT-FCT
/// </summary>
OCT_FCT = 1,
/// <summary>
/// OCT-脂质角度
/// </summary>
OCT_LipidAngle = 2,
}
/// <summary>
/// 裁判匹配类型
/// </summary>
public enum JudgeDifferenceType
{ {
/// <summary> /// <summary>
/// > /// >