From b86c4da05d7171950ac413778319d1e996a2eafb Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 14 八月 2025 10:04:48 +0800
Subject: [PATCH] 配置修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 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 d36b721..94f940a 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
@@ -3,8 +3,12 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.mapper.TExperimentDispatchParticipantsMapper;
 import com.ruoyi.system.mapper.TSamplingRecordMapper;
 import com.ruoyi.system.mapper.TSamplingRecordOperationMapper;
+import com.ruoyi.system.model.TExperimentDispatchParticipants;
 import com.ruoyi.system.model.TSamplingRecord;
 import com.ruoyi.system.model.TSamplingRecordOperation;
 import com.ruoyi.system.query.TSamplingRecordQuery;
@@ -14,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;
 
@@ -30,15 +35,35 @@
 
     @Autowired
     private TSamplingRecordOperationMapper samplingRecordOperationMapper;
+    @Autowired
+    private TExperimentDispatchParticipantsMapper experimentDispatchParticipantsMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
 
     @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);
         if(CollectionUtils.isEmpty(list)){
             return pageInfo;
         }
-
+//        for (TSamplingRecordVO tSamplingRecordVO : list) {
+//            if (query.getRoleType()==5){
+//                if (tSamplingRecordVO.getStatus()==1){
+//                    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));
@@ -49,6 +74,28 @@
             item.setReceivedCount(recordOperationList.stream().filter(recordOperation -> recordOperation.getSamplingId().equals(item.getId()) && recordOperation.getStatus() == 3).count());
         });
 
+        // 查询实验调度参与实验员
+        List<String> dispatchIds = list.stream().map(TSamplingRecordVO::getDispatchId).collect(Collectors.toList());
+        List<TExperimentDispatchParticipants> teamStaffs = experimentDispatchParticipantsMapper.selectList(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                .in(TExperimentDispatchParticipants::getDispatchId, dispatchIds)
+                .eq(TExperimentDispatchParticipants::getRoleType, 5));
+        List<Long> userIds = teamStaffs.stream().map(TExperimentDispatchParticipants::getUserId).collect(Collectors.toList());
+        List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
+        teamStaffs.stream().forEach(teamStaff -> {
+            sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(teamStaff.getUserId())).findFirst().ifPresent(sysUser -> {
+                teamStaff.setNickName(sysUser.getNickName());
+            });
+        });
+
+        for (TSamplingRecordVO tSamplingRecordVO : list) {
+            List<TExperimentDispatchParticipants> experimentDispatchParticipants = teamStaffs.stream().filter(teamStaff -> teamStaff.getDispatchId().equals(tSamplingRecordVO.getDispatchId())).collect(Collectors.toList());
+            if(!CollectionUtils.isEmpty(experimentDispatchParticipants)){
+                tSamplingRecordVO.setTesterNames(experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(",")));
+            }
+        }
+        // 手动对res进行分页
+//        res = res.stream().skip((long) (query.getPageNum() - 1) * query.getPageSize()).limit(query.getPageSize()).collect(Collectors.toList());
+//        pageInfo.setTotal(res.size());
         pageInfo.setRecords(list);
         return pageInfo;
     }

--
Gitblit v1.7.1