From 798327715ee23beffe822f5822055458cb556b5d Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 12 九月 2025 14:01:22 +0800
Subject: [PATCH] fix: s

---
 FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs
index 246cb00..67d6b7f 100644
--- a/FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs
+++ b/FlexJobApi.UserServer.Application/ElectronSign/Queries/ContractTemplateQueryHandler.cs
@@ -21,7 +21,8 @@
             IRepository<ContractTemplate> rep,
             IRepository<Enterprise> repEnterprise,
             IRepository<User> repUser,
-            IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog
+            IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog,
+            IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting
         ) :
         IRequestHandler<GetContractTemplateEnterprisesQuery, GetContractTemplateEnterprisesQueryResult>,
         IRequestHandler<GetEnterpriseContractTemplatesQuery, GetEnterpriseContractTemplatesQueryResult>,
@@ -33,6 +34,7 @@
         private readonly IRepository<Enterprise> repEnterprise = repEnterprise;
         private readonly IRepository<User> repUser = repUser;
         private readonly IRepository<DbAuditLog, LogDbContextLocator> repDbAuditLog = repDbAuditLog;
+        private readonly IRepository<EnterpriseElectronSignSetting> repEnterpriseElectronSignSetting = repEnterpriseElectronSignSetting;
 
         /// <summary>
         /// 鏌ヨ杩愯惀绔崗璁鐞嗗垪琛�
@@ -225,13 +227,18 @@
         /// <param name="request"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public Task<List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>> Handle(GetEnterpriseContractTemplateSelectQuery request, CancellationToken cancellationToken)
+        public async Task<List<SelectOption<Guid, GetEnterpriseContractTemplateSelectQueryOption>>> Handle(GetEnterpriseContractTemplateSelectQuery request, CancellationToken cancellationToken)
         {
             var logier = JwtUtils.GetCurrentLogier();
-            return request.GetSelect<ContractTemplate, Guid, GetEnterpriseContractTemplateSelectQueryOption>(
+
+            var accesses = await repEnterpriseElectronSignSetting.AsQueryable()
+                    .Where(it => it.EnterpriseId == logier.EnterpriseId)
+                    .Select(it => it.ElectronSignAccess)
+                    .ToListAsync();
+            return await request.GetSelect<ContractTemplate, Guid, GetEnterpriseContractTemplateSelectQueryOption>(
                 it => it.Id,
                 it => it.Name,
-                q => q.Where(it => it.EnterpriseId == logier.EnterpriseId && !it.IsDisabled),
+                q => q.Where(it => it.EnterpriseId == logier.EnterpriseId && !it.IsDisabled && it.Status== EnumContractTemplateStatus.Completed && it.Access.HasValue && accesses.Contains(it.Access.Value)),
                 cancellationToken);
         }
 

--
Gitblit v1.9.1