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();