From 30521c18a4c09ca3ff03b8216a243adc745ccf3c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 04 三月 2026 19:05:34 +0800
Subject: [PATCH] 超级管理员权限修改,工作评定统计

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java |  179 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 102 insertions(+), 77 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
index 0817e33..a5a1d7c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -27,6 +27,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -144,6 +145,13 @@
     public R<Boolean> add(@RequestBody String param) {
         TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class);
         tResultWorkEvaluateService.save(dto);
+        // 查询实验调度
+        TExperimentDispatch dispatch = experimentDispatchService.getById(dto.getDispatchId());
+        if(Objects.nonNull(dispatch)){
+            // 修改结束时间
+            dispatch.setExperimentEndTime(LocalDateTime.now());
+            experimentDispatchService.updateById(dispatch);
+        }
         return R.ok();
     }
 
@@ -157,6 +165,13 @@
     public R<Boolean> edit(@RequestBody String param) {
         TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class);
         tResultWorkEvaluateService.updateById(dto);
+        // 查询实验调度
+        TExperimentDispatch dispatch = experimentDispatchService.getById(dto.getDispatchId());
+        if(Objects.nonNull(dispatch)){
+            // 修改结束时间
+            dispatch.setExperimentEndTime(LocalDateTime.now());
+            experimentDispatchService.updateById(dispatch);
+        }
         return R.ok();
     }
 
@@ -598,26 +613,26 @@
         if (collect5.isEmpty()) {
             collect5.add("0");
         }
-        List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5)
-                .ne(TExperimentDispatch::getStatus, -1)
-                .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+        List<TExperimentDispatch> experimentDispatches1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5)
+                .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+        List<String> collect6 = experimentDispatches1.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
         if (collect6.isEmpty()) {
             collect6.add("0");
         }
-        List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect6).list();
+        List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
+                .eq(TResultWorkEvaluate::getStatus, 1)
+                .eq(TResultWorkEvaluate::getEvaluateType, 1)
+                .in(TResultWorkEvaluate::getDispatchId, collect6).list();
         int tempDetail2 = 0;
         for (TResultWorkEvaluate tResultWorkEvaluate : list1) {
             Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
             switch (evaluateOne) {
                 case 1:
-
                     tempDetail2 += 2;
                     break;
                 case 2:
                     tempDetail2 += 1;
-
                     break;
-
             }
             Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
             switch (evaluateTwo) {
@@ -626,14 +641,12 @@
                     break;
                 case 2:
                     tempDetail2 += 1;
-
                     break;
             }
             Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
             switch (evaluateThree) {
                 case 1:
                     tempDetail2 += 2;
-
                     break;
                 case 2:
                     tempDetail2 += 1;
@@ -643,7 +656,6 @@
             switch (evaluateFour) {
                 case 1:
                     tempDetail2 += 2;
-
                     break;
                 case 2:
                     tempDetail2 += 1;
@@ -653,7 +665,6 @@
             switch (evaluateFive) {
                 case 1:
                     tempDetail2 += 2;
-
                     break;
                 case 2:
                     tempDetail2 += 1;
@@ -672,7 +683,7 @@
             tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
         }
 
-        tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size());
+        tResultWorkEvaluateDetailEngineerVO2.setCount(experimentDispatches1.size());
         tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
 
@@ -683,14 +694,17 @@
         if (collect7.isEmpty()) {
             collect7.add("0");
         }
-        List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
-                .ne(TExperimentDispatch::getStatus, -1)
-                .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+        List<TExperimentDispatch> experimentDispatches2 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
+                .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+        List<String> collect8 = experimentDispatches2.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
         if (collect8.isEmpty()) {
             collect8.add("0");
         }
 
-        List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list();
+        List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
+                .eq(TResultWorkEvaluate::getStatus, 1)
+                .eq(TResultWorkEvaluate::getEvaluateType, 1)
+                .in(TResultWorkEvaluate::getDispatchId, collect8).list();
         int tempDetail3 = 0;
         for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
             Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -756,23 +770,26 @@
             tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
             tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
         }
-        tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
+        tResultWorkEvaluateDetailEngineerVO3.setCount(experimentDispatches2.size());
         tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
         // 验证试验阶段
         TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
 
-        List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
+        List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(3)).map(TProjectProposal::getId).collect(Collectors.toList());
         if (collect10.isEmpty()) {
             collect10.add("0");
         }
-        List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
-                .ne(TExperimentDispatch::getStatus, -1)
-                .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+        List<TExperimentDispatch> experimentDispatches3 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
+                .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+        List<String> collect11 = experimentDispatches3.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
         if (collect11.isEmpty()) {
             collect11.add("0");
         }
-        List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
+        List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery()
+                .eq(TResultWorkEvaluate::getStatus, 1)
+                .eq(TResultWorkEvaluate::getEvaluateType, 1)
+                .in(TResultWorkEvaluate::getDispatchId, collect11).list();
         int tempDetail4 = 0;
         for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
             Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -838,7 +855,7 @@
             tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
             tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
         }
-        tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
+        tResultWorkEvaluateDetailEngineerVO4.setCount(experimentDispatches3.size());
         tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
         // 工艺开发工具
@@ -861,7 +878,7 @@
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
         // 验证与发布
         TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
-        List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
+        List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(4)).collect(Collectors.toList());
         int tempDetail16 = 0;
         for (TFeasibilityStudyReport tFeasibilityStudyReport : collect13) {
             if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
@@ -895,8 +912,8 @@
         if (!list6.isEmpty()) {
             tResultWorkEvaluateDetailEngineerVO8.setStartTime(list6.get(0).getCreateTime());
             tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size() - 1).getCreateTime());
+            tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.get(0).getEvaluateScore());
         }
-        tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.get(0).getEvaluateScore());
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
         tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
         return R.ok(tResultWorkEvaluateDetailVO);
@@ -928,11 +945,11 @@
         }
 
 
-        List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
-                .eq(TFeasibilityStudyReport::getStatus, 3)
-                .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list();
-        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
+//        List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
+//                .eq(TFeasibilityStudyReport::getStatus, 3)
+//                .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list();
         for (SysUser sysUser : user5) {
+            List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
             TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
             tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
             // 开发阶段
@@ -942,7 +959,7 @@
                     .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
                     .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
             // 调度ids
-            List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
+            List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).distinct().collect(Collectors.toList());
             if (collect.isEmpty()) {
                 collect.add("0");
             }
@@ -954,20 +971,22 @@
             status.add(4);
             status.add(5);
             // 课题方案ids
-            List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
+                    .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+            List<String> collect6 = experimentDispatches1.stream().map(TExperimentDispatch::getProposalId).distinct().collect(Collectors.toList());
             if (collect6.isEmpty()) {
                 collect6.add("0");
             }
             List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
-                    .notIn(TProjectProposal::getAuditStatus, status).list();
-            List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
+                    .notIn(TProjectProposal::getAuditStatus, status)
+                    .list();
+            List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).distinct().collect(Collectors.toList());
             if (collect5.isEmpty()) {
                 collect5.add("0");
             }
             // 开发阶段调度ids
-            List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5)
+                    .list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
             if (collect1.isEmpty()) {
                 collect1.add("0");
             }
@@ -1033,31 +1052,32 @@
                         break;
                 }
             }
-            if (!list1.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
+            if (!collect2.isEmpty()) {
+                tResultWorkEvaluateDetailEngineerVO2.setEndTime(collect2.get(collect2.size() - 1).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO2.setStartTime(collect2.get(0).getEvaluateTime());
 
             }
-            tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
+            tResultWorkEvaluateDetailEngineerVO2.setCount(experimentDispatches1.size());
             tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
 
             // 中试试验阶段
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
-            List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
-                    .eq(TProjectProposal::getProjectStage, 2)
-                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
+            List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
             if (collect7.isEmpty()) {
                 collect7.add("0");
             }
-            List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches2 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
+                    .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+            List<String> collect8 = experimentDispatches2.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
             if (collect8.isEmpty()) {
                 collect8.add("0");
             }
             List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
+                    .eq(TResultWorkEvaluate::getStatus, 1)
+                    .eq(TResultWorkEvaluate::getEvaluateType, 2)
+                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
+                    .in(TResultWorkEvaluate::getDispatchId, collect8).list();
             int tempDetail3 = 0;
             for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
                 Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -1123,25 +1143,27 @@
                 tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
                 tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
             }
-            tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
+            tResultWorkEvaluateDetailEngineerVO3.setCount(experimentDispatches2.size());
             tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
             // 验证试验阶段
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
 
-            List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
-                    .eq(TProjectProposal::getProjectStage, 2)
-                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
+            List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(3)).map(TProjectProposal::getId).collect(Collectors.toList());
             if (collect10.isEmpty()) {
                 collect10.add("0");
             }
-            List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches3 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
+                    .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+            List<String> collect11 = experimentDispatches3.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
             if (collect11.isEmpty()) {
                 collect11.add("0");
             }
-            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
+            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery()
+                    .eq(TResultWorkEvaluate::getStatus, 1)
+                    .eq(TResultWorkEvaluate::getEvaluateType, 2)
+                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
+                    .in(TResultWorkEvaluate::getDispatchId, collect11).list();
             int tempDetail4 = 0;
             for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
                 Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -1207,7 +1229,7 @@
                 tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
                 tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
             }
-            tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
+            tResultWorkEvaluateDetailEngineerVO4.setCount(experimentDispatches3.size());
             tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
             // 项目检测项评定
@@ -1318,8 +1340,8 @@
             }
         }
 
-        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
         for (SysUser sysUser : user5) {
+            List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
             TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
             tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
             // 开发阶段
@@ -1341,9 +1363,9 @@
             status.add(4);
             status.add(5);
             // 课题方案ids
-            List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
+                    .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+            List<String> collect6 = experimentDispatches1.stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
             if (collect6.isEmpty()) {
                 collect6.add("0");
             }
@@ -1425,26 +1447,27 @@
                 tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
             }
             tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
-            tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
+            tResultWorkEvaluateDetailEngineerVO2.setCount(experimentDispatches1.size());
             tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
 
             // 中试试验阶段
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
-            List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
-                    .eq(TProjectProposal::getProjectStage, 2)
-                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
+            List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
             if (collect7.isEmpty()) {
                 collect7.add("0");
             }
-            List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches2 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
+                    .notIn(TExperimentDispatch::getStatus, -1,2,3).list();
+            List<String> collect8 = experimentDispatches2.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
             if (collect8.isEmpty()) {
                 collect8.add("0");
             }
             List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
+                    .eq(TResultWorkEvaluate::getStatus, 1)
+                    .eq(TResultWorkEvaluate::getEvaluateType, 3)
+                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
+                    .in(TResultWorkEvaluate::getDispatchId, collect8).list();
             int tempDetail3 = 0;
             for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
                 Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -1510,25 +1533,27 @@
                 tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
                 tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
             }
-            tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
+            tResultWorkEvaluateDetailEngineerVO3.setCount(experimentDispatches2.size());
             tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
             // 验证试验阶段
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
 
-            List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
-                    .eq(TProjectProposal::getProjectStage, 2)
-                    .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
+            List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
             if (collect10.isEmpty()) {
                 collect10.add("0");
             }
-            List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
-                    .ne(TExperimentDispatch::getStatus, -1)
-                    .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            List<TExperimentDispatch> experimentDispatches3 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
+                    .notIn(TExperimentDispatch::getStatus, -1,1,3).list();
+            List<String> collect11 = experimentDispatches3.stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
             if (collect11.isEmpty()) {
                 collect11.add("0");
             }
-            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
+            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery()
+                    .eq(TResultWorkEvaluate::getStatus, 1)
+                    .eq(TResultWorkEvaluate::getEvaluateType, 3)
+                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
+                    .in(TResultWorkEvaluate::getDispatchId, collect11).list();
             int tempDetail4 = 0;
             for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
                 Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
@@ -1594,7 +1619,7 @@
                 tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
                 tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
             }
-            tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
+            tResultWorkEvaluateDetailEngineerVO4.setCount(experimentDispatches3.size());
             tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
             // 其他任务

--
Gitblit v1.7.1