添加问题表

Uat_Study
he 2022-06-29 15:25:29 +08:00
parent 6595402aff
commit b2d06f2175
9 changed files with 624 additions and 57 deletions

View File

@ -2129,6 +2129,53 @@
是否是系统数据
</summary>
</member>
<member name="T:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService">
<summary>
医学审核问题
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.GetReadingMedicineSystemQuestionList(IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionQuery)">
<summary>
获取系统的医学审核问题
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.AddOrUpdateReadingMedicineSystemQuestion(IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit)">
<summary>
新增或修改系统医学审核问题
</summary>
<param name="addOrEditReadingMedicineSystemQuestion"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.DeleteReadingMedicineSystemQuestion(System.Guid)">
<summary>
删除系统的医学审核问题
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.GetReadingMedicineTrialQuestionList(IRaCIS.Core.Application.ViewModel.ReadingMedicineTrialQuestionQuery)">
<summary>
获取项目的医学审核问题
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.AddOrUpdateReadingMedicineTrialQuestion(IRaCIS.Core.Application.ViewModel.ReadingMedicineTrialQuestionAddOrEdit)">
<summary>
新增或修改项目医学审核问题
</summary>
<param name="addOrEditReadingMedicineTrialQuestion"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingMedicineQuestionService.DeleteReadingMedicineTrialQuestion(System.Guid)">
<summary>
删除项目的医学审核问题
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Service.TrialExternalUserService">
<summary>
项目外部人员 录入流程相关
@ -2431,6 +2478,103 @@
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeAddOrEdit">
<summary> SystemNoticeAddOrEdit 列表查询参数模型</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.Type">
<summary>
类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.ParentTriggerValue">
<summary>
父问题触发
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.IsRequired">
<summary>
是否是必须
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.ShowOrder">
<summary>
排序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.ParentId">
<summary>
父问题ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.TypeValue">
<summary>
类型值
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionView.IsEnable">
<summary>
是否启用
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionQuery">
<summary>ReadingMedicineSystemQuestionQuery 列表查询参数模型</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit">
<summary> ReadingMedicineSystemQuestionAddOrEdit 列表查询参数模型</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.Type">
<summary>
类型
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.ParentTriggerValue">
<summary>
父问题触发
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.QuestionName">
<summary>
问题名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.IsRequired">
<summary>
是否是必须
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.ShowOrder">
<summary>
排序
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.ParentId">
<summary>
父问题ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.TypeValue">
<summary>
类型值
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineSystemQuestionAddOrEdit.IsEnable">
<summary>
是否启用
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.ReadingMedicineTrialQuestionQuery">
<summary>ReadingMedicineTrialQuestionQuery 列表查询参数模型</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingMedicineTrialQuestionQuery.TrialId">
<summary>
项目Id
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.ReadingMedicineTrialQuestionAddOrEdit">
<summary> ReadingMedicineTrialQuestionAddOrEdit 列表查询参数模型</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.TrialExternalUserView">
<summary> TrialExternalUserView 列表视图模型 </summary>
</member>

View File

@ -0,0 +1,166 @@
using System;
using IRaCIS.Core.Domain.Share;
using System.Collections.Generic;
namespace IRaCIS.Core.Application.ViewModel
{
public class ReadingMedicineSystemQuestionView
{
public Guid Id { 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; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
}
///<summary>ReadingMedicineSystemQuestionQuery 列表查询参数模型</summary>
public class ReadingMedicineSystemQuestionQuery:PageInput
{
public string Type { get; set; }
public string ParentTriggerValue { get; set; }
public string QuestionName { get; set; }
public string TypeValue { get; set; }
}
///<summary> ReadingMedicineSystemQuestionAddOrEdit 列表查询参数模型</summary>
public class ReadingMedicineSystemQuestionAddOrEdit
{
public Guid? Id { 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; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
}
public class ReadingMedicineTrialQuestionView
{
public Guid Id { get; set; }
public DateTime CreateTime { get; set; }
public string Type { get; set; }
public string ParentTriggerValue { get; set; }
public string QuestionName { get; set; }
public Guid UpdateUserId { get; set; }
public string TypeValue { get; set; }
public Guid CreateUserId { get; set; }
public Guid TrialId { get; set; }
public DateTime UpdateTime { get; set; }
public bool IsEnable { get; set; }
public bool IsRequired { get; set; }
public int ShowOrder { get; set; }
public Guid? ParentId { get; set; }
public bool? IsConfirm { get; set; }
}
///<summary>ReadingMedicineTrialQuestionQuery 列表查询参数模型</summary>
public class ReadingMedicineTrialQuestionQuery:PageInput
{
/// <summary>
/// 项目Id
/// </summary>
public Guid TrialId { get; set; }
public string Type { get; set; }
public string ParentTriggerValue { get; set; }
public string QuestionName { get; set; }
public string TypeValue { get; set; }
}
///<summary> ReadingMedicineTrialQuestionAddOrEdit 列表查询参数模型</summary>
public class ReadingMedicineTrialQuestionAddOrEdit
{
public Guid Id { get; set; }
public string Type { get; set; }
public string ParentTriggerValue { get; set; }
public string QuestionName { get; set; }
public string TypeValue { get; set; }
public Guid TrialId { get; set; }
public bool IsEnable { get; set; }
public bool IsRequired { get; set; }
public int ShowOrder { get; set; }
public Guid? ParentId { get; set; }
public bool? IsConfirm { get; set; }
}
}

View File

@ -0,0 +1,122 @@
using IRaCIS.Core.Domain.Models;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Infra.EFCore.Common;
namespace IRaCIS.Core.Application.Service
{
/// <summary>
/// 医学审核问题
/// </summary>
[ ApiExplorerSettings(GroupName = "Reading")]
public class ReadingMedicineQuestionService: BaseService
{
private readonly IRepository<ReadingMedicineTrialQuestion> _readingMedicineTrialQuestionRepository;
private readonly IRepository<ReadingMedicineSystemQuestion> _readingMedicineSystemQuestionRepository;
public ReadingMedicineQuestionService(
IRepository<ReadingMedicineTrialQuestion> readingMedicineTrialQuestionRepository,
IRepository<ReadingMedicineSystemQuestion> readingMedicineSystemQuestionRepository
)
{
this._readingMedicineTrialQuestionRepository = readingMedicineTrialQuestionRepository;
this._readingMedicineSystemQuestionRepository = readingMedicineSystemQuestionRepository;
}
/// <summary>
/// 获取系统的医学审核问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<ReadingMedicineSystemQuestionView>> GetReadingMedicineSystemQuestionList(ReadingMedicineSystemQuestionQuery inDto)
{
var query = _readingMedicineSystemQuestionRepository.AsQueryable()
.WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue))
.WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue))
.WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName))
.WhereIf(!inDto.Type.IsNullOrEmpty(), x => x.Type.Contains(inDto.Type))
.ProjectTo<ReadingMedicineSystemQuestionView>(_mapper.ConfigurationProvider);
return await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField.IsNullOrEmpty() ? nameof(ReadingMedicineSystemQuestionView.ShowOrder) : inDto.SortField,
inDto.Asc);
}
/// <summary>
/// 新增或修改系统医学审核问题
/// </summary>
/// <param name="addOrEditReadingMedicineSystemQuestion"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateReadingMedicineSystemQuestion(ReadingMedicineSystemQuestionAddOrEdit addOrEditReadingMedicineSystemQuestion)
{
var entity = await _readingMedicineSystemQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineSystemQuestion);
await _readingMedicineSystemQuestionRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除系统的医学审核问题
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteReadingMedicineSystemQuestion(Guid id)
{
var success = await _readingMedicineSystemQuestionRepository.DeleteFromQueryAsync(t => t.Id == id);
var result = await _readingMedicineSystemQuestionRepository.SaveChangesAsync();
return ResponseOutput.Result(result);
}
/// <summary>
/// 获取项目的医学审核问题
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<ReadingMedicineTrialQuestionView>> GetReadingMedicineTrialQuestionList(ReadingMedicineTrialQuestionQuery inDto)
{
var query = _readingMedicineTrialQuestionRepository.AsQueryable()
.Where(x=>x.TrialId==inDto.TrialId)
.WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue))
.WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue))
.WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName))
.WhereIf(!inDto.Type.IsNullOrEmpty(), x => x.Type.Contains(inDto.Type))
.ProjectTo<ReadingMedicineTrialQuestionView>(_mapper.ConfigurationProvider);
return await query.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField.IsNullOrEmpty() ? nameof(ReadingMedicineTrialQuestionView.ShowOrder) : inDto.SortField,
inDto.Asc);
}
/// <summary>
/// 新增或修改项目医学审核问题
/// </summary>
/// <param name="addOrEditReadingMedicineTrialQuestion"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddOrUpdateReadingMedicineTrialQuestion(ReadingMedicineTrialQuestionAddOrEdit addOrEditReadingMedicineTrialQuestion)
{
var entity = await _readingMedicineTrialQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineTrialQuestion);
await _readingMedicineTrialQuestionRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 删除项目的医学审核问题
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id:guid}")]
public async Task<IResponseOutput> DeleteReadingMedicineTrialQuestion(Guid id)
{
var success = await _readingMedicineTrialQuestionRepository.DeleteFromQueryAsync(t => t.Id == id);
var result = await _readingMedicineTrialQuestionRepository.SaveChangesAsync();
return ResponseOutput.Result(result);
}
}
}

View File

@ -118,45 +118,6 @@ namespace IRaCIS.Application.Services
return ResponseOutput.Ok();
}
///// <summary>
///// 设置系统问题标准是否生效
///// </summary>
///// <param name="inDto"></param>
///// <returns></returns>
//public async Task<IResponseOutput> SetSystemReadingQuestionCriterionIsIsEnable(SetSystemReadingQuestionCriterionIsIsEnable inDto)
//{
// await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.Id, x => new ReadingQuestionCriterionSystem()
// {
// IsEnable = inDto.IsEnable
// });
// var result =await _readingQuestionCriterionSystemRepository.SaveChangesAsync();
// return ResponseOutput.Ok(result);
//}
///// <summary>
///// 验证系统问题是否设置裁判答案
///// </summary>
///// <param name="inDto"></param>
///// <returns></returns>
//public async Task<IResponseOutput> VerifySystemQuestionIsSetJudgeAnswer(VerifySystemQuestionIsSetJudgeAnswerInDto inDto)
//{
// var result = await _readingQuestionTrialRepository.AnyAsync(x => x.ReadingQuestionSystemId == inDto.Id&&x.IsJudgeQuestion && x.JudgeType != JudgeTypeEnum.None);
// return ResponseOutput.Ok(result);
//}
///// <summary>
///// 验证项目问题是否设置裁判答案
///// </summary>
///// <param name="inDto"></param>
///// <returns></returns>
//public async Task<IResponseOutput> VerifyTrialQuestionIsSetJudgeAnswer(VerifySystemQuestionIsSetJudgeAnswerInDto inDto)
//{
// var result = await _readingQuestionTrialRepository.AnyAsync(x => x.Id == inDto.Id && x.IsJudgeQuestion && x.JudgeType != JudgeTypeEnum.None);
// return ResponseOutput.Ok(result);
//}
/// <summary>
/// 设置系统问题标准是否完成配置
@ -166,11 +127,6 @@ namespace IRaCIS.Application.Services
public async Task<IResponseOutput> SetSystemReadingQuestionCriterionIsCompleteConfig(SetSystemReadingQuestionCriterionIsIsCompleteConfig inDto)
{
//if (!inDto.IsCompleteConfig && await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.ReadingQuestionCriterionSystemId == inDto.Id))
//{
// ResponseOutput.NotOk("当前标准已经运用到项目,操作失败");
//}
if (!inDto.IsCompleteConfig)
{
var trialCriterionIds =await _readingQuestionCriterionTrialRepository.Where(x => x.ReadingQuestionCriterionSystemId == inDto.Id).Select(x => x.Id).ToListAsync();
@ -401,9 +357,6 @@ namespace IRaCIS.Application.Services
return ResponseOutput.Ok(entity.Id.ToString());
}
/// <summary>
/// 获取系统问题
/// </summary>

View File

@ -82,7 +82,13 @@ namespace IRaCIS.Core.Application.Service
.ForMember(x => x.TaskId, y => y.MapFrom(z => z.Id));
#endregion
#region 医学审核
CreateMap<ReadingMedicineSystemQuestionAddOrEdit, ReadingMedicineSystemQuestion>();
CreateMap<ReadingMedicineSystemQuestion, ReadingMedicineSystemQuestionView>();
CreateMap<ReadingMedicineTrialQuestionAddOrEdit, ReadingMedicineTrialQuestion>();
CreateMap<ReadingMedicineSystemQuestion, ReadingMedicineSystemQuestionView>();
#endregion
}

View File

@ -0,0 +1,80 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-06-29 13:54:08
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
/// 阅片医学审核系统问题
///</summary>
[Table("ReadingMedicineSystemQuestion")]
public class ReadingMedicineSystemQuestion : Entity, IAuditUpdate, IAuditAdd
{
/// <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 DateTime CreateTime { get; set; }
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 父问题ID
/// </summary>
public Guid? ParentId { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
/// <summary>
/// 修改人
/// </summary>
public Guid UpdateUserId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
}
}

View File

@ -0,0 +1,92 @@
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-06-29 14:04:36
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///阅片医学审核项目问题
///</summary>
[Table("ReadingMedicineTrialQuestion")]
public class ReadingMedicineTrialQuestion : Entity, IAuditUpdate, IAuditAdd
{
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { 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 Guid UpdateUserId { get; set; }
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 是否必须
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 排序
/// </summary>
public int ShowOrder { get; set; }
/// <summary>
/// 父问题
/// </summary>
public Guid? ParentId { get; set; }
/// <summary>
/// 是否确认
/// </summary>
public bool? IsConfirm { get; set; }
}
}

View File

@ -212,6 +212,10 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<ClinicalDataSystemSet> ClinicalDataSystemSet { get; set; }
public virtual DbSet<ReadingMedicineSystemQuestion> ReadingMedicineSystemQuestion { get; set; }
public virtual DbSet<ReadingMedicineTrialQuestion> ReadingMedicineTrialQuestion { get; set; }
#endregion
#region Subject and Visit and study