From ae04ae24862a7ec55504c8d6cd9aaa8adb9b1151 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 08 十二月 2025 16:57:30 +0800
Subject: [PATCH] 实验结果汇报审批驳回,把化验师 QA 专题报告库的审批确认权限从工艺工程师调整为审批人

---
 ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java                |    6 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java        |   21 +++++++---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TExperimentResultReportRejectDTO.java         |   19 +++++++++
 ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml               |    8 +++-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java |   34 +++++++++++++++++
 5 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
index f35eb12..f2fe0f1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.TExperimentResultReportDTO;
+import com.ruoyi.system.dto.TExperimentResultReportRejectDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TExperimentResultReportQuery;
@@ -252,6 +253,39 @@
         return R.ok();
     }
 
+
+    /**
+     * 驳回实验结果汇报
+     */
+    //@PreAuthorize("@ss.hasPermi('system:experimentResultReport:edit')")
+    @Log(title = "实验结果汇报信息-评定工艺工程师实验-驳回实验结果汇报", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "评定工艺工程师实验-驳回实验结果汇报",response = TResultWorkEvaluate.class)
+    @PostMapping(value = "/api/t-experiment-result-report/rejectResult")
+    public R<Boolean> rejectResult(@RequestBody String param) {
+        TExperimentResultReportRejectDTO experimentResultReportRejectDTO = JSON.parseObject(param,TExperimentResultReportRejectDTO.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("当前用户未分配项目组,无法进行评定");
+        }
+        TProjectTeamStaff projectTeamStaff1 = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId())
+                .eq(TProjectTeamStaff::getRoleType, 2)
+                .last("LIMIT 1"));
+        if(Objects.isNull(projectTeamStaff1)){
+            return R.fail("当前项目组未分配审批人,无法进行评定");
+        }
+        // 查询实验结果汇报
+        TExperimentResultReport experimentResultReport = experimentResultReportService.getById(experimentResultReportRejectDTO.getResultReportId());
+        experimentResultReport.setStatus(1);
+        experimentResultReport.setRejectRemark(experimentResultReportRejectDTO.getRejectRemark());
+        experimentResultReportService.updateById(experimentResultReport);
+        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 cb78b55..19f0ed7 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
@@ -210,10 +210,10 @@
         }
         qaReportFileService.saveBatch(qaReportFiles);
 
-        // MESSAGE 添加消息
+        // MESSAGE 添加消息   20251208 将qa报告审核转到审批人
         TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                 .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
-                .eq(TProjectTeamStaff::getRoleType, 3)
+                .eq(TProjectTeamStaff::getRoleType, 2)
                 .last("LIMIT 1"));
         if(Objects.nonNull(teamStaff)){
             Integer reportType = dto.getReportType();
@@ -272,10 +272,10 @@
         if(dto.getStatus() != -1){
             // 查询项目组
             TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId());
-            // MESSAGE 添加消息
+            // MESSAGE 添加消息 20251208 将qa报告审核转到审批人
             TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                     .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
-                    .eq(TProjectTeamStaff::getRoleType, 3)
+                    .eq(TProjectTeamStaff::getRoleType, 2)
                     .last("LIMIT 1"));
             if(Objects.nonNull(teamStaff)){
                 TQaProduceReport qaProduceReport = qaProduceReportService.getById(dto.getId());
@@ -405,17 +405,24 @@
         qaProduceReport.setAuditTime(LocalDateTime.now());
         qaProduceReportService.updateById(qaProduceReport);
 
+        // 查询项目组
+        TProjectTeam projectTeam = projectTeamService.getById(qaProduceReport.getTeamId());
+        // MESSAGE 添加消息 20251208 将qa报告审核转到审批人
+        TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
+                .eq(TProjectTeamStaff::getRoleType, 3)
+                .last("LIMIT 1"));
         // MESSAGE 添加消息
         Integer reportType = qaProduceReport.getReportType();
         switch (reportType) {
             case 1:
-                noticeService.saveNotice(userId, "您有【1】条【中试、生产验证分析报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【中试、生产验证分析报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
                 break;
             case 2:
-                noticeService.saveNotice(userId, "您有【1】条【辅料报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【辅料报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
                 break;
             case 3:
-                noticeService.saveNotice(userId, "您有【1】条【产品报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
+                noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【产品报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5);
                 break;
             default:
                 break;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TExperimentResultReportRejectDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TExperimentResultReportRejectDTO.java
new file mode 100644
index 0000000..1464c13
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TExperimentResultReportRejectDTO.java
@@ -0,0 +1,19 @@
+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 = "实验结果报告驳回TExperimentResultReportRejectDTO")
+public class TExperimentResultReportRejectDTO implements Serializable {
+
+    @ApiModelProperty(value = "实验结果报告id")
+    private String resultReportId;
+
+    @ApiModelProperty(value = "驳回理由")
+    private String rejectRemark;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
index 6ec86a2..1d503f1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TExperimentResultReport.java
@@ -80,4 +80,10 @@
     @ApiModelProperty(value = "历史状态")
     @TableField("old_status")
     private Integer oldStatus;
+
+    @ApiModelProperty(value = "驳回原因")
+    @TableField("reject_remark")
+    private String rejectRemark;
+
+
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml
index 58ae63c..2734046 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml
@@ -16,6 +16,8 @@
         <result column="evaluate_six" property="evaluateSix" />
         <result column="evaluate_person_id" property="evaluatePersonId" />
         <result column="evaluate_time" property="evaluateTime" />
+        <result column="old_status" property="oldStatus" />
+        <result column="reject_remark" property="rejectRemark" />
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
         <result column="create_by" property="createBy" />
@@ -29,7 +31,8 @@
     </sql>
     <select id="pageList" resultType="com.ruoyi.system.vo.TExperimentResultReportVO">
         select terr.id, terr.dispatch_id, terr.experiment_result, terr.status, terr.evaluate_one, terr.evaluate_two, terr.evaluate_three,
-               terr.evaluate_four, terr.evaluate_five, terr.evaluate_six, terr.evaluate_person_id, terr.evaluate_time, terr.create_time,
+               terr.evaluate_four, terr.evaluate_five, terr.evaluate_six, terr.evaluate_person_id, terr.evaluate_time, terr.old_status,
+               terr.reject_remark,terr.create_time,
                terr.update_time, terr.create_by, terr.update_by, terr.disabled, tpp.project_name AS projectName,
                ted.experiment_code AS experimentCode, ted.experiment_name AS experimentName
         from t_experiment_result_report terr
@@ -69,7 +72,8 @@
     </select>
     <select id="evaluatePageList" resultType="com.ruoyi.system.vo.TExperimentResultReportVO">
         select terr.id, terr.dispatch_id, terr.experiment_result, terr.status, terr.evaluate_one, terr.evaluate_two, terr.evaluate_three,
-        terr.evaluate_four, terr.evaluate_five, terr.evaluate_six, terr.evaluate_person_id, terr.evaluate_time, terr.create_time,
+        terr.evaluate_four, terr.evaluate_five, terr.evaluate_six, terr.evaluate_person_id, terr.evaluate_time, terr.old_status,
+        terr.reject_remark,terr.create_time,
         terr.update_time, terr.create_by, terr.update_by, terr.disabled, tpp.project_name AS projectName,
         ted.experiment_code AS experimentCode, ted.experiment_name AS experimentName
         from t_experiment_result_report terr

--
Gitblit v1.7.1