Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-08-06 09:38:30 +08:00
commit f69ce8b757
3 changed files with 14 additions and 6 deletions

View File

@ -688,7 +688,7 @@
<param name="eventId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialQCQuestionAnserList_Export(System.Guid,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetTrialQCQuestionAnserList_Export(IRaCIS.Core.Application.Contracts.GetQCQuestionAnswerQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestionAnswer},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialQCQuestion},IRaCIS.Application.Interfaces.IDictionaryService)">
<summary>
质控问题答案导出
</summary>

View File

@ -57,7 +57,7 @@ namespace IRaCIS.Core.Application.Service.Common
/// <param name="_dictionaryService"></param>
/// <returns></returns>
[HttpPost]
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(Guid trialId,
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(GetQCQuestionAnswerQuery inQuery,
[FromServices] IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
[FromServices] IRepository<Trial> _trialRepository,
[FromServices] IRepository<UserRole> _userRoleRepository,
@ -86,9 +86,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.SecondReviewTime == null ||
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)))
join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id
@ -118,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,
@ -134,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();

View File

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