IRC_NewDev
he 2024-03-29 14:23:21 +08:00
parent f86bc219cf
commit 451a311142
4 changed files with 41 additions and 17 deletions

View File

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

View File

@ -25,7 +25,10 @@ namespace IRaCIS.Core.Application.Contracts
Task<IResponseOutput> DeleteSystemDocumentAsync(Guid systemDocumentId);
Task<PageOutput<UnionDocumentWithConfirmInfoView>> getWaitSignSysDocList(SystemDocumentQuery querySystemDocument);
}
}
}

View File

@ -23,6 +23,7 @@ namespace IRaCIS.Core.Application.Services
private readonly IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository;
public SystemDocumentService( IRepository<SystemDocument> systemDocumentRepository,
IRepository<SystemDocNeedConfirmedUserType> systemDocNeedConfirmedUserTypeRepository,
IRepository<SystemDocConfirmedUser> systemDocConfirmedUserRepository)
{

View File

@ -25,7 +25,8 @@ namespace IRaCIS.Core.Application.Services
private readonly IRepository<TrialDocument> _trialDocumentRepository;
private readonly IRepository<TrialDocConfirmedUser> _trialDocUserTypeConfirmedUserRepository;
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository;
private readonly ISystemDocumentService _systemDocumentService;
private readonly IRepository<SystemDocConfirmedUser> _systemDocConfirmedUserRepository;
private readonly IRepository<SystemDocument> _systemDocumentRepository;
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
@ -34,7 +35,8 @@ namespace IRaCIS.Core.Application.Services
public TrialDocumentService(IRepository<TrialDocument> trialDocumentRepository,
IRepository<TrialDocConfirmedUser> trialDocUserTypeConfirmedUserRepository,
IRepository<Trial> trialRepository,
IRepository<SystemDocConfirmedUser> systemDocConfirmedUserRepository,
ISystemDocumentService systemDocumentService,
IRepository<SystemDocConfirmedUser> systemDocConfirmedUserRepository,
IRepository<TrialCriterionAdditionalAssessmentType> trialCriterionAdditionalAssessmentTypeRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository
, IRepository<SystemDocument> 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<UnionDocumentWithConfirmInfoView?> 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<UnionDocumentWithConfirmInfoView>() { };
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
{