From 8586161442cbe058fae93bfd35a468485b9b505e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 30 六月 2025 21:15:46 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java |   62 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java
index 7a77c60..99b35b9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java
@@ -21,7 +21,6 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -46,10 +45,13 @@
     private final TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService;
     private final TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService;
     private final TProjectTeamStaffService projectTeamStaffService;
+    private final TProjectTeamService projectTeamService;
     private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
     private final TInspectionReportService inspectionReportService;
+    private final TExperimentDispatchService experimentDispatchService;
+    private final TProjectProposalService projectProposalService;
     @Autowired
-    public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TInspectionReportService inspectionReportService) {
+    public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TInspectionReportService inspectionReportService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService) {
         this.tokenService = tokenService;
         this.sysUserService = sysUserService;
         this.sysUserMapper = sysUserMapper;
@@ -57,8 +59,11 @@
         this.testMethodConfirmSheetOriginalDataService = testMethodConfirmSheetOriginalDataService;
         this.testMethodConfirmSheetTermService = testMethodConfirmSheetTermService;
         this.projectTeamStaffService = projectTeamStaffService;
+        this.projectTeamService = projectTeamService;
         this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
         this.inspectionReportService = inspectionReportService;
+        this.experimentDispatchService = experimentDispatchService;
+        this.projectProposalService = projectProposalService;
     }
 
     /**
@@ -100,25 +105,42 @@
                 }
             }
             if(roleType == 4){
-                // 查询检验报告
-                List<TInspectionReport> inspectionReports = inspectionReportService.list(Wrappers.lambdaQuery(TInspectionReport.class)
-                        .eq(TInspectionReport::getStatus, 1));
-                if (!CollectionUtils.isEmpty(inspectionReports)) {
-                    List<String> dispatchIds = inspectionReports.stream().map(TInspectionReport::getDispatchId).distinct().collect(Collectors.toList());
-                    List<String> dispatchIds1 = query.getDispatchIds();
-                    Iterator<String> iterator = dispatchIds1.iterator();
-                    while (iterator.hasNext()) {
-                        String next = iterator.next();
-                        if (!dispatchIds.contains(next)) {
-                            iterator.remove();
+                // 查询当前用户所在的项目组
+                List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                        .eq(TProjectTeamStaff::getUserId, userId));
+                if (!CollectionUtils.isEmpty(projectTeamStaffs)) {
+                    List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
+                    List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class)
+                            .in(TProjectProposal::getTeamId, teamIds));
+                    if (!CollectionUtils.isEmpty(projectProposals)) {
+                        List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList());
+                        List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class)
+                                .in(TExperimentDispatch::getProposalId, projectIds));
+                        if (!CollectionUtils.isEmpty(experimentDispatches)) {
+                            List<String> dispatchIds2 = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+                            // 查询检验报告
+                            List<TInspectionReport> inspectionReports = inspectionReportService.list(Wrappers.lambdaQuery(TInspectionReport.class)
+                                    .eq(TInspectionReport::getStatus, 2)
+                                    .in(TInspectionReport::getDispatchId, dispatchIds2));
+                            if (!CollectionUtils.isEmpty(inspectionReports)) {
+                                List<String> dispatchIds = inspectionReports.stream().map(TInspectionReport::getDispatchId).distinct().collect(Collectors.toList());
+                                List<String> dispatchIds1 = query.getDispatchIds();
+                                Iterator<String> iterator = dispatchIds1.iterator();
+                                while (iterator.hasNext()) {
+                                    String next = iterator.next();
+                                    if (dispatchIds.contains(next)) {
+                                        iterator.remove();
+                                    }
+                                }
+        //                    if(CollectionUtils.isEmpty(dispatchIds1)){
+        //                        List<String> id = new ArrayList<>();
+        //                        id.add("-1");
+        //                        query.setDispatchIds(id);
+        //                    }else {
+                                query.setDispatchIds(dispatchIds1);
+        //                    }
+                            }
                         }
-                    }
-                    if(CollectionUtils.isEmpty(dispatchIds1)){
-                        List<String> id = new ArrayList<>();
-                        id.add("-1");
-                        query.setDispatchIds(id);
-                    }else {
-                        query.setDispatchIds(dispatchIds1);
                     }
                 }
             }

--
Gitblit v1.7.1