Browse Source

预约

master
DESKTOP-G961P6V\Zhh 1 year ago
parent
commit
8f77fa025e
  1. 52
      src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterAnswerDto.cs
  2. 26
      src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterDto.cs
  3. 34
      src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemDto.cs
  4. 142
      src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs
  5. 16
      src/Shentun.WebPeis.Domain.Shared/Enums/AnswerResultTypeFlag.cs
  6. 16
      src/Shentun.WebPeis.Domain.Shared/Enums/AnswerTypeFlag.cs
  7. 17
      src/Shentun.WebPeis.Domain/Models/QuestionAnswer.cs
  8. 4
      src/Shentun.WebPeis.Domain/Models/QuestionRegisterAnswer.cs
  9. 23
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionAnswerConfigure.cs
  10. 4
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionConfigure.cs
  11. 2
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionRegisterAnswerChildConfigure.cs
  12. 4
      src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionRegisterAnswerConfigure.cs

52
src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterAnswerDto.cs

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QuestionRegisters
{
/// <summary>
/// 问卷答案
/// </summary>
public class QuestionRegisterAnswerDto
{
/// <summary>
/// 主键
/// </summary>
public Guid QuestionRegisterAnswerId { get; set; }
/// <summary>
/// 答案ID
/// </summary>
public Guid QuestionAnswerId { get; set; }
/// <summary>
/// 自填写内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 答案
/// </summary>
public string QuestionAnswerName { get; set; } = null!;
public int DisplayOrder { get; set; }
/// <summary>
/// 子答案类别
/// </summary>
public char? ChildAnswerType { get; set; }
/// <summary>
/// 答案结果类别
/// </summary>
public char? AnswerResultType { get; set; }
public char IsSelected { get; set; } = 'N';
public List<QuestionRegisterAnswerDto> Childs = new List<QuestionRegisterAnswerDto>();
}
}

26
src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterDto.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QuestionRegisters
{
public class QuestionRegisterDto
{
/// <summary>
/// 主键
/// </summary>
public Guid QuestionRegisterId { get; set; }
/// <summary>
/// 人员ID
/// </summary>
public Guid PersonId { get; set; }
/// <summary>
/// 登记的问卷项目
/// </summary>
public virtual ICollection<QuestionRegisterItemDto> QuestionRegisterItems { get; set; } = new List<QuestionRegisterItemDto>();
}
}

34
src/Shentun.WebPeis.Application.Contracts/QuestionRegisters/QuestionRegisterItemDto.cs

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.WebPeis.QuestionRegisters
{
public class QuestionRegisterItemDto
{
/// <summary>
/// 主键
/// </summary>
public Guid QuestionRegisterItemId { get; set; }
public Guid QuestionId { get; set; }
/// <summary>
/// 题目
/// </summary>
public string QuestionName { get; set; } = null!;
/// <summary>
/// 显示顺序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 答案类别
/// </summary>
public char? AnswerType { get; set; }
public virtual ICollection<QuestionRegisterAnswerDto> QuestionRegisterAnswers { get; set; } = new List<QuestionRegisterAnswerDto>();
}
}

142
src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs

@ -1,4 +1,6 @@
using Shentun.WebPeis.Models;
using Shentun.WebPeis.Enums;
using Shentun.WebPeis.Models;
using Shentun.WebPeis.Persons;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -17,6 +19,142 @@ namespace Shentun.WebPeis.QuestionRegisters
_repository = repository; _repository = repository;
} }
//public async Task Get
public async Task GetByPersonId(PersonIdInputDto input)
{
var questionRegisterDto = new QuestionRegisterDto()
{
QuestionRegisterId = Guid.NewGuid(),
PersonId = input.PersonId,
};
//
var questionRegisterItemDto = new QuestionRegisterItemDto()
{
QuestionId = Guid.NewGuid(),
QuestionName = "你最近3-6个月是否有生育计划",
AnswerType = AnswerTypeFlag.SingleChoice,
DisplayOrder = 1
};
questionRegisterDto.QuestionRegisterItems.Add(questionRegisterItemDto);
var questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "无",
DisplayOrder = 1,
AnswerResultType = '0'
};
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "有",
DisplayOrder = 2,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
//
questionRegisterItemDto = new QuestionRegisterItemDto()
{
QuestionId = Guid.NewGuid(),
QuestionName = "您的父亲、母亲、兄弟、姐妹、目前或曾经是否有以下明确诊断的病?",
AnswerType = AnswerTypeFlag.MultipleChoice,
DisplayOrder = 2
};
questionRegisterDto.QuestionRegisterItems.Add(questionRegisterItemDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "恶性肿瘤",
DisplayOrder = 1,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "心脏病",
DisplayOrder = 2,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "脑血管病",
DisplayOrder = 3,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
//
questionRegisterItemDto = new QuestionRegisterItemDto()
{
QuestionId = Guid.NewGuid(),
QuestionName = "您目前或曾经是否有以下明确诊断的疾病",
AnswerType = AnswerTypeFlag.MultipleChoice,
DisplayOrder = 3
};
questionRegisterDto.QuestionRegisterItems.Add(questionRegisterItemDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "头部疾病",
DisplayOrder = 1,
AnswerResultType = '0',
ChildAnswerType = AnswerTypeFlag.MultipleChoice,
};
questionRegisterAnswerDto.Childs.Add(new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "脑中风",
DisplayOrder = 1,
AnswerResultType = '0',
});
questionRegisterAnswerDto.Childs.Add(new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "抑郁症",
DisplayOrder = 1,
AnswerResultType = '0',
});
questionRegisterAnswerDto.Childs.Add(new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "癫痫",
DisplayOrder = 1,
AnswerResultType = '0',
});
questionRegisterAnswerDto.Childs.Add(new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "其它",
DisplayOrder = 1,
AnswerResultType = '1',
});
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "甲状腺疾病",
DisplayOrder = 2,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
questionRegisterAnswerDto = new QuestionRegisterAnswerDto()
{
QuestionAnswerId = Guid.NewGuid(),
QuestionAnswerName = "肺部疾病",
DisplayOrder = 3,
AnswerResultType = '0'
};
questionRegisterItemDto.QuestionRegisterAnswers.Add(questionRegisterAnswerDto);
}
} }
} }

16
src/Shentun.WebPeis.Domain.Shared/Enums/AnswerResultTypeFlag.cs

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace Shentun.WebPeis.Enums
{
public class AnswerResultTypeFlag
{
[Description("选择")]
public const char Choice = '0';
[Description("自己填写")]
public const char Content = '1';
}
}

16
src/Shentun.WebPeis.Domain.Shared/Enums/AnswerTypeFlag.cs

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace Shentun.WebPeis.Enums
{
public class AnswerTypeFlag
{
[Description("单选")]
public const char SingleChoice = '0';
[Description("多选")]
public const char MultipleChoice = '1';
}
}

17
src/Shentun.WebPeis.Domain/Models/QuestionAnswer.cs

@ -29,11 +29,6 @@ public partial class QuestionAnswer : AuditedEntity, IHasConcurrencyStamp
public int DisplayOrder { get; set; } public int DisplayOrder { get; set; }
/// <summary>
/// 有子答案
/// </summary>
public char? IsHaveChild { get; set; }
/// <summary> /// <summary>
/// 子答案类别 /// 子答案类别
/// </summary> /// </summary>
@ -50,6 +45,18 @@ public partial class QuestionAnswer : AuditedEntity, IHasConcurrencyStamp
public Guid? DiseaseRiskLevelId { get; set; } public Guid? DiseaseRiskLevelId { get; set; }
/// <summary>
/// 父答案ID
/// </summary>
public Guid? ParentId { get; set; }
/// <summary>
/// 编码路径
/// </summary>
public string? PathCode { get; set; }
public string? ChildAnswerTitle { get; set; }
public virtual ICollection<QuestionRegisterAnswer> QuestionRegisterAnswers { get; set; } = new List<QuestionRegisterAnswer>(); public virtual ICollection<QuestionRegisterAnswer> QuestionRegisterAnswers { get; set; } = new List<QuestionRegisterAnswer>();
public string? ConcurrencyStamp { get; set; } public string? ConcurrencyStamp { get; set; }

4
src/Shentun.WebPeis.Domain/Models/QuestionRegisterAnswer.cs

@ -25,7 +25,11 @@ public partial class QuestionRegisterAnswer : AuditedEntity, IHasConcurrencyStam
public Guid QuestionAnswerId { get; set; } public Guid QuestionAnswerId { get; set; }
/// <summary>
/// 自填写内容
/// </summary>
public string? Content { get; set; }
public string? ConcurrencyStamp { get; set; } public string? ConcurrencyStamp { get; set; }

23
src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionAnswerConfigure.cs

@ -31,15 +31,34 @@ namespace Shentun.WebPeis.Configures
.HasColumnName("last_modification_time"); .HasColumnName("last_modification_time");
entity.Property(e => e.LastModifierId).HasColumnName("last_modifier_id"); entity.Property(e => e.LastModifierId).HasColumnName("last_modifier_id");
entity.Property(e => e.QuestionAnswerName) entity.Property(e => e.QuestionAnswerName)
.HasMaxLength(20)
.HasMaxLength(100)
.HasColumnName("question_answer_name"); .HasColumnName("question_answer_name");
entity.Property(e => e.ChildAnswerTitle)
.HasMaxLength(50)
.HasColumnName("child_answer_title");
entity.Property(e => e.ChildAnswerType)
.HasMaxLength(1)
.HasColumnName("child_answer_type");
entity.Property(e => e.AnswerResultType)
.HasMaxLength(1)
.HasColumnName("answer_result_type");
entity.Property(e => e.QuestionId).HasColumnName("question_id"); entity.Property(e => e.QuestionId).HasColumnName("question_id");
entity.Property(e => e.SimpleCode) entity.Property(e => e.SimpleCode)
.HasMaxLength(20)
.HasMaxLength(100)
.HasColumnName("simple_code"); .HasColumnName("simple_code");
entity.Property(e => e.ConcurrencyStamp) entity.Property(e => e.ConcurrencyStamp)
.HasMaxLength(40) .HasMaxLength(40)
.HasColumnName("concurrency_stamp"); .HasColumnName("concurrency_stamp");
entity.Property(e => e.ParentId)
.HasColumnName("parent_id");
entity.Property(e => e.PathCode)
.HasMaxLength(60)
.HasColumnName("path_code");
} }
} }
} }

4
src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionConfigure.cs

@ -45,11 +45,11 @@ namespace Shentun.WebPeis.Configures
.HasColumnName("last_modification_time"); .HasColumnName("last_modification_time");
entity.Property(e => e.LastModifierId).HasColumnName("last_modifier_id"); entity.Property(e => e.LastModifierId).HasColumnName("last_modifier_id");
entity.Property(e => e.QuestionName) entity.Property(e => e.QuestionName)
.HasMaxLength(20)
.HasMaxLength(100)
.HasColumnName("question_name"); .HasColumnName("question_name");
entity.Property(e => e.QuestionTypeId).HasMaxLength(2).HasColumnName("question_type_id"); entity.Property(e => e.QuestionTypeId).HasMaxLength(2).HasColumnName("question_type_id");
entity.Property(e => e.SimpleCode) entity.Property(e => e.SimpleCode)
.HasMaxLength(20)
.HasMaxLength(100)
.HasColumnName("simple_code"); .HasColumnName("simple_code");
entity.Property(e => e.ConcurrencyStamp) entity.Property(e => e.ConcurrencyStamp)
.HasMaxLength(40) .HasMaxLength(40)

2
src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionRegisterAnswerChildConfigure.cs

@ -22,7 +22,7 @@ namespace Shentun.WebPeis.Configures
.ValueGeneratedNever() .ValueGeneratedNever()
.HasColumnName("question_register_answer_child_id"); .HasColumnName("question_register_answer_child_id");
entity.Property(e => e.Content) entity.Property(e => e.Content)
.HasMaxLength(20)
.HasMaxLength(50)
.HasColumnName("content"); .HasColumnName("content");
entity.Property(e => e.CreationTime) entity.Property(e => e.CreationTime)
.HasColumnType("timestamp(6) without time zone") .HasColumnType("timestamp(6) without time zone")

4
src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionRegisterAnswerConfigure.cs

@ -22,6 +22,10 @@ namespace Shentun.WebPeis.Configures
entity.HasIndex(e => e.QuestionRegisterItemId, "IX_question_register_answer_question_register_item_id"); entity.HasIndex(e => e.QuestionRegisterItemId, "IX_question_register_answer_question_register_item_id");
entity.Property(e => e.Content)
.HasMaxLength(50)
.HasColumnName("content");
entity.Property(e => e.QuestionRegisterAnswerId) entity.Property(e => e.QuestionRegisterAnswerId)
.ValueGeneratedNever() .ValueGeneratedNever()
.HasColumnName("question_register_answer_id"); .HasColumnName("question_register_answer_id");

Loading…
Cancel
Save