Browse Source

问卷

master
wxd 2 months ago
parent
commit
d30311e7e3
  1. 2
      src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointPlugInsBase.cs
  2. 4
      src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointWebPeisPlugIns.cs
  3. 240
      src/Shentun.Peis.Application.Contracts/AppointPatientRegisters/QuestionRegisterItemResultDto.cs
  4. 4
      src/Shentun.Peis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs

2
src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointPlugInsBase.cs

@ -104,7 +104,7 @@ namespace Shentun.Peis.PlugIns.WebAppoints
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public virtual async Task<List<QuestionRegisterItemResultDto>> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
public virtual async Task<GetQuestionRegisterListByIdNoDto> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
{
throw new NotImplementedException();
}

4
src/Shentun.ColumnReferencePlugIns/WebAppoints/WebAppointWebPeisPlugIns.cs

@ -236,10 +236,10 @@ namespace Shentun.Peis.PlugIns.WebAppoints
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public override async Task<List<QuestionRegisterItemResultDto>> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
public override async Task<GetQuestionRegisterListByIdNoDto> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
{
var appointStatisticsReportListDto = await CallWePeisAppServiceAsync<IdNoInputDto,
List<QuestionRegisterItemResultDto>>
GetQuestionRegisterListByIdNoDto>
(_webPeisGetQuestionRegisterListByIdNoUrl, input);
return appointStatisticsReportListDto;
}

240
src/Shentun.Peis.Application.Contracts/AppointPatientRegisters/QuestionRegisterItemResultDto.cs

@ -4,6 +4,35 @@ using System.Text;
namespace Shentun.Peis.AppointPatientRegisters
{
public class GetQuestionRegisterListByIdNoDto
{
/// <summary>
/// 问卷详情
/// </summary>
public List<QuestionRegisterItemResultDto> QuestionDetail { get; set; } = new List<QuestionRegisterItemResultDto>();
/// <summary>
/// 疾病症状
/// </summary>
public List<PersonSubjectTypeDto> SubjectTypeDetail { get; set; } = new List<PersonSubjectTypeDto>();
/// <summary>
/// 疾病风险
/// </summary>
public List<QuestionRegisterDiseaseRiskDto> DiseaseRiskDetail { get; set; } = new List<QuestionRegisterDiseaseRiskDto>();
/// <summary>
/// 推荐项目详情 集合 分三类
/// </summary>
public List<RecommendMedicalPackageDto> RecommendMedicalPackageDetail { get; set; } = new List<RecommendMedicalPackageDto>();
}
#region 问卷详情
public class QuestionRegisterItemResultDto
{
/// <summary>
@ -34,4 +63,215 @@ namespace Shentun.Peis.AppointPatientRegisters
public string Answer { get; set; }
public int DisplayOrder { get; set; }
}
#endregion
#region 疾病症状
public class PersonSubjectTypeDto
{
/// <summary>
/// 题目类别ID
/// </summary>
public string QuestionSubjectTypeId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string QuestionSubjectTypeName { get; set; } = null!;
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 答案集合
/// </summary>
public List<PersonSubjectTypeQuestionAnswer> Answers { get; set; } = new List<PersonSubjectTypeQuestionAnswer>();
}
public class PersonSubjectTypeQuestionAnswer
{
/// <summary>
/// 答案
/// </summary>
public string QuestionAnswerName { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
}
#endregion
#region 疾病风险
public class QuestionRegisterDiseaseRiskDto
{
/// <summary>
/// 主键
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string DiseaseRiskName { get; set; } = null!;
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 风险级别ID
/// </summary>
public Guid? DiseaseRiskLevelId { get; set; }
/// <summary>
/// 风险级别名称
/// </summary>
public string DiseaseRiskLevelName { get; set; }
}
#endregion
#region 推荐项目详情
public class RecommendMedicalPackageDto
{
/// <summary>
/// 套餐主档编号
/// </summary>
public Guid MedicalPackageId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string MedicalPackageName { get; set; } = null!;
/// <summary>
/// 价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 套餐和推荐项目总价格
/// </summary>
public decimal SumPrice { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remark { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 套餐组合项目列表
/// </summary>
public List<RecommendMedicalPackageAsbitem> Asbitems { get; set; } = new List<RecommendMedicalPackageAsbitem>();
/// <summary>
/// 风险级别推荐组合项目
/// </summary>
public List<PersonDiseaseRiskLevelDto> DiseaseRiskLevelAsbitems { get; set; } = new List<PersonDiseaseRiskLevelDto>();
/// <summary>
/// 禁止检查组合项目列表
/// </summary>
public List<RecommendMedicalPackageAsbitem> ForbidlCheckAsbitems { get; set; } = new List<RecommendMedicalPackageAsbitem>();
}
public class RecommendMedicalPackageAsbitem
{
/// <summary>
/// 编号
/// </summary>
public Guid AsbitemId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string AsbitemName { get; set; } = null!;
/// <summary>
/// 简称
/// </summary>
public string? ShortName { get; set; }
/// <summary>
/// 价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 临床意义
/// </summary>
public string? ClinicalMeaning { get; set; }
/// <summary>
/// 警告事项
/// </summary>
public string? Warn { get; set; }
/// <summary>
/// 是否属于套餐
/// </summary>
public char IsBelongMedicalPackage { get; set; }
//备孕、怀孕标志
public char ForPregnantFlag { get; set; }
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 组合项目推荐级别
/// </summary>
public int AsbitemRecommendLevelId { get; set; }
}
public class PersonDiseaseRiskLevelDto
{
/// <summary>
/// 主键
/// </summary>
public Guid DiseaseRiskId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string DiseaseRiskName { get; set; } = null!;
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 风险级别ID
/// </summary>
public Guid? DiseaseRiskLevelId { get; set; }
/// <summary>
/// 风险级别名称
/// </summary>
public string DiseaseRiskLevelName { get; set; }
public int DiseaseRiskLevelDisplayOrder { get; set; }
public List<RecommendMedicalPackageAsbitem> Asbitems { get; set; } = new List<RecommendMedicalPackageAsbitem>();
}
#endregion
}

4
src/Shentun.Peis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs

@ -376,7 +376,7 @@ namespace Shentun.Peis.AppointPatientRegisters
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
[HttpPost("api/app/QuestionRegister/GetQuestionRegisterListByPatientRegisterNo")]
public async Task<List<QuestionRegisterItemResultDto>> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
public async Task<GetQuestionRegisterListByIdNoDto> GetQuestionRegisterListByIdNoAsync(IdNoInputDto input)
{
var thirdInterface = await _thirdInterfaceRepository.FirstOrDefaultAsync(f => f.ThirdInterfaceType == ThirdInterfaceTypeFlag.WebAppoint);
if (thirdInterface.IsActive != 'Y')
@ -392,7 +392,7 @@ namespace Shentun.Peis.AppointPatientRegisters
var assemblyName = config.GetSection("Interface").GetSection("AssemblyName").Value;
var className = config.GetSection("Interface").GetSection("ClassName").Value;
var pluginsOut = await Utilities.ReflectionHelper.InvokeAsync<List<QuestionRegisterItemResultDto>>(assemblyName,
var pluginsOut = await Utilities.ReflectionHelper.InvokeAsync<GetQuestionRegisterListByIdNoDto>(assemblyName,
className, [thirdInterface.Id], "GetQuestionRegisterListByIdNoAsync", objects);
return pluginsOut;
}

Loading…
Cancel
Save