diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index c564cfbf..9ca922c6 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -4746,6 +4746,13 @@
+
+
+ 获取阅片器官信息
+
+
+
+
获取项目器官信息
@@ -5421,6 +5428,11 @@
位置 英文
+
+
+ 病灶类型
+
+
病灶类型
@@ -5441,6 +5453,11 @@
位置 英文
+
+
+ 病灶类型
+
+
是否可编辑位置
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
index dfeb901d..16d13063 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
@@ -6,6 +6,8 @@
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+
namespace IRaCIS.Core.Application.ViewModel
{
@@ -189,6 +191,21 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid? SystemCriterionId { get; set; }
}
+ public class GetReadingOrganListOutDto
+ {
+ ///
+ /// 病灶类型
+ ///
+ public LesionType LesionType { get; set; }
+
+ public List OrganList { get; set; }
+ }
+
+ public class GetReadingOrganListInDto
+ {
+ [NotDefault]
+ public Guid VisitTaskId { get; set; }
+ }
public class SetOrganIsEnableInDto
{
@@ -252,6 +269,13 @@ namespace IRaCIS.Core.Application.ViewModel
public bool IsCheckd { get; set; }
}
+ public class ReadingOrganDto : GetTrialOrganListOutDto
+ {
+ ///
+ /// 病灶类型
+ ///
+ public LesionType LesionType { get; set; }
+ }
public class GetTrialOrganListOutDto
{
public Guid Id { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/OrganInfoService.cs
index a7fb2ffd..a3478c5b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/OrganInfoService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/OrganInfoService.cs
@@ -125,6 +125,51 @@ namespace IRaCIS.Core.Application.Service
#endregion
+ ///
+ /// 获取阅片器官信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetReadingOrganList(GetReadingOrganListInDto inDto)
+ {
+ var trialReadingCriterionId = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.TrialReadingCriterionId).FirstOrDefaultAsync();
+
+
+ var organInfoQueryable = from data in _organInfoRepository.AsQueryable()
+
+ join trialData in _organTrialInfoRepository.AsQueryable().Where( x => x.IsEnable&&x.TrialCriterionId== trialReadingCriterionId)
+ on data.Id equals trialData.OrganInfoId
+ join criterionNidus in _criterionNidusRepository.AsQueryable().Where(x=>x.CriterionId== trialReadingCriterionId)
+ on data.OrganType equals criterionNidus.OrganType
+ select new ReadingOrganDto()
+ {
+ Id = trialData.Id,
+ Part = data.Part,
+ TULAT = data.TULAT,
+ TULOC = data.TULOC,
+ Remark = data.Remark,
+ IsLymphNodes = data.IsLymphNodes,
+ IsCanEditPosition = data.IsCanEditPosition,
+ IsEnable = trialData.IsEnable,
+ OrganType = data.OrganType,
+ PartEN = data.PartEN,
+ TULATEN = data.TULATEN,
+ TULOCEN = data.TULOCEN,
+ LesionType= criterionNidus.LesionType
+ };
+
+ var organList = await organInfoQueryable.ToListAsync();
+
+ List result = organList.GroupBy(x => new { x.LesionType }).Select(x => new GetReadingOrganListOutDto()
+ {
+ LesionType = x.Key.LesionType,
+ OrganList = x.ToList()
+ }).ToList();
+
+ return result;
+ }
+
#region 项目器官