From b9ec7aaee7e5435756686e54578b5f91fe70737f Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Sun, 16 Jun 2024 00:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QuestionRegisters/QuestionRegisterAppService.cs | 13 ++++++++++--- .../Configures/QuestionSubjectTypeConfigure.cs | 2 +- .../QuestionRegisterAppServiceTest.cs | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs index 4a1efd0..15d620a 100644 --- a/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs +++ b/src/Shentun.WebPeis.Application/QuestionRegisters/QuestionRegisterAppService.cs @@ -154,6 +154,7 @@ namespace Shentun.WebPeis.QuestionRegisters join questionSubjectType in await _questionSubjectTypeRepository.GetQueryableAsync() on question.QuestionSubjectTypeId equals questionSubjectType.QuestionSubjectTypeId where questionRegisterItem.QuestionRegisterId == questionRegister.QuestionRegisterId + orderby questionSubjectType.DisplayOrder select new { questionSubjectType, @@ -171,9 +172,11 @@ namespace Shentun.WebPeis.QuestionRegisters }).ToList(); foreach (var personSubjectTypeDto in personSubjectTypeDtos) { - questionRegisterItems.Where(o => o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId - ).ToList(); - foreach(var questionRegisterItem in questionRegisterItems) + var questionSubjectTypeItems = questionRegisterItems.Where(o => + o.questionSubjectType.QuestionSubjectTypeId == personSubjectTypeDto.QuestionSubjectTypeId + ) + .OrderBy(o=>o.questionAnswer.DisplayOrder).ToList(); + foreach(var questionRegisterItem in questionSubjectTypeItems) { string answer; if(questionRegisterItem.questionAnswer.AnswerResultType == AnswerResultTypeFlag.Choice) @@ -191,6 +194,10 @@ namespace Shentun.WebPeis.QuestionRegisters { answer = questionRegisterItem.questionRegisterAnswer.Content; } + if(string.IsNullOrWhiteSpace(answer)) + { + continue; + } personSubjectTypeDto.Answers.Add(new PersonSubjectTypeQuestionAnswer() { QuestionAnswerName = answer, diff --git a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs index d7402dc..4eaeff1 100644 --- a/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs +++ b/src/Shentun.WebPeis.EntityFrameworkCore/Configures/QuestionSubjectTypeConfigure.cs @@ -29,7 +29,7 @@ namespace Shentun.WebPeis.Configures entity.Property(e => e.CreatorId).HasColumnName("creator_id"); entity.Property(e => e.QuestionSubjectTypeName) .HasMaxLength(20) - .HasColumnName("disease_risk_name"); + .HasColumnName("question_subject_type_name"); entity.Property(e => e.DisplayOrder) .HasDefaultValue(999999) .HasColumnName("display_order"); diff --git a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs index 65d01b8..e1b1b47 100644 --- a/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs +++ b/test/Shentun.WebPeis.Application.Tests/QuestionRegisterAppServiceTest.cs @@ -86,6 +86,7 @@ namespace Shentun.WebPeis _output.WriteLine(answer.QuestionAnswerName ); } + }