无关风月
2024-09-03 56dfe0d4bf81262622a1919cceb2b039fd356209
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());