From 0c9f1f019195a2bf5db9c92ad0f04d367d46e706 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 5 Aug 2025 18:18:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B4=A8=E6=8E=A7=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=AF=BC=E8=A1=A8bug=20=E9=A2=84=E5=85=88=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 2 +- .../Service/Common/ExcelExportService.cs | 7 ++++--- IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index efa735ed7..ff19ec9a0 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -688,7 +688,7 @@ - + 质控问题答案导出 diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 92ce94fec..b116e6613 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -57,7 +57,7 @@ namespace IRaCIS.Core.Application.Service.Common /// /// [HttpPost] - public async Task GetTrialQCQuestionAnserList_Export(Guid trialId, + public async Task GetTrialQCQuestionAnserList_Export(GetQCQuestionAnswerQuery inQuery, [FromServices] IRepository _trialQCQuestionAnswerRepository, [FromServices] IRepository _trialRepository, [FromServices] IRepository _userRoleRepository, @@ -86,11 +86,12 @@ namespace IRaCIS.Core.Application.Service.Common // } + var trialId = inQuery.TrialId; var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.SubjectVisit.TrialId == trialId && - (t.SubjectVisit.AuditState == AuditStateEnum.QCPassed && t.SecondReviewTime == null || + (t.SubjectVisit.AuditState == AuditStateEnum.QCPassed && t.SubjectVisit.SecondReviewState == SecondReviewState.None) || (t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) || - (t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime))) + (t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime)) join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id select new QCQuestionAnswerResult_export() { diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index 73a71df38..128b15cfe 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -2247,6 +2247,11 @@ namespace IRaCIS.Core.Application.Contracts } + public class GetQCQuestionAnswerQuery + { + public Guid TrialId { get; set; } + } + public class QCQuestionAnswerResult_export { public Guid SubjectVisitId { get; set; } @@ -2287,6 +2292,8 @@ namespace IRaCIS.Core.Application.Contracts public string VisitName { get; set; } public decimal VisitNum { get; set; } + + [DictionaryTranslate("CurrentQCType")] public CurrentQC CurrentQCEnum { get; set; } public string AuditUserName { get; set; } From 71bedb5b5c1bc6f401befd29671a76dc6061f372 Mon Sep 17 00:00:00 2001 From: hang <87227557@qq.com> Date: Tue, 5 Aug 2025 19:59:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A8=E6=8E=A7?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Common/ExcelExportService.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index b116e6613..2046759db 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -88,10 +88,10 @@ namespace IRaCIS.Core.Application.Service.Common var trialId = inQuery.TrialId; - var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.SubjectVisit.TrialId == trialId && - (t.SubjectVisit.AuditState == AuditStateEnum.QCPassed && t.SubjectVisit.SecondReviewState == SecondReviewState.None) || + var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.TrialId == trialId && t.SubjectVisit.IsDeleted == false && + ((t.SubjectVisit.AuditState >= AuditStateEnum.PrimaryQCPassed && t.SecondReviewTime == null) || (t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) || - (t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime)) + (t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime))) join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id select new QCQuestionAnswerResult_export() { @@ -119,7 +119,7 @@ namespace IRaCIS.Core.Application.Service.Common var result = query.OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList(); - var list = result.GroupBy(t => new { t.SubjectVisitId, t.SecondReviewTime, t.TrialSiteCode, t.VisitNum, t.SubjectCode, t.VisitName, t.CurrentQCEnum }) + var list = result.Where(t => t.AuditTime != null).GroupBy(t => new { t.SubjectVisitId, t.SecondReviewTime, t.TrialSiteCode, t.VisitNum, t.SubjectCode, t.VisitName, t.CurrentQCEnum }) .Select(g => new QCQuestionResult_Export() { TrialSiteCode = g.Key.TrialSiteCode, @@ -135,7 +135,7 @@ namespace IRaCIS.Core.Application.Service.Common QuestionAnswerList = g.Select(t => new QCQuestionAnswerExport() { Answer = t.Answer, QuestionName = t.QuesitonName, ShowOrder = t.ShowOrder, QuestionId = t.QuestionId }).OrderBy(t => t.ShowOrder).ToList() - }).OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList(); + }).OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ThenBy(t=>t.CurrentQCEnum).ThenBy(t=>t.AuditTime).ToList(); var exportInfo = new ExcelExportInfo();