From bd4830badb61f6a888218a663f3d1bc36b8056c8 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 23 七月 2025 15:57:06 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java
index 15ca251..71f3107 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java
@@ -18,6 +18,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -41,15 +42,29 @@
 
     @Override
     public PageInfo<TSamplingRecordVO> pageList(TSamplingRecordQuery query) {
+        List<TSamplingRecordVO> res = new ArrayList<>();
         PageInfo<TSamplingRecordVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         if(CollectionUtils.isEmpty(query.getDispatchIds())){
             return pageInfo;
         }
-        List<TSamplingRecordVO> list = this.baseMapper.pageList(query,pageInfo);
+        List<TSamplingRecordOperation> samplingRecordOperations = samplingRecordOperationMapper.selectList(null);
+        List<TSamplingRecordVO> list = this.baseMapper.pageList(query);
         if(CollectionUtils.isEmpty(list)){
             return pageInfo;
         }
-
+        for (TSamplingRecordVO tSamplingRecordVO : list) {
+            if (query.getRoleType()==5){
+                if (tSamplingRecordVO.getStatus()==2){
+                    List<TSamplingRecordOperation> samplingRecordOperationsIds = samplingRecordOperations.stream().filter(e -> e.getSamplingId().equals(tSamplingRecordVO.getId())).collect(Collectors.toList());
+                    // 如果samplingRecordOperationsIds的状态全部都为3
+                    if(!samplingRecordOperationsIds.stream().allMatch(e -> e.getStatus() == 3)){
+                        res.add(tSamplingRecordVO);
+                    }
+                }
+            }else{
+                res.add(tSamplingRecordVO);
+            }
+        }
         List<String> recordIds = list.stream().map(TSamplingRecordVO::getId).collect(Collectors.toList());
         List<TSamplingRecordOperation> recordOperationList = samplingRecordOperationMapper.selectList(Wrappers.lambdaQuery(TSamplingRecordOperation.class)
                 .in(TSamplingRecordOperation::getSamplingId, recordIds));
@@ -79,8 +94,10 @@
                 tSamplingRecordVO.setTesterNames(experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(",")));
             }
         }
-
-        pageInfo.setRecords(list);
+        // 手动对res进行分页
+        res = res.stream().skip((long) (query.getPageNum() - 1) * query.getPageSize()).limit(query.getPageSize()).collect(Collectors.toList());
+        pageInfo.setTotal(res.size());
+        pageInfo.setRecords(res);
         return pageInfo;
     }
 }

--
Gitblit v1.7.1