Browse Source

增强权限验证和物品审核逻辑

在 `PersonnelModuleController.cs` 中添加了用户权限验证,确保导出 Excel 时传入正确的用户 ID,并检查文件下载权限。
在 `GoodsRepository.cs` 中新增 `_goodsTypeIds` 字段以存储多部门审核物品类型 ID,并在构造函数中初始化。
修改 `GoodsAuditType` 方法,使用 `_goodsTypeIds` 替代硬编码列表。
在分页数据处理时添加条件过滤,确保返回符合审核条件的物品数据,并更新返回的数据结构以符合新的审核逻辑。
LEIYI 1 month ago
parent
commit
ce47b5b897

+ 1 - 0
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -2086,6 +2086,7 @@ WHERE
                 if (userId < 1) return Ok(JsonView(false, "excel导出时,需传入正确的当前操作人UserId!"));
 
                 PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
+
                 #region 页面操作权限验证
                 pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(userId, pageId);
 

+ 10 - 9
OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/GoodsRepository.cs

@@ -21,6 +21,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
         private JsonView _jv;
         private string _url;
         private string _excelPath;
+        private List<int> _goodsTypeIds; //多部门审核物品类型Id     
         public GoodsRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
         {
             _mapper = mapper;
@@ -31,6 +32,9 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
             {
                 Directory.CreateDirectory(_excelPath);
             }
+            _goodsTypeIds = new List<int>() {
+                1423, //1423	贵重物品
+            };
         }
 
         /// <summary>
@@ -331,12 +335,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
         /// <returns></returns>
         public bool GoodsAuditType(int goodsTypeId)
         {
-            //多部门审核类型Id            
-            var goodsTypeIds = new List<int>() {
-                1423, //1423	贵重物品
-            };
-
-            if (goodsTypeIds.Contains(goodsTypeId))
+            if (_goodsTypeIds.Contains(goodsTypeId))
             {
                 return true;
             }
@@ -1243,8 +1242,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 return _jv;
             }
 
-            //返回分页数据
-            var view = await data.ToPageListAsync(dto.PageIndex, dto.PageSize, total);
 
             //财务人事审核权限处理
             var auditList = GoodsStorageConfirmAuditDep(2);
@@ -1256,6 +1253,11 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 hrAuditPer = true;
             }
 
+            //返回分页数据
+            //领用审核List只显示多条审核数据 陈湘
+            var view = await data.WhereIF(hrAuditPer, x => _goodsTypeIds.Contains(x.GoodsTypeId))
+                .ToPageListAsync(dto.PageIndex, dto.PageSize, total);
+
             foreach (var item in view)
             {
                 //默认审核验证 多条 or 单挑
@@ -1276,7 +1278,6 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
             else if (dto.PortType == 1)
             {
                 var view1 = _mapper.Map<List<GoodsReceiveListView>>(view);
-
                 _jv.Data = view1;
             }