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

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java |   87 ++++++++++++++++++++-----------------------
 1 files changed, 41 insertions(+), 46 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 a9abf81..5b6ada6 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
@@ -64,6 +64,8 @@
     private TProjectProposalService projectProposalService;
     @Resource
     private TQaProduceReportService qaProduceReportService;
+    @Resource
+    private TQaTestItemService qaTestItemService;
     private final TProjectTeamService projectTeamService;
     private final TProjectTeamStaffService projectTeamStaffService;
     private final ISysUserService sysUserService;
@@ -323,26 +325,6 @@
         TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1")
                 .one();
         tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
-        List<Long> role4 = projectTeamStaffService.lambdaQuery()
-                .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
-                .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
-        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) {
-                user4.add(sysUser);
-            }
-        }
-        for (Long l : role5) {
-            SysUser sysUser = sysUserService.selectUserById(l);
-            if (sysUser != null) {
-                user5.add(sysUser);
-            }
-        }
         Long userId = one.getUserId();
 
         List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
@@ -382,9 +364,10 @@
         tResultWorkEvaluateDetailEngineerVO1.setCount(collect1.size());
         tResultWorkEvaluateDetailEngineerVO1.setIntegral(tempDetail1);
         if (!collect1.isEmpty()) {
+            tResultWorkEvaluateDetailEngineerVO1.setStartTime(collect1.get(0).getEvaluateTime());
+
             tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size() - 1).getEvaluateTime());
         }
-        tResultWorkEvaluateDetailEngineerVO1.setStartTime(projectTeam.getCreateTime());
 
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO1);
 
@@ -408,11 +391,6 @@
         if (collect6.isEmpty()) {
             collect6.add("0");
         }
-        List<Integer> status1 = new ArrayList<>();
-        status1.add(-1);
-        status1.add(1);
-        status1.add(2);
-        status1.add(4);
         List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect6).list();
         int tempDetail2 = 0;
         for (TResultWorkEvaluate tResultWorkEvaluate : list1) {
@@ -476,9 +454,10 @@
             }
         }
         if (!list1.isEmpty()) {
+            tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
+
             tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
         }
-        tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
 
         tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size());
         tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
@@ -497,11 +476,7 @@
         if (collect8.isEmpty()) {
             collect8.add("0");
         }
-        List<Integer> status2 = new ArrayList<>();
-        status2.add(-1);
-        status2.add(1);
-        status2.add(2);
-        status2.add(4);
+
         List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list();
         int tempDetail3 = 0;
         for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
@@ -694,18 +669,20 @@
         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());
         }
-        tResultWorkEvaluateDetailEngineerVO7.setStartTime(projectTeam.getCreateTime());
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7);
-        // todo 临床试验积分
-        List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery().eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list();
+        // 临床试验积分
+        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.setStartTime(projectTeam.getCreateTime());
         tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
         tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
         return R.ok(tResultWorkEvaluateDetailVO);
@@ -844,8 +821,9 @@
             }
             if (!list1.isEmpty()) {
                 tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
+
             }
-            tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
             tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
             tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
@@ -1018,17 +996,33 @@
             tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
             tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
             tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
-            // todo 项目检测项评定
-
-
+            // 项目检测项评定
+            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO();
+            List<TQaTestItem> list5 = qaTestItemService.lambdaQuery()
+                    .eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
+            if (!list5.isEmpty()){
+                tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime());
+            }
+            int tempDetail9 = 0;
+            for (TQaTestItem tQaTestItem : list5) {
+                if (StringUtils.hasLength(tQaTestItem.getEvaluateScore())){
+                    for (String s : tQaTestItem.getEvaluateScore().split(",")){
+                        tempDetail9 += Integer.parseInt(s);
+                    }
+                }
+            }
+            tResultWorkEvaluateDetailEngineerVO9.setCount(list5.size());
+            tResultWorkEvaluateDetailEngineerVO9.setIntegral(tempDetail9);
+            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9);
             // 中试、生产验证试验检验分析报告评定
             List<TQaProduceReport> list = qaProduceReportService.lambdaQuery()
                     .eq(TQaProduceReport::getStatus,3).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()) {
-                tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect3.get(0).getCreateTime());
-                tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect3.get(collect3.size() - 1).getCreateTime());
+                tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect3.get(0).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect3.get(collect3.size() - 1).getEvaluateTime());
             }
             int tempDetail5 = 0;
             for (TQaProduceReport tQaProduceReport : collect3) {
@@ -1045,8 +1039,8 @@
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
             List<TQaProduceReport> collect4 = list.stream().filter(e -> e.getReportType() == 2).collect(Collectors.toList());
             if (!collect4.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect4.get(0).getCreateTime());
-                tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect4.get(collect4.size() - 1).getCreateTime());
+                tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect4.get(0).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect4.get(collect4.size() - 1).getEvaluateTime());
             }
             int tempDetail6 = 0;
             for (TQaProduceReport tQaProduceReport : collect4) {
@@ -1063,8 +1057,8 @@
             TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
             List<TQaProduceReport> collect9 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
             if (!collect9.isEmpty()) {
-                tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getCreateTime());
-                tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getCreateTime());
+                tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getEvaluateTime());
+                tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getEvaluateTime());
             }
             int tempDetail7 = 0;
             for (TQaProduceReport tQaProduceReport : collect9) {
@@ -1406,6 +1400,7 @@
             tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
             tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
         }
+        tResultWorkEvaluateDetailVO.setTesterList(tResultWorkEvaluateDetailUserVOS);
         return R.ok(tResultWorkEvaluateDetailVO);
     }
 }

--
Gitblit v1.7.1