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
continuous-integration/drone/push Build is passing
Details
commit
f69ce8b757
|
@ -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>
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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; }
|
||||
|
|
Loading…
Reference in New Issue