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 Guid CreateUserId { get; set; }
} }
public class GetCriterionLesionTypeInDto
{
public Guid CriterionId { get; set; }
public bool IsSystem { get; set; }
}
///<summary>CriterionNidusQuery 列表查询参数模型</summary> ///<summary>CriterionNidusQuery 列表查询参数模型</summary>
public class CriterionNidusQuery public class CriterionNidusQuery
{ {

View File

@ -443,6 +443,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数 /// 最大问题数
/// </summary> /// </summary>
public int? MaxQuestionCount { get; set; } public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
} }
public class ReadingQuestionSystemView public class ReadingQuestionSystemView
@ -542,6 +547,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数 /// 最大问题数
/// </summary> /// </summary>
public int? MaxQuestionCount { get; set; } public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
} }
@ -819,6 +830,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数 /// 最大问题数
/// </summary> /// </summary>
public int? MaxQuestionCount { get; set; } public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
} }
@ -928,6 +944,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 最大问题数 /// 最大问题数
/// </summary> /// </summary>
public int? MaxQuestionCount { get; set; } 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<OrganInfo> _organInfoRepository;
private readonly IRepository<Dictionary> _dictionaryRepository;
private readonly IRepository<OrganTrialInfo> _organTrialInfoRepository; private readonly IRepository<OrganTrialInfo> _organTrialInfoRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial; private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
private readonly IRepository<CriterionNidus> _criterionNidusRepository; private readonly IRepository<CriterionNidus> _criterionNidusRepository;
public OrganInfoService( public OrganInfoService(
IRepository<OrganInfo> organInfoRepository, IRepository<OrganInfo> organInfoRepository,
IRepository<Dictionary> dictionaryRepository,
IRepository<OrganTrialInfo> organTrialInfoRepository, IRepository<OrganTrialInfo> organTrialInfoRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial, IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
IRepository<CriterionNidus> criterionNidusRepository IRepository<CriterionNidus> criterionNidusRepository
) )
{ {
_organInfoRepository = organInfoRepository; _organInfoRepository = organInfoRepository;
this._dictionaryRepository = dictionaryRepository;
this._organTrialInfoRepository = organTrialInfoRepository; this._organTrialInfoRepository = organTrialInfoRepository;
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial; this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
this._criterionNidusRepository = criterionNidusRepository; 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>
/// 获取标准病灶列表 /// 获取标准病灶列表
/// </summary> /// </summary>
@ -137,6 +165,7 @@ namespace IRaCIS.Core.Application.Service
{ {
OrganInfoId=x, OrganInfoId=x,
TrialId=inDto.TrialId, TrialId=inDto.TrialId,
//OrganType=inDto.OrganType, //OrganType=inDto.OrganType,
}).ToList(); }).ToList();
@ -252,6 +281,7 @@ namespace IRaCIS.Core.Application.Service
CriterionId = trialCriterionId, CriterionId = trialCriterionId,
LesionType = x.LesionType, LesionType = x.LesionType,
OriginalId = x.Id, OriginalId = x.Id,
}).ToListAsync(); }).ToListAsync();
criterionNidusList.ForEach(x => x.Id = NewId.NextGuid()); criterionNidusList.ForEach(x => x.Id = NewId.NextGuid());
@ -264,16 +294,12 @@ namespace IRaCIS.Core.Application.Service
LesionType=x.LesionType, LesionType=x.LesionType,
Id = x.Id, Id = x.Id,
IsEnable = true, IsEnable = true,
TrialCriterionId= readingQuestionCriterionTrial.Id,
OrganInfoId = x.Id, OrganInfoId = x.Id,
TrialId = inDto.TrialId, TrialId = inDto.TrialId,
}).ToListAsync(); }).ToListAsync();
criterionNidusList.ForEach(x => x.Id = NewId.NextGuid()); criterionNidusList.ForEach(x => x.Id = NewId.NextGuid());
await _organTrialInfoRepository.AddRangeAsync(organTrialInfoList); await _organTrialInfoRepository.AddRangeAsync(organTrialInfoList);
await _readingQuestionCriterionTrial.UpdatePartialFromQueryAsync(trialCriterionId,x=> new ReadingQuestionCriterionTrial() { await _readingQuestionCriterionTrial.UpdatePartialFromQueryAsync(trialCriterionId,x=> new ReadingQuestionCriterionTrial() {
SynchronizeOriginalTime=DateTime.Now SynchronizeOriginalTime=DateTime.Now

View File

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

View File

@ -44,6 +44,14 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public LesionType LesionType { get; set; } 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> /// </summary>
public int? MaxQuestionCount { get; set; } public int? MaxQuestionCount { get; set; }
/// <summary>
/// 病灶类型
/// </summary>
public LesionType? LesionType { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>

View File

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