2 Commits

Author SHA1 Message Date
wxd d30311e7e3 问卷 2 months ago
wxd 3df7b2a7d7 性别 2 months ago
  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. 5
      src/Shentun.Peis.Application.Contracts/PeisReports/GetPatientRegisterReportRequestDto.cs
  5. 4
      src/Shentun.Peis.Application/AppointPatientRegisters/AppointPatientRegisterAppService.cs
  6. 3
      src/Shentun.Peis.Application/PeisReports/PeisReportAppService.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
}

5
src/Shentun.Peis.Application.Contracts/PeisReports/GetPatientRegisterReportRequestDto.cs

@ -30,6 +30,11 @@ namespace Shentun.Peis.PeisReports
/// </summary>
public string? PatientName { get; set; }
/// <summary>
/// 性别
/// </summary>
public char? SexId { get; set; }
/// <summary>
/// 手机号 (检索手机跟电话两个)
/// </summary>

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;
}

3
src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs

@ -628,6 +628,9 @@ namespace Shentun.Peis.PeisReports
sumquery = sumquery.Where(m => m.patient.MobileTelephone == input.phone || m.patient.Telephone == input.phone);
}
if (input.SexId != null)
sumquery = sumquery.Where(m => m.patientRegister.SexId == input.SexId);
if (input.CompleteFlag != null && input.CompleteFlag != PatientRegisterCompleteFlag.ItemCheckUnSumCheck)
{
sumquery = sumquery.Where(m => m.patientRegister.CompleteFlag == input.CompleteFlag);

Loading…
Cancel
Save