Uat_Study
he 2022-07-11 14:49:40 +08:00
parent c9012ca232
commit 67150ba985
5 changed files with 427 additions and 6 deletions

View File

@ -3772,6 +3772,161 @@
流程配置是否确认
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.TrialId">
<summary>
项目ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.ReadingMode">
<summary>
阅片方式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.ImagePlatform">
<summary>
阅片平台
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsGlobalReading">
<summary>
全局阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.ReadingType">
<summary>
阅片模式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsArbitrationReading">
<summary>
仲裁阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsClinicalReading">
<summary>
肿瘤学阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsReadingTaskViewInOrder">
<summary>
读片任务显示是否顺序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.ReadingTaskViewEnum">
<summary>
任务组织级别
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsImageStandard">
<summary>
图像是否有标注
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsReadingShowSubjectInfo">
<summary>
阅片是否显示受试者信息
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.IsReadingShowPreviousResults">
<summary>
阅片是否显示既往结果
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.TrialReadingCriterionList">
<summary>
项目标准集合
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.GetTrialReadingInfoOutDto.TrialJudgeQuestionList">
<summary>
项目裁判问题集合
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialJudgeQuestion.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialJudgeQuestion.AnswerGroup">
<summary>
答案分组
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialJudgeQuestion.AnswerCombination">
<summary>
答案组合
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialJudgeQuestion.JudgeType">
<summary>
裁判类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialReadingCriterion.CriterionName">
<summary>
标准
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.TrialId">
<summary>
项目ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.ReadingMode">
<summary>
阅片方式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.ImagePlatform">
<summary>
阅片平台
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsGlobalReading">
<summary>
全局阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.ReadingType">
<summary>
阅片模式
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsArbitrationReading">
<summary>
仲裁阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsClinicalReading">
<summary>
肿瘤学阅片
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsReadingTaskViewInOrder">
<summary>
读片任务显示是否顺序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.ReadingTaskViewEnum">
<summary>
任务组织级别
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsImageStandard">
<summary>
图像是否有标注
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsReadingShowSubjectInfo">
<summary>
阅片是否显示受试者信息
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto.IsReadingShowPreviousResults">
<summary>
阅片是否显示既往结果
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Contracts.TrialConfigDTO.QCProcessEnum">
<summary>
QC流程 0 不审1 单审2双审
@ -4346,6 +4501,20 @@
<param name="query"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.TrialConfigService.GetTrialReadingInfo(IRaCIS.Core.Application.Contracts.GetTrialReadingInfoInDto)">
<summary>
获取项目阅片信息
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.TrialConfigService.SetTrialReadingInfo(IRaCIS.Core.Application.Contracts.SetTrialReadingInfoInDto)">
<summary>
设置项目阅片信息
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.TrialConfigService.GetSignText(System.String)">
<summary>
获取签名文本

View File

@ -285,17 +285,197 @@ namespace IRaCIS.Core.Application.Contracts
public string SignCode { get; set; } = string.Empty;
}
public class GetReadingInfoOutDto
public class GetTrialReadingInfoOutDto
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 阅片方式
/// </summary>
public int ReadingMode { get; set; } = 1;
/// <summary>
/// 阅片平台
/// </summary>
public int ImagePlatform { get; set; } = 1;
/// <summary>
/// 全局阅片
/// </summary>
public bool IsGlobalReading { get; set; } = true;
/// <summary>
/// 仲裁规则
/// </summary>
public int ArbitrationRule { get; set; } = 2;
/// <summary>
/// 阅片模式
/// </summary>
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
/// <summary>
/// 仲裁阅片
/// </summary>
public bool? IsArbitrationReading { get; set; } = true;
/// <summary>
/// 肿瘤学阅片
/// </summary>
public bool IsClinicalReading { get; set; }
/// <summary>
/// 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 图像是否有标注
/// </summary>
public bool IsImageStandard { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// 阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 项目标准集合
/// </summary>
public List<TrialReadingCriterion> TrialReadingCriterionList { get; set; }
/// <summary>
/// 项目裁判问题集合
/// </summary>
public List<TrialJudgeQuestion> TrialJudgeQuestionList { get; set; }
}
public class GetReadingInfoInDto
public class TrialJudgeQuestion
{
public Guid ReadingQuestionCriterionTrialId { get; set; }
public Guid QuestionId { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; }
/// <summary>
/// 答案分组
/// </summary>
public string AnswerGroup { get; set; } = string.Empty;
/// <summary>
/// 答案组合
/// </summary>
public string AnswerCombination { get; set; } = string.Empty;
/// <summary>
/// 裁判类型
/// </summary>
public JudgeTypeEnum JudgeType { get; set; }
}
public class TrialReadingCriterion
{
public Guid Id { get; set; }
/// <summary>
/// 标准
/// </summary>
public string CriterionName { get; set; }
}
public class GetTrialReadingInfoInDto
{
[NotDefault]
public Guid TrialId { get; set; }
}
public class SetTrialReadingInfoInDto
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 阅片方式
/// </summary>
public int ReadingMode { get; set; } = 1;
/// <summary>
/// 阅片平台
/// </summary>
public int ImagePlatform { get; set; } = 1;
/// <summary>
/// 全局阅片
/// </summary>
public bool IsGlobalReading { get; set; } = true;
/// <summary>
/// 阅片模式
/// </summary>
public ReadingMethod ReadingType { get; set; } = ReadingMethod.Double;
/// <summary>
/// 仲裁阅片
/// </summary>
public bool? IsArbitrationReading { get; set; } = true;
/// <summary>
/// 肿瘤学阅片
/// </summary>
public bool IsClinicalReading { get; set; }
/// <summary>
/// 读片任务显示是否顺序
/// </summary>
public bool IsReadingTaskViewInOrder { get; set; } = true;
/// <summary>
/// 任务组织级别
/// </summary>
public ReadingTaskViewMethod ReadingTaskViewEnum { get; set; }
/// <summary>
/// 图像是否有标注
/// </summary>
public bool IsImageStandard { get; set; }
/// <summary>
/// 阅片是否显示受试者信息
/// </summary>
public bool IsReadingShowSubjectInfo { get; set; } = false;
/// <summary>
/// 阅片是否显示既往结果
/// </summary>
public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 仲裁规则
/// </summary>
public int ArbitrationRule { get; set; } = 2;
}
public class SignConfirmDTO
{
[NotDefault]

View File

@ -17,6 +17,7 @@ namespace IRaCIS.Core.Application
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<TrialQCQuestion> _trialQCQuestionRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
private readonly IEasyCachingProvider _provider;
@ -25,6 +26,7 @@ namespace IRaCIS.Core.Application
public TrialConfigService(IRepository<Trial> trialRepository,
IRepository<TrialQCQuestion> trialQCQuestionRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
IEasyCachingProvider provider
@ -34,10 +36,71 @@ namespace IRaCIS.Core.Application
_taskAllocationRuleRepository = taskAllocationRuleRepository;
this._trialQCQuestionRepository = trialQCQuestionRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
this._provider = provider;
}
/// <summary>
/// 获取项目阅片信息
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<GetTrialReadingInfoOutDto> GetTrialReadingInfo(GetTrialReadingInfoInDto inDto)
{
GetTrialReadingInfoOutDto trialInfo= await _trialRepository.Where(x=>x.Id==inDto.TrialId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
trialInfo.TrialReadingCriterionList = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).Select(x => new TrialReadingCriterion()
{
CriterionName = x.CriterionName,
Id = x.Id
}).ToListAsync();
trialInfo.TrialJudgeQuestionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrial.IsConfirm && x.IsJudgeQuestion)
.Select(x => new TrialJudgeQuestion()
{
AnswerCombination = x.AnswerCombination,
AnswerGroup = x.AnswerGroup,
JudgeType = x.JudgeType,
QuestionId = x.Id,
QuestionName = x.QuestionName,
ReadingQuestionCriterionTrialId = x.ReadingQuestionCriterionTrialId
}).ToListAsync();
return trialInfo;
}
/// <summary>
/// 设置项目阅片信息
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> SetTrialReadingInfo(SetTrialReadingInfoInDto inDto)
{
await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial()
{
ReadingMode = inDto.ReadingMode,
ReadingType = inDto.ReadingType,
IsArbitrationReading = inDto.IsArbitrationReading,
IsReadingTaskViewInOrder = inDto.IsReadingTaskViewInOrder,
ReadingTaskViewEnum = inDto.ReadingTaskViewEnum,
IsImageStandard = inDto.IsImageStandard,
IsReadingShowSubjectInfo = inDto.IsReadingShowSubjectInfo,
IsReadingShowPreviousResults = inDto.IsReadingShowPreviousResults,
IsGlobalReading = inDto.IsGlobalReading,
ImagePlatform=inDto.ImagePlatform,
ArbitrationRule=inDto.ArbitrationRule,
IsClinicalReading =inDto.IsClinicalReading,
});
var result = await _trialRepository.SaveChangesAsync();
return ResponseOutput.Ok(result);
}
/// <summary>
/// 获取签名文本
/// </summary>

View File

@ -223,6 +223,10 @@ namespace IRaCIS.Core.Application.Service
.ForMember(t => t.TrialUserList, u => u.Ignore());
CreateMap<Trial, GetTrialReadingInfoOutDto>()
.ForMember(t => t.TrialId, u => u.MapFrom(c => c.Id));
CreateMap<Trial, TrialSiteUserExportDto>()
.ForMember(t => t.TrialSiteUserList, u => u.Ignore());

View File

@ -369,6 +369,11 @@ namespace IRaCIS.Core.Domain.Models
public bool IsConfirmMedicineQuestion { get; set; } = false;
/// <summary>
/// 图像是否有标注
/// </summary>
public bool IsImageStandard { get; set; }
//public Guid? ReviewTypeId { get; set; } = Guid.Empty;