From dce5c9fab2fdac117fef79adec99d010ed9a8d9b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 20 五月 2025 09:28:31 +0800
Subject: [PATCH] 项目总积分

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java |  312 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 312 insertions(+), 0 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 bb3bafc..6cf0a33 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
@@ -1002,5 +1002,317 @@
         tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS);
         return R.ok(tResultWorkEvaluateDetailVO);
     }
+    @ApiOperation(value = "查看详情-左侧数据-实验员工作内容评定")
+    @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftThree")
+    public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftThree(@RequestParam String id) {
+        TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
+        List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>();
+        TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
+        TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
+        tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
+        List<Long> role5 = projectTeamStaffService.lambdaQuery()
+                .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
+                .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
+        List<SysUser> user5 = new ArrayList<>();
+        SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
+        if (sysUser1.getRoleType()==4||sysUser1.getRoleType()==5){
+            //只能查看自己的
+            user5.add(sysUser1);
+        }else{
+            for (Long l : role5) {
+                SysUser sysUser = sysUserService.selectUserById(l);
+                if (sysUser != null) {
+                    user5.add(sysUser);
+                }
+            }
+        }
+
+        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
+        for (SysUser sysUser : user5) {
+            TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
+            tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
+            // 开发阶段
+            List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
+                    .eq(TResultWorkEvaluate::getEvaluateType,3)
+                    .eq(TResultWorkEvaluate::getStatus,1)
+                    .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:
+
+                        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.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);
+            // 工艺开发工具
+
+
+            tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
+            tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
+        }
+        tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS);
+        return R.ok(tResultWorkEvaluateDetailVO);
+    }
 }
 

--
Gitblit v1.7.1