소스 검색

添加审计权限逻辑到 GoodsRepository.cs

在 `GoodsRepository.cs` 文件中,新增了对 `GoodsStorageConfirmAuditDep(1)` 方法的调用,以获取审计列表,并根据当前用户的 ID 检查其在 HR 和财务审计中的权限。初始化了 `hrAuditPer` 和 `finAuditPer` 变量,并在找到相应的审计信息后进行更新。删除了原有的审计权限逻辑,以保持代码的整洁性和一致性。
LEIYI 1 주 전
부모
커밋
3066e0200d
1개의 변경된 파일17개의 추가작업 그리고 14개의 파일을 삭제
  1. 17 14
      OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/GoodsRepository.cs

+ 17 - 14
OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/GoodsRepository.cs

@@ -369,6 +369,21 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 }
             }
 
+            var auditList = GoodsStorageConfirmAuditDep(1);
+            var hrAuditPer = false;
+            var finAuditPer = false;
+            var hrAuditInfo = auditList.FirstOrDefault(x => x.AuditDep == GoodsAuditDepEnum.Hr);
+            var finAuditInfo = auditList.FirstOrDefault(x => x.AuditDep == GoodsAuditDepEnum.Financial);
+            if (hrAuditInfo != null)
+            {
+                if (hrAuditInfo.AuditorIds.Any(x => x == userId)) hrAuditPer = true;
+            }
+            if (finAuditInfo != null)
+            {
+                if (finAuditInfo.AuditorIds.Any(x => x == userId)) finAuditPer = true;
+            }
+
+
             RefAsync<int> total = 0;
             var data = await _sqlSugar.Queryable<Pm_GoodsStorage>()
                 .LeftJoin<Pm_GoodsInfo>((gs, gi) => gs.GoodsId == gi.Id)
@@ -379,6 +394,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 .WhereIF(auditLabel.Length > 0, (gs, gi, u, u1) => auditLabel.Contains((int)gs.ConfirmStatus))
                 .WhereIF(!string.IsNullOrEmpty(dto.GoodsName), (gs, gi, u, u1) => gi.Name.Contains(dto.GoodsName))
                 .WhereIF(!string.IsNullOrEmpty(dto.BatchNo), (gs, gi, u, u1) => gs.BatchNo.Contains(dto.BatchNo))
+                .WhereIF(finAuditPer, (gs, gi, u, u1) => _goodsTypeIds.Contains(gi.Type))
                 .Select((gs, gi, u, u1) => new GoodsStorageListView()
                 {
                     Id = gs.Id,
@@ -404,20 +420,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 .OrderByDescending(gs => gs.CreateTime)
                 .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
 
-            var auditList = GoodsStorageConfirmAuditDep(1);
-            var hrAuditPer = false;
-            var finAuditPer = false;
-            var hrAuditInfo = auditList.FirstOrDefault(x => x.AuditDep == GoodsAuditDepEnum.Hr);
-            var finAuditInfo = auditList.FirstOrDefault(x => x.AuditDep == GoodsAuditDepEnum.Financial);
-            if (hrAuditInfo != null)
-            {
-                if (hrAuditInfo.AuditorIds.Any(x => x == userId)) hrAuditPer = true;
-            }
-            if (finAuditInfo != null)
-            {
-                if (finAuditInfo.AuditorIds.Any(x => x == userId)) finAuditPer = true;
-            }
-
+            
             foreach (var item in data)
             {
                 var auditDeps = new List<GoodsStorageAuditPerView>();