From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
index 01be406..0797ce7 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlAuditServiceImpl.java
@@ -63,6 +63,20 @@
         List<Long> auditIds = new ArrayList<>();
         Long userid = SecurityUtils.getUserId();
         SysUser data = sysUserClient.getSysUser(userid).getData();
+        // 查询当前登陆人管理了哪一些货架
+        List<SlStoreManagement> list1 = slStoreManagementService.lambdaQuery().list();
+        List<Long> managementIds = new ArrayList<>();
+        for (SlStoreManagement slStoreManagement : list1) {
+            if (Arrays.asList(slStoreManagement.getAdministratorId().split(",")).contains(userid.toString())
+            || Arrays.asList(slStoreManagement.getCompetentId().split(",")).contains(userid.toString())
+            || Arrays.asList(slStoreManagement.getDirectorId().split(",")).contains(userid.toString())
+            ){
+                managementIds.add(slStoreManagement.getId());
+            }
+        }
+        if (managementIds.isEmpty()){
+            managementIds.add(0L);
+        }
         getVolumeProductionRkQuery getVolumeProductionRkQuer=new getVolumeProductionRkQuery();
         getVolumeProductionRkQuer.setSupplierName(auditRecordListQuery.getSysName());
         getVolumeProductionRkQuer.setSupplierPhone(auditRecordListQuery.getSysPhone());
@@ -86,17 +100,24 @@
             goodsSkuIdList1.add(0L);
             wrapper.in(SlAudit::getSysId,goodsSkuIdList1);
         }
-
         switch (auditRecordListQuery.getType()){
             case 1:
                 rkglIds = slVolumeProductionRkglMapper.selectList(new QueryWrapper<SlVolumeProductionRkgl>()
                         .ne("audit_status", 7)).stream().map(SlVolumeProductionRkgl::getId).collect(Collectors.toList());
                 wrapper.in(SlAudit::getRkId,rkglIds);
+                if (rkglIds.isEmpty()){
+                    rkglIds.add(0L);
+                }
                 if (!data.getUserType().equals("00")){
-                    // 只查询相关的审核
+                    // 没有管理仓库
+                    // 查询相关的审核
                     auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
                             .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
-                    wrapper.in(SlAudit::getId,auditIds);
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds));
                 }
 
                 break;
@@ -104,24 +125,41 @@
                 ckglIds = slVolumeProductionCKglMapper.selectList(new QueryWrapper<SlVolumeProductionCkgl>()
                         .ne("audit_status", 8)).stream().map(SlVolumeProductionCkgl::getId).collect(Collectors.toList());
                 wrapper.in(SlAudit::getRkId,ckglIds);
+                if (ckglIds.isEmpty()){
+                    ckglIds.add(0L);
+                }
                 if (!data.getUserType().equals("00")){
                     // 只查询相关的审核
                     auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
                             .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
-                    wrapper.in(SlAudit::getId,auditIds);
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds1 = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds1));
                 }
+
 
                 break;
             case 3:
                 zyglIds = slVolumeProductionZyglMapper.selectList(new QueryWrapper<SlVolumeProductionZygl>()
                         .ne("audit_status", 7)).stream().map(SlVolumeProductionZygl::getId).collect(Collectors.toList());
+                if (zyglIds.isEmpty()){
+                    zyglIds.add(0L);
+                }
                 wrapper.in(SlAudit::getRkId,zyglIds);
+
                 if (!data.getUserType().equals("00")){
                     // 只查询相关的审核
                     auditIds = slAuditRecordMapper.selectList(new QueryWrapper<SlAuditRecord>()
                             .like("shenh_id", data.getUserId())).stream().map(SlAuditRecord::getAuditId).collect(Collectors.toList());
-                    wrapper.in(SlAudit::getId,auditIds);
+                    if (auditIds.isEmpty()){
+                        auditIds.add(0L);
+                    }
+                    List<Long> finalAuditIds2 = auditIds;
+                    wrapper.and(wrapper1 -> wrapper1.in(SlAudit::getManagementId,managementIds).or().in(SlAudit::getId, finalAuditIds2));
                 }
+
                 break;
         }
         wrapper.eq(SlAudit::getType,auditRecordListQuery.getType());

--
Gitblit v1.7.1