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>
|
<param name="eventId"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</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>
|
||||||
质控问题答案导出
|
质控问题答案导出
|
||||||
</summary>
|
</summary>
|
||||||
|
|
|
@ -57,7 +57,7 @@ namespace IRaCIS.Core.Application.Service.Common
|
||||||
/// <param name="_dictionaryService"></param>
|
/// <param name="_dictionaryService"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(Guid trialId,
|
public async Task<IActionResult> GetTrialQCQuestionAnserList_Export(GetQCQuestionAnswerQuery inQuery,
|
||||||
[FromServices] IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
|
[FromServices] IRepository<TrialQCQuestionAnswer> _trialQCQuestionAnswerRepository,
|
||||||
[FromServices] IRepository<Trial> _trialRepository,
|
[FromServices] IRepository<Trial> _trialRepository,
|
||||||
[FromServices] IRepository<UserRole> _userRoleRepository,
|
[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 &&
|
var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.TrialId == trialId && t.SubjectVisit.IsDeleted == false &&
|
||||||
(t.SubjectVisit.AuditState == AuditStateEnum.QCPassed && t.SecondReviewTime == null ||
|
((t.SubjectVisit.AuditState >= AuditStateEnum.PrimaryQCPassed && t.SecondReviewTime == null) ||
|
||||||
(t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) ||
|
(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
|
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 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()
|
.Select(g => new QCQuestionResult_Export()
|
||||||
{
|
{
|
||||||
TrialSiteCode = g.Key.TrialSiteCode,
|
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()
|
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();
|
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 class QCQuestionAnswerResult_export
|
||||||
{
|
{
|
||||||
public Guid SubjectVisitId { get; set; }
|
public Guid SubjectVisitId { get; set; }
|
||||||
|
@ -2287,6 +2292,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public string VisitName { get; set; }
|
public string VisitName { get; set; }
|
||||||
public decimal VisitNum { get; set; }
|
public decimal VisitNum { get; set; }
|
||||||
|
|
||||||
|
[DictionaryTranslate("CurrentQCType")]
|
||||||
public CurrentQC CurrentQCEnum { get; set; }
|
public CurrentQC CurrentQCEnum { get; set; }
|
||||||
|
|
||||||
public string AuditUserName { get; set; }
|
public string AuditUserName { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue