From 7e9fea768cf8ef436c6378bf29170523721bfc77 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 25 六月 2025 20:04:26 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java                 |    2 
 ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml                        |    9 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java        |   10 +-
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java                  |    8 +
 ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java                         |    7 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java    |    6 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java           |   11 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java                |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java |   62 ++++++++++++
 ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml                        |    4 
 ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml                      |   17 ++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java       |    5 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java                                |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java                |   14 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java    |   11 ++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java                    |   18 +++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java                |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java                        |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java                  |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java          |   34 +++---
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java                    |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java     |   19 ++-
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java                       |    3 
 23 files changed, 214 insertions(+), 48 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java
index a755792..8e9b53a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java
@@ -284,6 +284,10 @@
         List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
         feasibilityStudyReportVO.setStaffNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(",")));
         feasibilityStudyReportVO.setProjectTeam(projectTeam);
+        SysUser sysUser = sysUserService.selectUserById(feasibilityStudyReport.getAuditPersonId());
+        if(Objects.nonNull(sysUser)){
+            feasibilityStudyReportVO.setAuditPersonName(sysUser.getNickName());
+        }
         return R.ok(feasibilityStudyReportVO);
     }
 
@@ -322,7 +326,7 @@
     @PutMapping(value = "/open/t-feasibility-study-report/revokedReport")
     public R<Boolean> revokedReport(@RequestParam String id) {
         TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(id);
-        feasibilityStudyReport.setStatus(FeasibilityStudyReportStatusEnum.REVOKED.getCode());
+        feasibilityStudyReport.setStatus(FeasibilityStudyReportStatusEnum.DRAFTS.getCode());
         feasibilityStudyReportService.updateById(feasibilityStudyReport);
         return R.ok();
     }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java
index a771b69..c10266a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java
@@ -7,7 +7,10 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.enums.*;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.enums.QAProduceReportStatusEnum;
+import com.ruoyi.common.enums.QaReportFileEnum;
+import com.ruoyi.common.enums.QaReportTypeEnum;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.AuditStatusDTO;
 import com.ruoyi.system.dto.TQaProduceReportDTO;
@@ -23,6 +26,7 @@
 import com.ruoyi.system.vo.TQaProduceReportVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -42,6 +46,7 @@
  * @author xiaochen
  * @since 2025-04-08
  */
+@Slf4j
 @Api(tags = "中试、生产验证分析报告;辅料;产品报告管理")
 @RestController
 @RequestMapping("")
@@ -369,7 +374,7 @@
      */
     //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')")
     @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-评定中试、生产验证分析报告;辅料;产品报告管理信息", businessType = BusinessType.UPDATE)
-    @ApiOperation(value = "评定QA检测项管理",response = TQaProduceReportEvaluateDTO.class)
+    @ApiOperation(value = "评定中试、生产验证分析报告;辅料;产品报告管理信息",response = TQaProduceReportEvaluateDTO.class)
     @PostMapping(value = "/api/t-qa-produce-report/evaluate")
     public R<Boolean> evaluate(@RequestBody String param) {
         TQaProduceReportEvaluateDTO dto = JSON.parseObject(param,TQaProduceReportEvaluateDTO.class);
@@ -382,6 +387,6 @@
         qaProduceReportService.updateById(qaProduceReport);
         return R.ok();
     }
-    
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java
index cee8003..f7e0446 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java
@@ -34,6 +34,7 @@
 
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -149,6 +150,12 @@
         BeanUtils.copyProperties(testItem, testItemVO);
         // 查询QA检测项检测报告
         List<TQaTestItemReportVO> qaTestItemReportVOS= qaTestItemReportService.getList(id);
+        for (TQaTestItemReportVO qaTestItemReportVO : qaTestItemReportVOS) {
+            SysUser sysUser = sysUserMapper.selectUserById(qaTestItemReportVO.getAuditPersonId());
+            if(Objects.nonNull(sysUser)){
+                qaTestItemReportVO.setAuditPersonName(sysUser.getNickName());
+            }
+        }
         testItemVO.setQaTestItemReportList(qaTestItemReportVOS);
         // 查询项目组名称
         TProjectTeam projectTeam = projectTeamService.getById(testItemVO.getTeamId());
@@ -167,6 +174,11 @@
                 });
             }
             projectTeamVO.setStaffs(list);
+        }
+        // 查询评定人名称
+        SysUser sysUser = sysUserMapper.selectUserById(testItem.getEvaluatePersonId());
+        if (Objects.nonNull(sysUser)) {
+            testItemVO.setEvaluatePersonName(sysUser.getNickName());
         }
         testItemVO.setProjectTeamVO(projectTeamVO);
         return R.ok(testItemVO);
@@ -222,7 +234,7 @@
     public R<Boolean> evaluate(@RequestBody String param) {
         TQaTestItemEvaluateDTO dto = JSON.parseObject(param,TQaTestItemEvaluateDTO.class);
         Long userId = tokenService.getLoginUser().getUserId();
-        TQaTestItem testItem = qaTestItemService.getById(dto);
+        TQaTestItem testItem = qaTestItemService.getById(dto.getId());
         testItem.setStatus(QATestItemStatusEnum.EVALUATED.getCode());
         testItem.setEvaluatePersonId(userId);
         testItem.setEvaluateTime(LocalDateTime.now());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java
index 9c08610..3b8e640 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java
@@ -90,9 +90,17 @@
      */
     @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用、评定使用")
     @GetMapping(value = "/open/t-qa-test-item-report/getListByItemId")
-    public R<List<TQaTestItemReport>> getListByItemId(@RequestParam String itemId) {
-        List<TQaTestItemReport> list = qaTestItemReportService.list(Wrappers.lambdaQuery(TQaTestItemReport.class)
-                .eq(TQaTestItemReport::getItemId, itemId));
+    public R<List<TQaTestItemReportVO>> getListByItemId(@RequestParam String itemId) {
+        List<TQaTestItemReportVO> list = qaTestItemReportService.getListByItemId(itemId);
+        if(!CollectionUtils.isEmpty(list)){
+            List<SysUser> sysUsers = sysUserService.selectList();
+            list.forEach(itemReport -> {
+                SysUser sysUser = sysUsers.stream().filter(user -> user.getUserId().equals(itemReport.getAuditPersonId())).findFirst().orElse(null);
+                if(Objects.nonNull(sysUser)){
+                    itemReport.setAuditPersonName(sysUser.getNickName());
+                }
+            });
+        }
         return R.ok(list);
     }
 
@@ -105,16 +113,8 @@
     @PostMapping(value = "/api/t-qa-test-item-report/add")
     public R<Boolean> add(@RequestBody String param) {
         TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class);
-        // 通过当前用户查询项目组
-        Long userId = tokenService.getLoginUser().getUserId();
-        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
-                .eq(TProjectTeamStaff::getUserId, userId)
-                .last("LIMIT 1"));
-        if(Objects.isNull(projectTeamStaff)){
-            return R.fail("当前用户未分配项目组,无法创建项目课题方案");
-        }
         // 查询项目组
-        TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId());
+        TProjectTeam projectTeam = projectTeamService.getById(dto.getItemId());
         if(Objects.isNull(projectTeam)){
             return R.fail("项目组不存在");
         }
@@ -133,11 +133,13 @@
         qaTestItemReportService.save(dto);
         // 添加检测报告文件
         List<TQaReportFile> qaReportFiles = dto.getQaReportFiles();
-        for (TQaReportFile qaReportFile : qaReportFiles) {
-            qaReportFile.setReportId(dto.getId());
-            qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode());
+        if(!CollectionUtils.isEmpty(qaReportFiles)){
+            for (TQaReportFile qaReportFile : qaReportFiles) {
+                qaReportFile.setReportId(dto.getId());
+                qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode());
+            }
+            qaReportFileService.saveBatch(qaReportFiles);
         }
-        qaReportFileService.saveBatch(qaReportFiles);
         return R.ok();
     }
 
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 4074a98..4e23bda 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
@@ -11,7 +11,6 @@
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.dto.TQaTestItemDTO;
 import com.ruoyi.system.dto.TResultWorkEvaluateDTO;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.ResultEvaluateChemistTesterQuery;
@@ -125,11 +124,10 @@
      */
     //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')")
     @Log(title = "实验结果工作评定管理-新增化验师、实验员工作评定", businessType = BusinessType.INSERT)
-    @ApiOperation(value = "新增化验师、实验员工作评定", response = TQaTestItemDTO.class)
+    @ApiOperation(value = "新增化验师、实验员工作评定", response = TResultWorkEvaluateDTO.class)
     @PostMapping(value = "/api/t-result-work-evaluate/add")
     public R<Boolean> add(@RequestBody String param) {
         TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class);
-
         tResultWorkEvaluateService.save(dto);
         return R.ok();
     }
@@ -150,7 +148,8 @@
             List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
             return R.ok(sysUsers);
         }
-        return R.ok();
+        List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+        return R.ok(sysUsers);
     }
     /**
      * 查询可评定的实验员
@@ -168,7 +167,8 @@
             List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
             return R.ok(sysUsers);
         }
-        return R.ok();
+        List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+        return R.ok(sysUsers);
     }
 
     /**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java
index 5a18d8e..a079a3d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java
@@ -215,11 +215,22 @@
         if(Objects.nonNull(experimentDispatch)){
             testMethodConfirmSheetVO.setExperimentName(experimentDispatch.getExperimentName());
             testMethodConfirmSheetVO.setExperimentCode(experimentDispatch.getExperimentCode());
+            testMethodConfirmSheetVO.setExperimentStartTime(experimentDispatch.getExperimentStartTime());
+            testMethodConfirmSheetVO.setExperimentEndTime(experimentDispatch.getExperimentEndTime());
+            testMethodConfirmSheetVO.setExperimentDate(experimentDispatch.getExperimentDate());
             // 查询项目课题方案
             TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId());
             if(Objects.nonNull(projectProposal)){
                 testMethodConfirmSheetVO.setProjectName(projectProposal.getProjectName());
             }
+            // 查询参与人员
+            List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                    .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId()));
+            List<Long> userIds = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList());
+            List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
+            String participantsName = sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(";"));
+            testMethodConfirmSheetVO.setParticipantsName(participantsName);
+            testMethodConfirmSheetVO.setStatus(experimentDispatch.getStatus());
         }
 
         // 查询审核人姓名
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
index 6b5aefe..d1f2ea0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
@@ -50,10 +50,8 @@
         //  获取登录信息
         String userName = SecurityUtils.getLoginUser().getUser().getNickName();
         if (StringUtils.isNotBlank(userName)){
-            this.setFieldValByName("createBy", userName, metaObject);
             this.setFieldValByName("updateBy", userName, metaObject);
         } else {
-            this.setFieldValByName("createBy", userName, metaObject);
             this.setFieldValByName("updateBy", userName, metaObject);
         }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java
index d1e7e79..e41f96c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java
@@ -33,4 +33,12 @@
      * @return
      */
     List<TQaTestItemReportVO> pageList(@Param("query")TQaTestItemReportQuery query, @Param("pageInfo")PageInfo<TQaTestItemReportVO> pageInfo);
+
+
+    /**
+     * 获取列表
+     * @param itemId
+     * @return
+     */
+    List<TQaTestItemReportVO> getListByItemId(@Param("itemId")String itemId);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java
index 3708ce1..737d49a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java
@@ -1,6 +1,9 @@
 package com.ruoyi.system.model;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseModel;
 import io.swagger.annotations.ApiModel;
@@ -8,7 +11,6 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
@@ -71,5 +73,4 @@
     @ApiModelProperty(value = "状态  -1=草稿箱 1=待审核 2=已通过 3=已驳回 4=已撤销")
     @TableField("status")
     private Integer status;
-
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java
index e85674a..b7fdeba 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java
@@ -13,6 +13,8 @@
 
     @ApiModelProperty(value = "项目组名称")
     private String teamName;
+    @ApiModelProperty(value = "所属项目课题")
+    private String projectName;
     @ApiModelProperty(value = "实验编号")
     private String experimentCode;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java
index 49a7e2c..662773b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java
@@ -31,4 +31,11 @@
      * @return
      */
     PageInfo<TQaTestItemReportVO> pageList(TQaTestItemReportQuery query);
+
+    /**
+     * 获取检测项报告列表
+     * @param itemId
+     * @return
+     */
+    List<TQaTestItemReportVO> getListByItemId(String itemId);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java
index 1cb7ac3..1b14d7b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java
@@ -117,6 +117,68 @@
     public PageInfo<TExperimentResultReportVO> evaluatePageList(TExperimentResultReportQuery query) {
         PageInfo<TExperimentResultReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TExperimentResultReportVO> list = this.baseMapper.evaluatePageList(query,pageInfo);
+        if(CollectionUtils.isEmpty(list)){
+            return pageInfo;
+        }
+        List<String> dispatchIds = list.stream().map(TExperimentResultReportVO::getDispatchId).distinct().collect(Collectors.toList());
+        // 查询参与人员
+        List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsMapper.selectList(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                .in(TExperimentDispatchParticipants::getDispatchId, dispatchIds));
+
+        // 设置参与人员名称
+        List<Long> userIds = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).collect(Collectors.toList());
+        List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
+        tExperimentDispatchParticipants.forEach(tExperimentDispatchParticipant -> {
+            SysUser sysUser = sysUsers.stream().filter(user -> user.getUserId().equals(tExperimentDispatchParticipant.getUserId())).findFirst().orElse(null);
+            if(sysUser != null){
+                tExperimentDispatchParticipant.setNickName(sysUser.getNickName());
+                tExperimentDispatchParticipant.setAvatar(sysUser.getAvatar());
+            }
+        });
+
+        List<String> ids = list.stream().map(TExperimentResultReportVO::getId).distinct().collect(Collectors.toList());
+        // 查询结果汇报评价
+        List<TResultWorkEvaluate> resultWorkEvaluates = resultWorkEvaluateMapper.selectList(Wrappers.lambdaQuery(TResultWorkEvaluate.class)
+                .in(TResultWorkEvaluate::getResultReportId, ids));
+        for (TExperimentResultReportVO experimentResultReportVO : list) {
+            experimentResultReportVO.setExperimentDispatchParticipants(tExperimentDispatchParticipants.stream().filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId())).collect(Collectors.toList()));
+            experimentResultReportVO.setResultWorkEvaluates(resultWorkEvaluates.stream().filter(evaluate -> evaluate.getResultReportId().equals(experimentResultReportVO.getId())).collect(Collectors.toList()));
+            // 设置工艺工程师名称
+            TExperimentDispatchParticipants dispatchParticipants = tExperimentDispatchParticipants.stream()
+                    .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId())
+                            && participants.getRoleType().equals(3)).findFirst().orElse(null);
+            if(dispatchParticipants != null){
+                experimentResultReportVO.setProcessEngineerName(dispatchParticipants.getNickName());
+            }
+            // 设置化验师名称
+            List<TExperimentDispatchParticipants> laboratoryChemist = tExperimentDispatchParticipants.stream()
+                    .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId())
+                            && participants.getRoleType().equals(4)).collect(Collectors.toList());
+            List<TResultWorkEvaluate> chemistEvaluates = resultWorkEvaluates.stream()
+                    .filter(workEvaluate -> workEvaluate.getDispatchId().equals(experimentResultReportVO.getDispatchId())
+                            && workEvaluate.getEvaluateType().equals(2)).collect(Collectors.toList());
+            if(laboratoryChemist.size() == chemistEvaluates.size()){
+                experimentResultReportVO.setLaboratoryChemistEvaluate(1);
+            }
+            if(!CollectionUtils.isEmpty(laboratoryChemist)){
+                String laboratoryChemistName = laboratoryChemist.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(","));
+                experimentResultReportVO.setLaboratoryChemistName(laboratoryChemistName);
+            }
+            // 设置实验员名称
+            List<TExperimentDispatchParticipants> experimenter = tExperimentDispatchParticipants.stream()
+                    .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId())
+                            && participants.getRoleType().equals(5)).collect(Collectors.toList());
+            List<TResultWorkEvaluate> experimenterEvaluates = resultWorkEvaluates.stream()
+                    .filter(workEvaluate -> workEvaluate.getDispatchId().equals(experimentResultReportVO.getDispatchId())
+                            && workEvaluate.getEvaluateType().equals(3)).collect(Collectors.toList());
+            if(experimenter.size() == experimenterEvaluates.size()){
+                experimentResultReportVO.setExperimenterEvaluate(1);
+            }
+            if(!CollectionUtils.isEmpty(experimenter)){
+                String experimenterName = experimenter.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(","));
+                experimentResultReportVO.setExperimenterName(experimenterName);
+            }
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java
index 9edac03..a868ce5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java
@@ -56,4 +56,9 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+
+    @Override
+    public List<TQaTestItemReportVO> getListByItemId(String itemId) {
+        return this.baseMapper.getListByItemId(itemId);
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java
index d9fdaf0..6c4e043 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java
@@ -19,6 +19,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -253,9 +254,12 @@
             if(!CollectionUtils.isEmpty(userIds)){
                 List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
                 for (ResultEvaluateChemistTesterVO resultEvaluateChemistTesterVO : list) {
-                    sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(resultEvaluateChemistTesterVO.getParticipantsId())).findFirst().ifPresent(sysUser -> {
-                        resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName());
-                    });
+                    TExperimentDispatchParticipants dispatchParticipants = experimentDispatchParticipants.stream().filter(experimentDispatchParticipant -> experimentDispatchParticipant.getDispatchId().equals(resultEvaluateChemistTesterVO.getDispatchId())).findFirst().orElse(null);
+                    if(Objects.nonNull(dispatchParticipants)){
+                        sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(dispatchParticipants.getUserId())).findFirst().ifPresent(sysUser -> {
+                            resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName());
+                        });
+                    }
                 }
             }
         }
@@ -277,9 +281,12 @@
             if(!CollectionUtils.isEmpty(userIds)){
                 List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
                 for (ResultEvaluateChemistTesterVO resultEvaluateChemistTesterVO : list) {
-                    sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(resultEvaluateChemistTesterVO.getParticipantsId())).findFirst().ifPresent(sysUser -> {
-                        resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName());
-                    });
+                    TExperimentDispatchParticipants dispatchParticipants = experimentDispatchParticipants.stream().filter(experimentDispatchParticipant -> experimentDispatchParticipant.getDispatchId().equals(resultEvaluateChemistTesterVO.getDispatchId())).findFirst().orElse(null);
+                    if(Objects.nonNull(dispatchParticipants)){
+                        sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(dispatchParticipants.getUserId())).findFirst().ifPresent(sysUser -> {
+                            resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName());
+                        });
+                    }
                 }
             }
         }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java
index 48818d2..bacf06c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -48,5 +49,7 @@
     @ApiModelProperty(value = "评定时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime evaluateTime;
-
+    @ApiModelProperty(value = "评定分数 json")
+    @TableField("result_evaluate_json")
+    private String resultEvaluateJson;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java
index e544f0d..64d7410 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java
@@ -18,5 +18,6 @@
 
     @ApiModelProperty(value = "总分")
     private Double totalScore;
-
+    @ApiModelProperty(value = "项目组名称")
+    private String teamName;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java
index 5ab1ed8..8d90194 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java
@@ -28,6 +28,9 @@
     @ApiModelProperty(value = "评定人员名称")
     private String evaluatePersonName;
 
+    @ApiModelProperty(value = "审核人员名称")
+    private String auditPersonName;
+
     @ApiModelProperty(value = "报告文件")
     private List<TFeasibilityReportFile> feasibilityReportFiles;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java
index 73fdbf9..f60a35d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java
@@ -17,6 +17,9 @@
     @ApiModelProperty(value = "项目组名称")
     private String teamName;
 
+    @ApiModelProperty(value = "评价人名称")
+    private String evaluatePersonName;
+
     @ApiModelProperty(value = "检测报告列表")
     private List<TQaTestItemReportVO> qaTestItemReportList;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java
index e55b27e..4373fd8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java
@@ -37,5 +37,7 @@
     private String chemistName;
     @ApiModelProperty(value = "实验员名称")
     private String testerName;
+    @ApiModelProperty(value = "项目课题方案")
+    private String projectName;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java
index 554dbe0..41ddc6d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java
@@ -1,11 +1,13 @@
 package com.ruoyi.system.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.system.model.TTestMethodConfirmSheet;
 import com.ruoyi.system.model.TTestMethodConfirmSheetTerm;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Data
@@ -27,5 +29,21 @@
     @ApiModelProperty(value = "审核人姓名")
     private String auditPersonName;
 
+    @ApiModelProperty(value = "通知时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime experimentDate;
+
+    @ApiModelProperty(value = "实验开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime experimentStartTime;
+
+    @ApiModelProperty(value = "实验结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime experimentEndTime;
+
+    @ApiModelProperty(value = "参与人员名称拼接")
+    private String participantsName;
+    @ApiModelProperty(value = "状态")
+    private Integer status;
 
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml
index b0b5564..1615c19 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml
@@ -50,7 +50,7 @@
                 and tpp.project_name like concat('%', #{query.projectName}, '%')
             </if>
             <if test="query.experimentCode != null and query.experimentCode != ''">
-                and tes.experiment_code like concat('%', #{query.experimentCode}, '%')
+                and ted.experiment_code like concat('%', #{query.experimentCode}, '%')
             </if>
             <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                 AND tes.create_time BETWEEN #{query.startTime} AND #{query.endTime}
@@ -85,7 +85,7 @@
                 and tpp.project_name like concat('%', #{query.projectName}, '%')
             </if>
             <if test="query.experimentCode != null and query.experimentCode != ''">
-                and tes.experiment_code like concat('%', #{query.experimentCode}, '%')
+                and ted.experiment_code like concat('%', #{query.experimentCode}, '%')
             </if>
             <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                 AND tes.create_time BETWEEN #{query.startTime} AND #{query.endTime}
diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml
index ba88585..054e636 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml
@@ -70,5 +70,14 @@
         </where>
         ORDER BY tqtir.create_time DESC
     </select>
+    <select id="getListByItemId" resultType="com.ruoyi.system.vo.TQaTestItemReportVO">
+        select
+        <include refid="Base_Column_List" />
+        from t_qa_test_item_report
+        where item_id = #{itemId}
+        and status in (1,2,3)
+        and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        order by create_time desc
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
index 6b12e4b..a7fbcb6 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
@@ -69,6 +69,9 @@
             <if test="query.teamName != null and query.teamName != ''">
                 and tpp.team_name like concat('%',#{query.teamName},'%')
             </if>
+            <if test="query.projectName != null and query.projectName != ''">
+                and tpp.project_name like concat('%',#{query.projectName},'%')
+            </if>
             <if test="query.experimentCode != null and query.experimentCode != ''">
                 and ted.experiment_code like concat('%',#{query.experimentCode},'%')
             </if>
@@ -81,7 +84,7 @@
             <if test="query.status != null">
                 AND trwe.status = #{query.status}
             </if>
-            <if test="query.teamIds != null and query.teamIds > 0">
+            <if test="query.teamIds != null and query.teamIds.size() > 0">
                 AND trwe.team_id in
                 <foreach collection="query.teamIds" item="id" open="(" separator="," close=")">
                     #{id}
@@ -117,7 +120,7 @@
             <if test="query.status != null">
                 AND trwe.status = #{query.status}
             </if>
-            <if test="query.teamIds != null and query.teamIds > 0">
+            <if test="query.teamIds != null and query.teamIds.size() > 0">
                 AND trwe.team_id in
                 <foreach collection="query.teamIds" item="id" open="(" separator="," close=")">
                     #{id}
@@ -132,12 +135,12 @@
         select trwe.evaluate_time,CASE WHEN trwe.id IS NOT NULL THEN 1 ELSE 0 END AS isEvaluate,trwe.id,
         tedp.id AS participantsId,tpp.project_name AS projectName,tpp.project_stage AS projectStage,
         ted.experiment_code AS experimentCode,ted.experiment_name AS experimentName,su.nick_name AS laboratoryChemistName,
-        tedp.dispatch_id AS dispatchId
+        tedp.dispatch_id AS dispatchId,tedp.result_evaluate_json AS resultEvaluateJson
         from t_experiment_dispatch_participants tedp
         left join t_experiment_dispatch ted on ted.id = tedp.dispatch_id
-        left join t_result_work_evaluate trwe on tedp.id = trwe.dispatch_id and trwe.evaluate_type = 2
+        left join t_result_work_evaluate trwe on ted.id = trwe.dispatch_id and trwe.evaluate_type = 2
         left join t_project_proposal tpp on ted.proposal_id = tpp.id
-        left join sys_user su on tedp.user_id = su.id
+        left join sys_user su on tedp.user_id = su.user_id
         <where>
             <if test="query.experimentCode != null and query.experimentCode != ''">
                 and ted.experiment_code like concat('%',#{query.experimentCode},'%')
@@ -168,9 +171,9 @@
         tedp.dispatch_id AS dispatchId
         from t_experiment_dispatch_participants tedp
         left join t_experiment_dispatch ted on ted.id = tedp.dispatch_id
-        left join t_result_work_evaluate trwe on tedp.id = trwe.dispatch_id and trwe.evaluate_type = 3
+        left join t_result_work_evaluate trwe on ted.id = trwe.dispatch_id and trwe.evaluate_type = 3
         left join t_project_proposal tpp on ted.proposal_id = tpp.id
-        left join sys_user su on tedp.user_id = su.id
+        left join sys_user su on tedp.user_id = su.user_id
         <where>
             <if test="query.experimentCode != null and query.experimentCode != ''">
                 and ted.experiment_code like concat('%',#{query.experimentCode},'%')

--
Gitblit v1.7.1