From 9c9a91d2724c9a158fe4e95a8fbda6340459f8b4 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 19 五月 2025 14:36:59 +0800
Subject: [PATCH] 测评接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java                   |   10 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java         |   44 +++++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java |   34 ++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java               |   18 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java                   |   10 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java   |   10 +-
 ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml                       |   31 +++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java      |    9 ++
 ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml                  |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java               |    6 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java                 |    7 +
 11 files changed, 170 insertions(+), 12 deletions(-)

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 aee0c0d..28c9ac8 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
@@ -10,6 +10,7 @@
 import com.ruoyi.common.enums.QATestItemStatusEnum;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.TQaTestItemDTO;
+import com.ruoyi.system.dto.TQaTestItemEvaluateDTO;
 import com.ruoyi.system.model.TProjectTeamStaff;
 import com.ruoyi.system.model.TQaTestItem;
 import com.ruoyi.system.model.TQaTestItemReport;
@@ -26,6 +27,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -77,6 +79,29 @@
             }
         }
         return R.ok(qaTestItemService.pageList(query));
+    }
+
+    /**
+     * 获取QA检测项管理评定列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluateList')")
+    @ApiOperation(value = "获取QA检测项管理评定列表",  response = TQaTestItemQuery.class)
+    @PostMapping(value = "/api/t-qa-test-item/evaluateList")
+    public R<PageInfo<TQaTestItemVO>> evaluateList(@RequestBody String param) {
+        TQaTestItemQuery query = JSON.parseObject(param, TQaTestItemQuery.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        if(roleType != 1){
+            // 查询用户所在项目组
+            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId));
+            if(projectTeamStaffs.size() > 0){
+                // 查询项目组id
+                List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
+                query.setTeamIds(teamIds);
+            }
+        }
+        return R.ok(qaTestItemService.evaluateList(query));
     }
 
     /**
@@ -161,5 +186,24 @@
         return R.ok();
     }
 
+    /**
+     * 评定QA检测项管理
+     */
+    //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')")
+    @Log(title = "QA检测项管理信息-评定QA检测项管理", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "评定QA检测项管理",response = TQaTestItemEvaluateDTO.class)
+    @PostMapping(value = "/api/t-qa-test-item/evaluate")
+    public R<Boolean> evaluate(@RequestBody String param) {
+        TQaTestItemEvaluateDTO dto = JSON.parseObject(param,TQaTestItemEvaluateDTO.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        TQaTestItem testItem = qaTestItemService.getById(dto);
+        testItem.setStatus(QATestItemStatusEnum.EVALUATED.getCode());
+        testItem.setEvaluatePersonId(userId);
+        testItem.setEvaluateTime(LocalDateTime.now());
+        testItem.setEvaluateScore(dto.getEvaluateScore());
+        qaTestItemService.updateById(testItem);
+        return R.ok();
+    }
+
 }
 
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 288106f..986e677 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
@@ -13,8 +13,10 @@
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.AuditStatusDTO;
 import com.ruoyi.system.dto.TQaTestItemReportDTO;
-import com.ruoyi.system.mapper.TQaReportFileMapper;
-import com.ruoyi.system.model.*;
+import com.ruoyi.system.model.TProjectTeam;
+import com.ruoyi.system.model.TProjectTeamStaff;
+import com.ruoyi.system.model.TQaReportFile;
+import com.ruoyi.system.model.TQaTestItemReport;
 import com.ruoyi.system.query.TQaTestItemReportQuery;
 import com.ruoyi.system.service.TProjectTeamService;
 import com.ruoyi.system.service.TProjectTeamStaffService;
@@ -25,13 +27,11 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -74,7 +74,7 @@
     /**
      * 获取QA检测项报告管理列表
      */
-    @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用")
+    @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)
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 ee66470..65e5600 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
@@ -1,22 +1,52 @@
 package com.ruoyi.web.controller.api;
 
 
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.dto.TQaTestItemDTO;
+import com.ruoyi.system.service.TResultWorkEvaluateService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- * 实验员工作评定 前端控制器
+ * 实验结果工作评定 前端控制器
  * </p>
  *
  * @author xiaochen
  * @since 2025-04-08
  */
-@Api(tags = "实验员工作评定管理")
+@Api(tags = "实验结果工作评定管理")
 @RestController
 @RequestMapping("/t-result-work-evaluate")
 public class TResultWorkEvaluateController {
 
+    private final TResultWorkEvaluateService resultWorkEvaluateService;
+
+    @Autowired
+    public TResultWorkEvaluateController(TResultWorkEvaluateService resultWorkEvaluateService) {
+        this.resultWorkEvaluateService = resultWorkEvaluateService;
+    }
+
+    /**
+     * 添加QA检测项管理管理
+     */
+    //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')")
+    @Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "添加QA检测项管理",response = TQaTestItemDTO.class)
+    @PostMapping(value = "/api/t-qa-test-item/add")
+    public R<Boolean> add(@RequestBody String param) {
+        TQaTestItemDTO dto = JSON.parseObject(param,TQaTestItemDTO.class);
+//        resultWorkEvaluateService.save(dto);
+        return R.ok();
+    }
+
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java
new file mode 100644
index 0000000..7546733
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java
@@ -0,0 +1,18 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "QA检测项评定DTO")
+public class TQaTestItemEvaluateDTO implements Serializable {
+
+    @ApiModelProperty(value = "检测项id")
+    private String id;
+
+    @ApiModelProperty(value = "评定分数  逗号分隔")
+    private String evaluateScore;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java
index 5ad0099..94e4aa8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java
@@ -26,4 +26,11 @@
      * @return
      */
     List<TQaTestItemVO> pageList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo);
+    /**
+     * 分页查询QA检测项
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TQaTestItemVO> evaluateList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java
index 83c900e..9d37d1d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.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;
 
 /**
@@ -34,6 +36,10 @@
     @TableField("team_id")
     private String teamId;
 
+    @ApiModelProperty(value = "提交用户id、化验师")
+    @TableField("commit_person_id")
+    private Long commitPersonId;
+
     @ApiModelProperty(value = "报告标题")
     @TableField("report_title")
     private String reportTitle;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java
index cae200b..1d17eea 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.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;
 
 /**
@@ -34,6 +36,10 @@
     @TableField("team_id")
     private String teamId;
 
+    @ApiModelProperty(value = "实验员id")
+    @TableField("tester_id")
+    private Long testerId;
+
     @ApiModelProperty(value = "任务内容")
     @TableField("task_content")
     private String taskContent;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java
index 0f0c198..0522acd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java
@@ -22,4 +22,10 @@
      * @return
      */
     PageInfo<TQaTestItemVO> pageList(TQaTestItemQuery query);
+    /**
+     * 分页查询QA检测项管理
+     * @param query
+     * @return
+     */
+    PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java
index 29efb27..898720a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java
@@ -29,4 +29,13 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+
+    @Override
+    public PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query) {
+        PageInfo<TQaTestItemVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TQaTestItemVO> list = this.baseMapper.evaluateList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
+
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
index 4b0f0fd..859f822 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
@@ -54,4 +54,35 @@
         ORDER BY tqti.create_time DESC
     </select>
 
+    <select id="evaluateList" resultType="com.ruoyi.system.vo.TQaTestItemVO">
+        select tqti.id, tqti.team_id, tqti.item_name, tqti.item_code, tqti.remark, tqti.status, tqti.evaluate_person_id,
+        tqti.evaluate_time, tqti.evaluate_score, tqti.create_time, tqti.update_time, tqti.create_by, tqti.update_by, tqti.disabled,
+        tpt.team_name as teamName
+        from t_qa_test_item tqti
+        left join t_project_team tpt on tpt.id = tqti.team_id
+        <where>
+            <if test="query.teamName != null and query.teamName != ''">
+                and tpt.team_name like concat('%', #{query.teamName}, '%')
+            </if>
+            <if test="query.itemName != null and query.itemName != ''">
+                and tqti.item_name like concat('%', #{query.itemName}, '%')
+            </if>
+            <if test="query.itemCode != null and query.itemCode != ''">
+                and tqti.item_code like concat('%', #{query.itemCode})
+            </if>
+            <if test="query.status != null">
+                and tqti.status = #{query.status}
+            </if>
+            <if test="query.teamIds != null and query.teamIds.size() > 0">
+                and tqti.team_id in
+                <foreach collection="query.teamIds" item="teamId" open="(" separator="," close=")">
+                    #{teamId}
+                </foreach>
+            </if>
+            AND tqti.status in (2,3)
+            AND tqti.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY tqti.create_time DESC
+    </select>
+
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml
index 84c7199..68220dc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml
@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TTesterOtherTask">
         <id column="id" property="id" />
         <result column="team_id" property="teamId" />
+        <result column="tester_id" property="testerId" />
         <result column="task_content" property="taskContent" />
         <result column="task_time" property="taskTime" />
         <result column="evaluate_score" property="evaluateScore" />
@@ -19,7 +20,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, team_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled
+        id, team_id,tester_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled
     </sql>
 
 </mapper>

--
Gitblit v1.7.1