From 2fa7f761cf80802f54f727381b282d3b264501a7 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 08 十月 2026 11:11:26 +0800
Subject: [PATCH] 提交最新代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 1251 +++++++---------------------------------------------------
 1 files changed, 160 insertions(+), 1,091 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 5e45069..258e076 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
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.TResultWorkEvaluateDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
@@ -18,6 +19,7 @@
 import com.ruoyi.system.query.TProjectApprovalReportQuery;
 import com.ruoyi.system.query.TResultWorkEvaluateQuery;
 import com.ruoyi.system.service.*;
+import com.ruoyi.system.service.impl.WorkEvaluateService;
 import com.ruoyi.system.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,9 +29,8 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.time.LocalDateTime;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -52,6 +53,8 @@
     private TFeasibilityStudyReportService feasibilityStudyReportService;
     @Resource
     private TExperimentResultReportService experimentResultReportService;
+    @Resource
+    private TExperimentSchemeService experimentSchemeService;
     @Resource
     private TProjectApprovalReportService projectApprovalReportService;
     @Resource
@@ -77,6 +80,14 @@
     private SysUserMapper sysUserMapper;
     @Autowired
     private TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
+    @Autowired
+    private TExperimentResultReportService tExperimentResultReportService;
+    @Autowired
+    private TExperimentDispatchService tExperimentDispatchService;
+    @Autowired
+    private TProjectProposalService tProjectProposalService;
+    @Autowired
+    private WorkEvaluateService workEvaluateCalculateService;
 
     /**
      * 获取化验师工作评定分页列表
@@ -88,6 +99,7 @@
         TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
         Long userId = tokenService.getLoginUser().getUserId();
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        query.setRoleType(roleType);
         if(roleType != 1){
             // 查询用户所在项目组
             List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
@@ -96,6 +108,9 @@
                 // 查询项目组id
                 List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
                 query.setTeamIds(teamIds);
+            }
+            if(roleType == 4){
+                query.setUserId(userId);
             }
         }
         return R.ok(tResultWorkEvaluateService.chemistEvaluateList(query));
@@ -111,6 +126,7 @@
         TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
         Long userId = tokenService.getLoginUser().getUserId();
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        query.setRoleType(roleType);
         if(roleType != 1){
             // 查询用户所在项目组
             List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
@@ -119,6 +135,9 @@
                 // 查询项目组id
                 List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
                 query.setTeamIds(teamIds);
+            }
+            if(roleType == 5){
+                query.setUserId(userId);
             }
         }
         return R.ok(tResultWorkEvaluateService.testerEvaluateList(query));
@@ -134,6 +153,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();
     }
 
@@ -147,6 +173,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();
     }
 
@@ -283,6 +316,11 @@
         LoginUser loginUser = tokenService.getLoginUser();
 
         TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
+
+        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+            query.setUserId(null);
+        }
+
         SysUser sysUser = sysUserService.selectUserById(loginUser.getUser().getUserId());
         if (sysUser.getRoleType() != 1) {
             List<String> teamIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, loginUser.getUser().getUserId()).list()
@@ -291,9 +329,22 @@
                 return R.ok(new PageInfo<>());
             }
             query.setTeamIds(teamIds);
+        }else {
+            List<String> teamIds = projectTeamStaffService.lambdaQuery()
+                    .list()
+                    .stream()
+                    .map(TProjectTeamStaff::getTeamId)
+                    .filter(Objects::nonNull)
+                    .distinct()
+                    .collect(Collectors.toList());
+            if (teamIds.isEmpty()) {
+                return R.ok(new PageInfo<>());
+            }
+            query.setTeamIds(teamIds);
         }
         return R.ok(tResultWorkEvaluateService.pageList(query));
     }
+
 
     /**
      * 查看取样记录详情
@@ -313,8 +364,10 @@
         List<Long> role5 = projectTeamStaffService.lambdaQuery()
                 .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
                 .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
+
         List<SysUser> user4 = new ArrayList<>();
         List<SysUser> user5 = new ArrayList<>();
+
         for (Long l : role4) {
             SysUser sysUser = sysUserService.selectUserById(l);
             if (sysUser != null) {
@@ -327,174 +380,72 @@
                 user5.add(sysUser);
             }
         }
-        List<TResultWorkEvaluate> list = tResultWorkEvaluateService.lambdaQuery().eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId())
-                .eq(TResultWorkEvaluate::getStatus, 1).orderByDesc(TResultWorkEvaluate::getEvaluateTime).list();
-        int temp1 = 0;
-        int temp2 = 0;
-        int temp3 = 0;
-        int temp4 = 0;
-        int temp5 = 0;
-        for (TResultWorkEvaluate tResultWorkEvaluate : list) {
-            Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-            switch (evaluateOne) {
-                case 1:
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 2;
-                    }
-                    temp1 += 2;
-                    break;
-                case 2:
-                    temp1 += 1;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 1;
-                    }
-                    break;
 
-            }
-            Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-            switch (evaluateTwo) {
-                case 1:
-                    temp1 += 2;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 2;
-                    }
-                    break;
-                case 2:
-                    temp1 += 1;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 1;
-                    }
-                    break;
-            }
-            Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-            switch (evaluateThree) {
-                case 1:
-                    temp1 += 2;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 2;
-                    }
-                    break;
-                case 2:
-                    temp1 += 1;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 1;
-                    }
-                    break;
-            }
-            Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-            switch (evaluateFour) {
-                case 1:
-                    temp1 += 2;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 2;
-                    }
-                    break;
-                case 2:
-                    temp1 += 1;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 1;
-                    }
-                    break;
-            }
-            Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-            switch (evaluateFive) {
-                case 1:
-                    temp1 += 2;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 2;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 2;
-                    }
-                    break;
-                case 2:
-                    temp1 += 1;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 += 1;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 += 1;
-                    }
-                    break;
-            }
-            Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-            switch (evaluateSix) {
-                case 1:
-                    temp1 -= 3;
-                    temp5++;
-                    if (tResultWorkEvaluate.getEvaluateType() == 1) {
-                        temp2 -= 3;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 2) {
-                        temp3 -= 3;
-                    }
-                    if (tResultWorkEvaluate.getEvaluateType() == 3) {
-                        temp4 -= 3;
-                    }
-                    break;
-            }
+        int engineerIntegral = 0;  // 工艺工程师总积分
+        int chemistIntegral = 0;   // 化验师总积分
+        int testerIntegral = 0;    // 实验员总积分
+
+        // 单独获取各角色积分
+        TResultWorkEvaluateDetailVO engineerEvaluateDetail = workEvaluateCalculateService.getProcessEngineerEvaluateDetail(id);//工艺工程师
+        if (engineerEvaluateDetail != null && engineerEvaluateDetail.getEngineerList() != null) {
+            engineerIntegral = engineerEvaluateDetail.getEngineerList().stream()
+                    .mapToInt(vo -> Optional.ofNullable(vo.getIntegral()).orElse(0))
+                    .sum();
         }
-        tResultWorkEvaluateDetailVO.setTeamIntegral(temp1);
-        tResultWorkEvaluateDetailVO.setEngineerIntegral(temp2);
-        tResultWorkEvaluateDetailVO.setChemistIntegral(temp3);
-        tResultWorkEvaluateDetailVO.setTesterIntegral(temp4);
-        tResultWorkEvaluateDetailVO.setTermination(temp5);
-        if (!list.isEmpty()) {
-            tResultWorkEvaluateDetailVO.setEndTime(list.get(0).getEvaluateTime());
+
+        TResultWorkEvaluateDetailVO chemistEvaluateDetail = workEvaluateCalculateService.getChemistEvaluateDetail(id);//4 化验师
+        if (chemistEvaluateDetail != null && chemistEvaluateDetail.getChemistList() != null) {
+            chemistIntegral = chemistEvaluateDetail.getChemistList().stream()
+                    .filter(user -> user.getList() != null)
+                    .flatMap(user -> user.getList().stream())
+                    .mapToInt(vo -> Optional.ofNullable(vo.getIntegral()).orElse(0))
+                    .sum();
+        }
+
+        TResultWorkEvaluateDetailVO testerEvaluateDetail = workEvaluateCalculateService.getTesterEvaluateDetail(id);// 5 实验员
+        if (testerEvaluateDetail != null && testerEvaluateDetail.getTesterList() != null) {
+            testerIntegral = testerEvaluateDetail.getTesterList().stream()
+                    .filter(user -> user.getList() != null)
+                    .flatMap(user -> user.getList().stream())
+                    .mapToInt(vo -> Optional.ofNullable(vo.getIntegral()).orElse(0))
+                    .sum();
+        }
+
+        // 计算项目组总积分
+        int teamIntegral = engineerIntegral + chemistIntegral + testerIntegral;
+
+        tResultWorkEvaluateDetailVO.setTeamIntegral(teamIntegral);
+        tResultWorkEvaluateDetailVO.setEngineerIntegral(engineerIntegral);
+        tResultWorkEvaluateDetailVO.setChemistIntegral(chemistIntegral);
+        tResultWorkEvaluateDetailVO.setTesterIntegral(testerIntegral);
+
+        //查询最后一条数据的时间
+        TResultWorkEvaluate tResultWorkEvaluate = tResultWorkEvaluateService.lambdaQuery()
+                .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
+                .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
+                .orderByDesc(TResultWorkEvaluate::getEvaluateTime)// 按评定时间倒序排序
+                .last("limit 1")// 取第一条
+                .one();
+        if (tResultWorkEvaluate != null) {
+            tResultWorkEvaluateDetailVO.setEndTime(tResultWorkEvaluate.getEvaluateTime());
+        }
+
+        // 查询项目组总的失败次数
+        String teamId = resultWorkEvaluate.getTeamId();
+        List<String> projectProposalIds = projectProposalService.lambdaQuery().eq(TProjectProposal::getTeamId, teamId).list()
+                .stream().map(TProjectProposal::getId).collect(Collectors.toList());
+        if (projectProposalIds.isEmpty()){
+            tResultWorkEvaluateDetailVO.setTermination(0);
+        }else{
+            List<String> experimentDispatchIds = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, projectProposalIds).list()
+                    .stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+            if (experimentDispatchIds.isEmpty()){
+                tResultWorkEvaluateDetailVO.setTermination(0);
+            }else{
+                Long count = experimentSchemeService.lambdaQuery().in(TExperimentScheme::getDispatchId, experimentDispatchIds)
+                        .eq(TExperimentScheme::getStatus, 3).count();
+                tResultWorkEvaluateDetailVO.setTermination(count.intValue());
+            }
         }
 
         return R.ok(tResultWorkEvaluateDetailVO);
@@ -504,377 +455,9 @@
     @ApiOperation(value = "查看详情-左侧数据-工艺工程师工作内容评定")
     @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftOne")
     public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftOne(@RequestParam String id) {
-        TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
+        TResultWorkEvaluateDetailVO engineerEvaluateDetail = workEvaluateCalculateService.getProcessEngineerEvaluateDetail(id);
 
-        TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
-        TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
-        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1")
-                .one();
-        TProjectTeamStaff projectTeamStaff1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 2).last("limit 1")
-                .one();
-        tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
-        Long userId = projectTeamStaff.getUserId();
-        Long auditUserId = projectTeamStaff1.getUserId();
-        List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
-                .eq(TFeasibilityStudyReport::getStatus, 3)
-                .eq(TFeasibilityStudyReport::getEvaluatePersonId, auditUserId).list();
-        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
-        // 工艺可研
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO();
-        List<TFeasibilityStudyReport> collect = total.stream().filter(e -> e.getReportType().equals(1)).collect(Collectors.toList());
-        int tempDetail = 0;
-        for (TFeasibilityStudyReport tFeasibilityStudyReport : collect) {
-            if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
-                for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
-                    tempDetail += Integer.parseInt(s);
-                }
-            }
-        }
-        tResultWorkEvaluateDetailEngineerVO.setCount(collect.size());
-        tResultWorkEvaluateDetailEngineerVO.setIntegral(tempDetail);
-        if (!collect.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size() - 1).getEvaluateTime());
-            tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime());
-        }
-
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO);
-        // 工艺可行
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO1 = new TResultWorkEvaluateDetailEngineerVO();
-        List<TFeasibilityStudyReport> collect1 = total.stream().filter(e -> e.getReportType().equals(2)).collect(Collectors.toList());
-        int tempDetail1 = 0;
-        for (TFeasibilityStudyReport tFeasibilityStudyReport : collect1) {
-            if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
-                for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
-                    tempDetail1 += Integer.parseInt(s);
-                }
-            }
-        }
-        tResultWorkEvaluateDetailEngineerVO1.setCount(collect1.size());
-        tResultWorkEvaluateDetailEngineerVO1.setIntegral(tempDetail1);
-        if (!collect1.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO1.setStartTime(collect1.get(0).getEvaluateTime());
-
-            tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size() - 1).getEvaluateTime());
-        }
-
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO1);
-
-        // 开发阶段
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
-        List<Integer> status = new ArrayList<>();
-        status.add(-1);
-        status.add(1);
-        status.add(3);
-        status.add(4);
-        status.add(5);
-        List<TProjectProposal> list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId)
-                .notIn(TProjectProposal::getAuditStatus, status).list();
-        List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
-        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());
-        if (collect6.isEmpty()) {
-            collect6.add("0");
-        }
-        List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().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) {
-                case 1:
-                    tempDetail2 += 2;
-                    break;
-                case 2:
-                    tempDetail2 += 1;
-
-                    break;
-            }
-            Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-            switch (evaluateThree) {
-                case 1:
-                    tempDetail2 += 2;
-
-                    break;
-                case 2:
-                    tempDetail2 += 1;
-                    break;
-            }
-            Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-            switch (evaluateFour) {
-                case 1:
-                    tempDetail2 += 2;
-
-                    break;
-                case 2:
-                    tempDetail2 += 1;
-                    break;
-            }
-            Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-            switch (evaluateFive) {
-                case 1:
-                    tempDetail2 += 2;
-
-                    break;
-                case 2:
-                    tempDetail2 += 1;
-                    break;
-            }
-            Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-            switch (evaluateSix) {
-                case 1:
-                    tempDetail2 -= 3;
-                    break;
-            }
-        }
-        if (!list1.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
-
-            tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
-        }
-
-        tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size());
-        tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
-
-        // 中试试验阶段
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
-
-        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());
-        if (collect8.isEmpty()) {
-            collect8.add("0");
-        }
-
-        List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list();
-        int tempDetail3 = 0;
-        for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
-            Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-            switch (evaluateOne) {
-                case 1:
-
-                    tempDetail3 += 2;
-                    break;
-                case 2:
-                    tempDetail3 += 1;
-
-                    break;
-
-            }
-            Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-            switch (evaluateTwo) {
-                case 1:
-                    tempDetail3 += 2;
-                    break;
-                case 2:
-                    tempDetail3 += 1;
-
-                    break;
-            }
-            Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-            switch (evaluateThree) {
-                case 1:
-                    tempDetail3 += 2;
-
-                    break;
-                case 2:
-                    tempDetail3 += 1;
-                    break;
-            }
-            Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-            switch (evaluateFour) {
-                case 1:
-                    tempDetail3 += 2;
-
-                    break;
-                case 2:
-                    tempDetail3 += 1;
-                    break;
-            }
-            Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-            switch (evaluateFive) {
-                case 1:
-                    tempDetail3 += 2;
-
-                    break;
-                case 2:
-                    tempDetail3 += 1;
-                    break;
-            }
-            Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-            switch (evaluateSix) {
-                case 1:
-                    tempDetail3 -= 3;
-                    break;
-            }
-        }
-        if (!list3.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
-            tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
-        }
-        tResultWorkEvaluateDetailEngineerVO3.setCount(list3.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());
-        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());
-        if (collect11.isEmpty()) {
-            collect11.add("0");
-        }
-        List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
-        int tempDetail4 = 0;
-        for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
-            Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-            switch (evaluateOne) {
-                case 1:
-
-                    tempDetail4 += 2;
-                    break;
-                case 2:
-                    tempDetail4 += 1;
-
-                    break;
-
-            }
-            Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-            switch (evaluateTwo) {
-                case 1:
-                    tempDetail4 += 2;
-                    break;
-                case 2:
-                    tempDetail4 += 1;
-
-                    break;
-            }
-            Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-            switch (evaluateThree) {
-                case 1:
-                    tempDetail4 += 2;
-
-                    break;
-                case 2:
-                    tempDetail4 += 1;
-                    break;
-            }
-            Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-            switch (evaluateFour) {
-                case 1:
-                    tempDetail4 += 2;
-
-                    break;
-                case 2:
-                    tempDetail4 += 1;
-                    break;
-            }
-            Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-            switch (evaluateFive) {
-                case 1:
-                    tempDetail4 += 2;
-
-                    break;
-                case 2:
-                    tempDetail4 += 1;
-                    break;
-            }
-            Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-            switch (evaluateSix) {
-                case 1:
-                    tempDetail4 -= 3;
-                    break;
-            }
-        }
-        if (!list4.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
-            tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
-        }
-        tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
-        tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
-        // 工艺开发工具
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
-        List<TFeasibilityStudyReport> collect12 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
-        int tempDetail15 = 0;
-        for (TFeasibilityStudyReport tFeasibilityStudyReport : collect12) {
-            if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
-                for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
-                    tempDetail15 += Integer.parseInt(s);
-                }
-            }
-        }
-        tResultWorkEvaluateDetailEngineerVO5.setCount(collect12.size());
-        tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail15);
-        if (!collect12.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect12.get(0).getEvaluateTime());
-            tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect12.get(collect12.size() - 1).getEvaluateTime());
-        }
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
-        // 验证与发布
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
-        List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
-        int tempDetail16 = 0;
-        for (TFeasibilityStudyReport tFeasibilityStudyReport : collect13) {
-            if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
-                for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
-                    tempDetail16 += Integer.parseInt(s);
-                }
-            }
-        }
-        tResultWorkEvaluateDetailEngineerVO6.setCount(collect13.size());
-        tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail16);
-        if (!collect13.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect13.get(0).getEvaluateTime());
-            tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect13.get(collect13.size() - 1).getEvaluateTime());
-        }
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6);
-        // 立项报告
-        List<TProjectApprovalReport> list5 = projectApprovalReportService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).eq(TProjectApprovalReport::getTeamId, projectTeam.getId()).eq(TProjectApprovalReport::getStatus, 2).list();
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
-        tResultWorkEvaluateDetailEngineerVO7.setCount(list5.size());
-        if (!list5.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO7.setStartTime(list5.get(0).getAuditTime());
-            tResultWorkEvaluateDetailEngineerVO7.setEndTime(list5.get(list5.size() - 1).getAuditTime());
-        }
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7);
-        // 临床试验积分
-        List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery()
-                .eq(TClinicalTrialPoints::getProcessEngineerId, userId)
-                .eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list();
-        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO8 = new TResultWorkEvaluateDetailEngineerVO();
-        tResultWorkEvaluateDetailEngineerVO8.setCount(list6.size());
-        if (!list6.isEmpty()) {
-            tResultWorkEvaluateDetailEngineerVO8.setStartTime(list6.get(0).getCreateTime());
-            tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size() - 1).getCreateTime());
-        }
-        tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.get(0).getEvaluateScore());
-        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
-        tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
-        return R.ok(tResultWorkEvaluateDetailVO);
+        return R.ok(engineerEvaluateDetail);
     }
 
     @ApiOperation(value = "查看详情-左侧数据-化验师工作内容评定")
@@ -902,293 +485,32 @@
             }
         }
 
-
-        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());
+
             // 开发阶段
-            List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getEvaluateType, 2)
-                    .eq(TResultWorkEvaluate::getStatus, 1)
+            //查询当前team的实验结果评定 集合
+            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                     .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
-                    .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
-            // 调度ids
-            List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
-            if (collect.isEmpty()) {
-                collect.add("0");
-            }
-            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
-            List<Integer> status = new ArrayList<>();
-            status.add(-1);
-            status.add(1);
-            status.add(3);
-            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());
-            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());
-            if (collect5.isEmpty()) {
-                collect5.add("0");
-            }
-            // 开发阶段调度ids
-            List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
-            if (collect1.isEmpty()) {
-                collect1.add("0");
-            }
-            List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList());
-            int tempDetail2 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : collect2) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
+                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
+                    .eq(TResultWorkEvaluate::getEvaluateType, 2)//化验师
+                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
+                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
+                    .list();
 
-                        tempDetail2 += 2;
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
+            workEvaluateCalculateService.getThreeScope(tResultWorkEvaluateList, tResultWorkEvaluateDetailEngineerVOS);
 
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail2 += 2;
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-                        tempDetail2 -= 3;
-                        break;
-                }
-            }
-            if (!list1.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
-
-            }
-            tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.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());
-            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());
-            if (collect8.isEmpty()) {
-                collect8.add("0");
-            }
-            List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
-            int tempDetail3 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
-
-                        tempDetail3 += 2;
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail3 += 2;
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-                        tempDetail3 -= 3;
-                        break;
-                }
-            }
-            if (!list3.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
-            }
-            tResultWorkEvaluateDetailEngineerVO3.setCount(list3.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());
-            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());
-            if (collect11.isEmpty()) {
-                collect11.add("0");
-            }
-            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
-            int tempDetail4 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
-
-                        tempDetail4 += 2;
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail4 += 2;
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-                        tempDetail4 -= 3;
-                        break;
-                }
-            }
-            if (!list4.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
-            }
-            tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
-            tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
-            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
             // 项目检测项评定
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO();
             List<TQaTestItem> list5 = qaTestItemService.lambdaQuery()
-                    .eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
+                    .eq(TQaTestItem::getStatus,3)
+                    .eq(TQaTestItem::getTeamId, projectTeam.getId())
+                    .eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
             if (!list5.isEmpty()){
                 tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime());
                 tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime());
@@ -1206,7 +528,9 @@
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9);
             // 中试、生产验证试验检验分析报告评定
             List<TQaProduceReport> list = qaProduceReportService.lambdaQuery()
-                    .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
+                    .eq(TQaProduceReport::getStatus,3)
+                    .eq(TQaProduceReport::getTeamId, projectTeam.getId())
+                    .eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
             List<TQaProduceReport> collect3 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
             if (!collect3.isEmpty()) {
@@ -1293,287 +617,29 @@
             }
         }
 
-        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
         for (SysUser sysUser : user5) {
+            List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
             TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
             tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
             // 开发阶段
-            List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getEvaluateType, 3)
-                    .eq(TResultWorkEvaluate::getStatus, 1)
+
+            //查询当前team的实验结果评定 集合
+            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                     .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
-                    .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
-            // 调度ids
-            List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
-            if (collect.isEmpty()) {
-                collect.add("0");
-            }
-            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
-            List<Integer> status = new ArrayList<>();
-            status.add(-1);
-            status.add(1);
-            status.add(3);
-            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());
-            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());
-            if (collect5.isEmpty()) {
-                collect5.add("0");
-            }
-            // 开发阶段调度ids
-            List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
-            if (collect1.isEmpty()) {
-                collect1.add("0");
-            }
-            List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList());
-            int tempDetail2 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : collect2) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
+                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
+                    .eq(TResultWorkEvaluate::getEvaluateType, 3)//实验员
+                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
+                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
+                    .list();
 
-                        tempDetail2 += 2;
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
+            workEvaluateCalculateService.getThreeScope(tResultWorkEvaluateList, tResultWorkEvaluateDetailEngineerVOS);
 
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail2 += 2;
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail2 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail2 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-
-                        tempDetail2 -= 3;
-                        break;
-                }
-            }
-            if (!list1.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
-            }
-            tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
-            tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.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());
-            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());
-            if (collect8.isEmpty()) {
-                collect8.add("0");
-            }
-            List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
-                    .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
-            int tempDetail3 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
-
-                        tempDetail3 += 2;
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail3 += 2;
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail3 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail3 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-                        tempDetail3 -= 3;
-                        break;
-                }
-            }
-            if (!list3.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
-            }
-            tResultWorkEvaluateDetailEngineerVO3.setCount(list3.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());
-            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());
-            if (collect11.isEmpty()) {
-                collect11.add("0");
-            }
-            List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
-            int tempDetail4 = 0;
-            for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
-                Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
-                switch (evaluateOne) {
-                    case 1:
-
-                        tempDetail4 += 2;
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-
-                        break;
-
-                }
-                Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
-                switch (evaluateTwo) {
-                    case 1:
-                        tempDetail4 += 2;
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-
-                        break;
-                }
-                Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
-                switch (evaluateThree) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
-                switch (evaluateFour) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
-                switch (evaluateFive) {
-                    case 1:
-                        tempDetail4 += 2;
-
-                        break;
-                    case 2:
-                        tempDetail4 += 1;
-                        break;
-                }
-                Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
-                switch (evaluateSix) {
-                    case 1:
-                        tempDetail4 -= 3;
-                        break;
-                }
-            }
-            if (!list4.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
-                tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
-            }
-            tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
-            tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
-            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
             // 其他任务
-            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list();
+            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery()
+                    .eq(TTesterOtherTask::getTesterId, sysUser.getUserId())
+                    .eq(TTesterOtherTask::getTeamId, projectTeam.getId())
+                    .orderByAsc(TTesterOtherTask::getCreateTime)
+                    .list();
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
             tResultWorkEvaluateDetailEngineerVO5.setCount(list.size());
             if (!list.isEmpty()) {
@@ -1583,7 +649,9 @@
             }
             int temp = 0;
             for (TTesterOtherTask tTesterOtherTask : list) {
-                temp += tTesterOtherTask.getEvaluateScore();
+                if (tTesterOtherTask.getEvaluateScore() != null) {
+                    temp += tTesterOtherTask.getEvaluateScore();
+                }
             }
             tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
@@ -1593,5 +661,6 @@
         tResultWorkEvaluateDetailVO.setTesterList(tResultWorkEvaluateDetailUserVOS);
         return R.ok(tResultWorkEvaluateDetailVO);
     }
+
 }
 

--
Gitblit v1.7.1