Uat_Study
he 2022-08-18 15:36:30 +08:00
parent 32ff20cf7a
commit 871b642769
7 changed files with 83 additions and 7 deletions

View File

@ -19,6 +19,14 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid CreateUserId { get; set; }
}
public class GetCriterionLesionTypeInDto
{
public Guid CriterionId { get; set; }
public bool IsSystem { get; set; }
}
///<summary>CriterionNidusQuery 列表查询参数模型</summary>
public class CriterionNidusQuery
{

View File

@ -443,6 +443,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
}
public class ReadingQuestionSystemView
@ -542,6 +547,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
}
@ -819,6 +830,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
}
@ -928,6 +944,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
}

View File

@ -21,23 +21,51 @@ namespace IRaCIS.Core.Application.Service
{
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<Dictionary> _dictionaryRepository;
private readonly IRepository<OrganTrialInfo> _organTrialInfoRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
private readonly IRepository<CriterionNidus> _criterionNidusRepository;
public OrganInfoService(
IRepository<OrganInfo> organInfoRepository,
IRepository<Dictionary> dictionaryRepository,
IRepository<OrganTrialInfo> organTrialInfoRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
IRepository<CriterionNidus> criterionNidusRepository
)
{
_organInfoRepository = organInfoRepository;
this._dictionaryRepository = dictionaryRepository;
this._organTrialInfoRepository = organTrialInfoRepository;
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
this._criterionNidusRepository = criterionNidusRepository;
}
/// <summary>
/// 获取标准病灶类型
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<Dictionary>> GetCriterionLesionType(GetCriterionLesionTypeInDto inDto)
{
var dicNums = new List<int>();
if (inDto.IsSystem)
{
dicNums = await _organInfoRepository.Where(x => x.SystemCriterionId == inDto.CriterionId).Select(x => (int)x.LesionType).Distinct().ToListAsync();
}
else
{
dicNums = await _organTrialInfoRepository.Where(x => x.TrialCriterionId == inDto.CriterionId).Select(x => (int)x.LesionType).Distinct().ToListAsync();
}
var dictionaryId = await _dictionaryRepository.Where(x => x.Code == "LesionType").Select(x => x.Id).FirstOrDefaultAsync();
var result = await _dictionaryRepository.Where(x => x.ParentId == dictionaryId && dicNums.Contains(int.Parse(x.Code))).ToListAsync();
return result;
}
/// <summary>
/// 获取标准病灶列表
/// </summary>
@ -137,6 +165,7 @@ namespace IRaCIS.Core.Application.Service
{
OrganInfoId=x,
TrialId=inDto.TrialId,
//OrganType=inDto.OrganType,
}).ToList();
@ -252,6 +281,7 @@ namespace IRaCIS.Core.Application.Service
CriterionId = trialCriterionId,
LesionType = x.LesionType,
OriginalId = x.Id,
}).ToListAsync();
criterionNidusList.ForEach(x => x.Id = NewId.NextGuid());
@ -264,16 +294,12 @@ namespace IRaCIS.Core.Application.Service
LesionType=x.LesionType,
Id = x.Id,
IsEnable = true,
TrialCriterionId= readingQuestionCriterionTrial.Id,
OrganInfoId = x.Id,
TrialId = inDto.TrialId,
}).ToListAsync();
criterionNidusList.ForEach(x => x.Id = NewId.NextGuid());
await _organTrialInfoRepository.AddRangeAsync(organTrialInfoList);
await _readingQuestionCriterionTrial.UpdatePartialFromQueryAsync(trialCriterionId,x=> new ReadingQuestionCriterionTrial() {
SynchronizeOriginalTime=DateTime.Now

View File

@ -74,8 +74,11 @@ namespace IRaCIS.Application.Services
this._previousPDFRepository = previousPDFRepository;
}
/// <summary>
/// 赋值一个系统标准到另一系统标准
/// 复制一个系统标准到另一系统标准
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>

View File

@ -44,6 +44,14 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public LesionType LesionType { get; set; }
/// <summary>
/// 标准Id
/// </summary>
public Guid TrialCriterionId { get; set; }
[ForeignKey("OrganInfoId")]
public OrganInfo OrganInfo { get; set; }
}

View File

@ -104,6 +104,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
/// <summary>
/// 创建人
/// </summary>

View File

@ -67,6 +67,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public bool IsJudgeQuestion { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
/// <summary>
/// 备注
/// </summary>