修改非Dicom
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-10-22 15:12:37 +08:00
parent 7399568e36
commit f6be3186e7
3 changed files with 44 additions and 5 deletions

View File

@ -972,6 +972,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
public bool IsDicomReading { get; set; } = true;
}
public class GetReadingTableQuestionOutDto

View File

@ -1,4 +1,5 @@
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Drawing.Charts;
using DocumentFormat.OpenXml.Office2019.Excel.ThreadedComments;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Filter;
@ -1309,14 +1310,44 @@ namespace IRaCIS.Core.Application.Service
var organIds = tableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organList = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
var tableQuestionMarkList=new List<QuestionMarkInfo>();
if (inDto.IsDicomReading)
{
// 删除病灶不删除病灶标记 所以查询question的时候 已经删除的病灶对应的标记的信息要排除
var rowids = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).Select(x => x.Id).ToListAsync();
// 删除病灶不删除病灶标记 所以查询question的时候 已经删除的病灶对应的标记的信息要排除
var rowids = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).Select(x => x.Id).ToListAsync();
List<Guid?> rowidnull = rowids.Select(x => (Guid?)x).ToList();
List<Guid?> rowidnull = rowids.Select(x => (Guid?)x).ToList();
tableQuestionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId != null
).ProjectTo<QuestionMarkInfo>(_mapper.ConfigurationProvider).ToListAsync();
}
else
{
var markList = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId
).ProjectTo<QuestionMarkInfo>(_mapper.ConfigurationProvider).ToListAsync();
var bingList= await _readingNoneDicomMarkBindingRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
.ProjectTo<QuestionMarkInfo>(_mapper.ConfigurationProvider).ToListAsync();
tableQuestionMarkList = markList
.GroupJoin(
bingList,
l => l.MarkId,
r => r.MarkId,
(l, rs) => rs.DefaultIfEmpty()
.Select(r =>
{
var info = l.Clone();
info.QuestionId = r?.QuestionId;
info.TableQuestionId = r?.TableQuestionId;
info.RowId = r?.RowId;
return info;
}))
.SelectMany(g => g).ToList();
}
var tableQuestionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId&&x.QuestionId!=null
).ProjectTo<QuestionMarkInfo>(_mapper.ConfigurationProvider).ToListAsync();
return (await GetReadingTableQuestion(
new GetReadingTableQuestionOrAnswerInDto()

View File

@ -124,6 +124,12 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadingTaskQuestionMark, GetTableAnswerRowInfoOutDto>()
.ForMember(d => d.FristAddTaskId, u => u.MapFrom(s => s.FristAddTaskId!.Value));
CreateMap<ReadingTaskQuestionMark, QuestionMarkInfo>();
CreateMap<ReadingNoneDicomMark, QuestionMarkInfo>()
.ForMember(d => d.PicturePath, u => u.MapFrom(s => s.Path));
CreateMap<ReadingNoneDicomMarkBinding, QuestionMarkInfo>();
CreateMap<QuestionMarkInfo, ReadingTaskQuestionMark>();
//CreateMap<ReadingClinicalDataView, GetReadingClinicalDataListOutDto>();
// CreateMap<ReadingClinicalData, GetReadingClinicalDataListOutDto>()