修改一版

Uat_Study
he 2022-06-15 18:00:02 +08:00
parent 9622cc0ab2
commit 59ef7cda71
15 changed files with 335 additions and 20 deletions

View File

@ -1274,6 +1274,61 @@
上传方式名称
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialConfirmCriterionListOutDto">
<summary>
返回对象
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialConfirmCriterionListOutDto.CriterionName">
<summary>
标准
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.Reading.Dto.SubmitVisitTaskQuestionsInDto">
<summary>
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.TrialId">
<summary>
项目Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.Type">
<summary>
类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.ParentTriggerValue">
<summary>
父问题触发
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.IsRequired">
<summary>
是否是必须
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.ShowOrder">
<summary>
排序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.ParentId">
<summary>
父问题ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionOutDto.TypeValue">
<summary>
类型值
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingPeriodSetAddOrEdit.TrialId">
<summary>
项目ID
@ -4080,6 +4135,32 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Application.Services.ReadingImageTaskService">
<summary>
IR影像阅片
</summary>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetReadingImageFile(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingImgInDto)">
<summary>
获取阅片非Dicom文件
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetTrialConfirmCriterionList(IRaCIS.Core.Application.Service.Reading.Dto.GetConfirmCriterionInDto)">
<summary>
获取项目已确认的标准
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetTrialReadingQuestion(IRaCIS.Core.Application.Service.Reading.Dto.GetTrialReadingQuestionInDto)">
<summary>
获取项目的阅片问题
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Application.Services.ReadingPeriodSetService">
<summary>
阅片期配置

View File

@ -282,7 +282,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 项目ID
/// </summary>
[Required(ErrorMessage = "TrialId为null")]
[NotDefault]
public Guid TrialId { get; set; }
/// <summary>
@ -293,16 +293,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 对象ID
/// </summary>
[Required(ErrorMessage = "ReadingId为null")]
public Guid? ReadingId { get; set; }
[Required(ErrorMessage = "SubjectId为null")]
public Guid? SubjectId { get; set; }
/// <summary>
/// 是否是访视
/// </summary>
[Required(ErrorMessage = "IsVisit为null")]
public bool? IsVisit { get; set; }
}

View File

@ -0,0 +1,118 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public class GetReadingImgOutDto
{
public string Path { get; set; }
public string FileName { get; set; }
}
public class GetReadingImgInDto
{
public Guid SubjectVisitId { get; set; }
}
public class GetConfirmCriterionInDto
{
[NotDefault]
public Guid TrialId { get; set; }
}
/// <summary>
/// 返回对象
/// </summary>
public class GetTrialConfirmCriterionListOutDto
{
public Guid CriterionId { get; set; }
/// <summary>
/// 标准
/// </summary>
public string CriterionName { get; set; }
}
public class GetTrialReadingQuestionInDto
{
[NotDefault]
public Guid CriterionId { get; set; }
}
/// <summary>
///
/// </summary>
public class SubmitVisitTaskQuestionsInDto
{
public Guid VisitTaskId { get; set; }
public List<QuestionAnswer> AnswerList { get; set; } = new List<QuestionAnswer>();
}
public class QuestionAnswer
{
public Guid TrialQuestionId { get; set; }
public string Answer { get; set; }
}
public class GetTrialReadingQuestionOutDto
{
public Guid Id { get; set; }
/// <summary>
/// 项目Id
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
/// <summary>
/// 父问题触发
/// </summary>
public string ParentTriggerValue { get; set; }
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; }
/// <summary>
/// 是否是必须
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 父问题ID
/// </summary>
public Guid? ParentId { get; set; }
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
}
}

View File

@ -253,7 +253,6 @@ namespace IRaCIS.Application.Services
var result = await _readingClinicalDataPDFRepository.Where(x => x.ReadingClinicalDataId == inDto.ReadingClinicalDataId).ProjectTo<GetReadingClinicalDataPDFListOutDto>(_mapper.ConfigurationProvider)
.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataPDFListOutDto.FileName) : inDto.SortField,
inDto.Asc);
return result;
}

View File

@ -0,0 +1,103 @@
using IRaCIS.Application.Interfaces;
using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Application.Filter;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Service.WorkLoad.DTO;
using Microsoft.AspNetCore.Authorization;
using IRaCIS.Core.Application.Auth;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share.Reading;
using MassTransit;
using IRaCIS.Core.Application.Service.Reading;
using IRaCIS.Core.Infra.EFCore.Common;
using Panda.DynamicWebApi.Attributes;
namespace IRaCIS.Application.Services
{
/// <summary>
/// IR影像阅片
/// </summary>
[ApiExplorerSettings(GroupName = "Reading")]
public class ReadingImageTaskService : BaseService
{
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
public ReadingImageTaskService(
IRepository<NoneDicomStudy> noneDicomStudyRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository
)
{
this._noneDicomStudyRepository = noneDicomStudyRepository;
this._visitTaskRepository = visitTaskRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
}
/// <summary>
/// 获取阅片非Dicom文件
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetReadingImgOutDto>> GetReadingImageFile(GetReadingImgInDto inDto)
{
List<GetReadingImgOutDto> imgList =await _noneDicomStudyRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId)
.SelectMany(x => x.NoneDicomFileList).Select(x=> new GetReadingImgOutDto() {
FileName=x.FileName,
Path=x.Path
}).ToListAsync();
return imgList;
}
/// <summary>
/// 获取项目已确认的标准
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetTrialConfirmCriterionListOutDto>> GetTrialConfirmCriterionList(GetConfirmCriterionInDto inDto)
{
var result= await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId&&x.IsConfirm)
.Select(x => new GetTrialConfirmCriterionListOutDto()
{
CriterionId = x.Id,
CriterionName = x.CriterionName
}).ToListAsync();
return result;
}
/// <summary>
/// 获取项目的阅片问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<List<GetTrialReadingQuestionOutDto>> GetTrialReadingQuestion(GetTrialReadingQuestionInDto inDto)
{
var result = await _readingQuestionTrialRepository.Where(x => x.Id == inDto.CriterionId)
.ProjectTo<GetTrialReadingQuestionOutDto>(_mapper.ConfigurationProvider).ToListAsync();
return result;
}
///// <summary>
/////
///// </summary>
///// <param name="InDto"></param>
///// <returns></returns>
//public async Task<IResponseOutput> SubmitVisitTaskQuestions(SubmitVisitTaskQuestionsInDto InDto)
//{
//}
}
}

View File

@ -167,7 +167,6 @@ namespace IRaCIS.Application.Services
PageSize = inDto.PageSize,
PageIndex = inDto.PageIndex,
TotalCount = totalCount,
};
return result;
}

View File

@ -185,7 +185,7 @@ namespace IRaCIS.Application.Services
};
var questionList =await _readingQuestionSystemRepository.Where(x => x.ReadingQuestionCriterionSystemId == inDto.ReadingQuestionCriterionSystemId)
.Where(x=> types.Contains(x.Type))
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id&&x.ParentId!= inDto.Id)
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,
@ -421,7 +421,7 @@ namespace IRaCIS.Application.Services
};
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.ReadingQuestionCriterionTrialId)
.Where(x => types.Contains(x.Type))
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id && x.ParentId != inDto.Id)
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,

View File

@ -70,7 +70,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.ParentQuestionName, u => u.MapFrom(s => s.ParentReadingQuestionTrial == null ? string.Empty : s.ParentReadingQuestionTrial.QuestionName)); ;
#endregion
#region IR阅片
CreateMap<ReadingQuestionTrial, GetTrialReadingQuestionOutDto>();
#endregion

View File

@ -200,4 +200,12 @@ namespace IRaCIS.Core.Domain.Share.Reading
[DisplayAttribute(Name = "阅片")]
Read = 2,
}
/// <summary>
/// 阅片状态
/// </summary>
public enum ReadingStatusEnum
{
None=0,
}
}

View File

@ -120,6 +120,9 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("LastVisitIdSetId")]
public SubjectVisit LastSubjectVisit { get; set; }
public ReadingStatusEnum ReadingStatus { get; set; }
}

View File

@ -55,7 +55,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 是否生效
/// </summary>
public ReadingPeriodStatus IsTakeEffect { get; set; }
public ReadingPeriodStatus IsTakeEffect { get; set; }
/// <summary>
/// 生效时间
@ -92,6 +92,4 @@ namespace IRaCIS.Core.Domain.Models
public List<ReadingPeriodPlan> ReadingPeriodPlanList { get; set; } = new List<ReadingPeriodPlan>();
}
}

View File

@ -10,10 +10,10 @@ using System.Collections.Generic;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
/// 项目阅片问题答案
/// 阅片任务答案
///</summary>
[Table("ReadingQuestionAnswerTrial")]
public class ReadingQuestionAnswerTrial : Entity, IAuditAdd
[Table("ReadingTaskQuestionAnswer")]
public class ReadingTaskQuestionAnswer : Entity, IAuditAdd
{
/// <summary>
/// 项目问题Id
@ -31,9 +31,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SubjectId { get; set; }
/// <summary>
/// 阅片Id
/// 任务Id
/// </summary>
public Guid ReadingId { get; set; }
public Guid VisitTaskId { get; set; }
/// <summary>
/// 答案

View File

@ -138,5 +138,11 @@ namespace IRaCIS.Core.Domain.Models
/// 入组确认评估
/// </summary>
public bool IsEnrollmentConfirm { get; set; } = false;
/// <summary>
/// 阅片状态
/// </summary>
public ReadingStatusEnum ReadingStatus { get; set; }
}
}

View File

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Share.Reading;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
namespace IRaCIS.Core.Domain.Models
@ -206,9 +207,8 @@ namespace IRaCIS.Core.Domain.Models
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
public ReadingStatusEnum ReadingStatus { get; set; }
}
}

View File

@ -179,6 +179,7 @@ namespace IRaCIS.Core.Infra.EFCore
#region Reading
public virtual DbSet<ReadingPeriodSet> ReadingPeriodSet { get; set; }
public virtual DbSet<ReadingTaskQuestionAnswer> ReadingTaskQuestionAnswer { get; set; }
public virtual DbSet<ReadingPeriodPlan> ReadingPeriodPlan { get; set; }
public virtual DbSet<ReadingClinicalData> ReadingClinicalData { get; set; }