修改相关bug
This commit is contained in:
+18
@@ -79,7 +79,21 @@ public class OnboardingContractTemplateService : DbRepository<ObContractTemplate
|
||||
if (candidates.Count == 0)
|
||||
return candidates;
|
||||
|
||||
var now = DateTime.Now;
|
||||
var candidateIds = candidates.Select(item => item.Id).ToList();
|
||||
var availableVersionTemplateIds = (await Context.Queryable<ObContractTemplateVersion>()
|
||||
.Where(item => candidateIds.Contains(item.TemplateId))
|
||||
.ToListAsync())
|
||||
.Where(item => ContractTemplateVersionValidity.IsAvailable(item, now))
|
||||
.Select(item => item.TemplateId)
|
||||
.ToHashSet();
|
||||
candidates = candidates
|
||||
.Where(item => availableVersionTemplateIds.Contains(item.Id))
|
||||
.ToList();
|
||||
if (candidates.Count == 0)
|
||||
return candidates;
|
||||
|
||||
candidateIds = candidates.Select(item => item.Id).ToList();
|
||||
var relations = await Context.Queryable<ObContractTemplatePosition>()
|
||||
.Where(item => candidateIds.Contains(item.ContractTemplateId))
|
||||
.ToListAsync();
|
||||
@@ -270,6 +284,7 @@ public class OnboardingContractTemplateService : DbRepository<ObContractTemplate
|
||||
/// </summary>
|
||||
public async Task AddVersion(OnboardingContractVersionAddInput input)
|
||||
{
|
||||
ContractTemplateVersionValidity.ValidateRange(input.EffectiveDate, input.ExpiryDate);
|
||||
var template = await Detail(new BaseIdInput { Id = input.TemplateId });
|
||||
await _dataPermission.EnsureCanManage(
|
||||
template.CreateUserId,
|
||||
@@ -357,6 +372,9 @@ public class OnboardingContractTemplateService : DbRepository<ObContractTemplate
|
||||
|
||||
if (input.VersionStatus == ContractTemplateVersionStatus.Enabled)
|
||||
{
|
||||
ContractTemplateVersionValidity.ValidateRange(version.EffectiveDate, version.ExpiryDate);
|
||||
if (version.ExpiryDate.HasValue && version.ExpiryDate.Value <= DateTime.Now)
|
||||
throw Oops.Bah("该签署材料版本已经失效,不能启用");
|
||||
var hasUnresolvedVariables = await Context.Queryable<ObTemplateVariable>()
|
||||
.AnyAsync(item => item.TemplateVersionId == input.Id
|
||||
&& item.VariableType == ContractVariableType.Unresolved);
|
||||
|
||||
Reference in New Issue
Block a user