diff --git a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs index 43973f565..99d2470ad 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs @@ -119,8 +119,7 @@ namespace IRaCIS.Core.Application.Contracts public class GetNextUnSignDocumentInDto { - [NotDefault] - public Guid TrialId { get; set; } + public Guid? TrialId { get; set; } public bool Asc { get; set; } = true; public string SortField { get; set; } = ""; diff --git a/IRaCIS.Core.Application/Service/Document/Interface/ISystemDocumentService.cs b/IRaCIS.Core.Application/Service/Document/Interface/ISystemDocumentService.cs index dfbf08ea5..8f61c2dec 100644 --- a/IRaCIS.Core.Application/Service/Document/Interface/ISystemDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/Interface/ISystemDocumentService.cs @@ -25,7 +25,10 @@ namespace IRaCIS.Core.Application.Contracts Task DeleteSystemDocumentAsync(Guid systemDocumentId); + Task> getWaitSignSysDocList(SystemDocumentQuery querySystemDocument); - } + + + } } diff --git a/IRaCIS.Core.Application/Service/Document/SystemDocumentService.cs b/IRaCIS.Core.Application/Service/Document/SystemDocumentService.cs index e90b73416..abde4fd01 100644 --- a/IRaCIS.Core.Application/Service/Document/SystemDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/SystemDocumentService.cs @@ -23,6 +23,7 @@ namespace IRaCIS.Core.Application.Services private readonly IRepository _systemDocConfirmedUserRepository; public SystemDocumentService( IRepository systemDocumentRepository, + IRepository systemDocNeedConfirmedUserTypeRepository, IRepository systemDocConfirmedUserRepository) { diff --git a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs index b41b3d1b5..9da81b37c 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs @@ -25,7 +25,8 @@ namespace IRaCIS.Core.Application.Services private readonly IRepository _trialDocumentRepository; private readonly IRepository _trialDocUserTypeConfirmedUserRepository; private readonly IRepository _trialRepository; - private readonly IRepository _systemDocConfirmedUserRepository; + private readonly ISystemDocumentService _systemDocumentService; + private readonly IRepository _systemDocConfirmedUserRepository; private readonly IRepository _systemDocumentRepository; private readonly IRepository _trialCriterionAdditionalAssessmentTypeRepository; private readonly IRepository _readingQuestionCriterionTrialRepository; @@ -34,7 +35,8 @@ namespace IRaCIS.Core.Application.Services public TrialDocumentService(IRepository trialDocumentRepository, IRepository trialDocUserTypeConfirmedUserRepository, IRepository trialRepository, - IRepository systemDocConfirmedUserRepository, + ISystemDocumentService systemDocumentService, + IRepository systemDocConfirmedUserRepository, IRepository trialCriterionAdditionalAssessmentTypeRepository, IRepository readingQuestionCriterionTrialRepository , IRepository systemDocumentRepository) @@ -42,7 +44,8 @@ namespace IRaCIS.Core.Application.Services _trialDocumentRepository = trialDocumentRepository; this._trialDocUserTypeConfirmedUserRepository = trialDocUserTypeConfirmedUserRepository; this._trialRepository = trialRepository; - this._systemDocConfirmedUserRepository = systemDocConfirmedUserRepository; + this._systemDocumentService = systemDocumentService; + this._systemDocConfirmedUserRepository = systemDocConfirmedUserRepository; _systemDocumentRepository = systemDocumentRepository; _readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; _trialCriterionAdditionalAssessmentTypeRepository = trialCriterionAdditionalAssessmentTypeRepository; @@ -123,19 +126,37 @@ namespace IRaCIS.Core.Application.Services [HttpPost] public async Task GetNextUnSignDocument(GetNextUnSignDocumentInDto inDto) { - var result = await this.GetUserDocumentList(new TrialUserDocUnionQuery() - { - Asc = inDto.Asc, - IsSign = false, - SortField = inDto.SortField, - TrialId = inDto.TrialId, - PageIndex = 1, - PageSize = 1, - }); + var result = new PageOutput() { }; - if (result.Data.CurrentPageData.Count > 0) + if (inDto.TrialId != null) { - return result.Data.CurrentPageData.First(); + result = (await this.GetUserDocumentList(new TrialUserDocUnionQuery() + { + Asc = inDto.Asc, + IsSign = false, + SortField = inDto.SortField, + TrialId = inDto.TrialId, + PageIndex = 1, + PageSize = 1, + })).Data; + } + else + { + result = await _systemDocumentService.getWaitSignSysDocList(new SystemDocumentQuery() + { + PageIndex=1, + IsSigned = false, + PageSize=1, + Asc=false, + SortField="UpdateTime", + }); + + } + + + if (result.CurrentPageData.Count > 0) + { + return result.CurrentPageData.First(); } else {