From 66e89415b0592169ce7e1d1c22c8fd78cc89a83c Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 20 五月 2025 09:47:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportEvaluateDTO.java          |   18 ++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java |    8 ++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.java                        |   10 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java    |   48 ++++++++++++++-
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java            |    7 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java          |    6 ++
 ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml                       |    7 +-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java     |   10 +-
 ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.java           |    9 +-
 ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml                  |   31 ++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java                     |    7 ++
 11 files changed, 142 insertions(+), 19 deletions(-)

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 3d4fcf2..3ed222b 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
@@ -6,13 +6,11 @@
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
-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.common.enums.*;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.AuditStatusDTO;
 import com.ruoyi.system.dto.TQaProduceReportDTO;
+import com.ruoyi.system.dto.TQaProduceReportEvaluateDTO;
 import com.ruoyi.system.model.TProjectTeam;
 import com.ruoyi.system.model.TProjectTeamStaff;
 import com.ruoyi.system.model.TQaProduceReport;
@@ -82,6 +80,29 @@
             }
         }
         return R.ok(qaProduceReportService.pageList(query));
+    }
+
+    /**
+     * 获取中试、生产验证分析报告;辅料;产品报告管理评定列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:qaProduceReport:evaluateList')")
+    @ApiOperation(value = "获取中试、生产验证分析报告;辅料;产品报告管理评定列表",  response = TQaProduceReportQuery.class)
+    @PostMapping(value = "/api/t-qa-produce-report/evaluateList")
+    public R<PageInfo<TQaProduceReportVO>> evaluateList(@RequestBody String param) {
+        TQaProduceReportQuery query = JSON.parseObject(param, TQaProduceReportQuery.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(qaProduceReportService.evaluateList(query));
     }
 
     /**
@@ -265,6 +286,25 @@
         qaProduceReportService.updateById(qaProduceReport);
         return R.ok();
     }
+
+    /**
+     * 评定QA检测项管理
+     */
+    //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')")
+    @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-评定中试、生产验证分析报告;辅料;产品报告管理信息", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "评定QA检测项管理",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);
+        Long userId = tokenService.getLoginUser().getUserId();
+        TQaProduceReport qaProduceReport = qaProduceReportService.getById(dto);
+        qaProduceReport.setStatus(QAProduceReportStatusEnum.EVALUATED.getCode());
+        qaProduceReport.setEvaluatePersonId(userId);
+        qaProduceReport.setEvaluateTime(LocalDateTime.now());
+        qaProduceReport.setEvaluateScore(dto.getEvaluateScore());
+        qaProduceReportService.updateById(qaProduceReport);
+        return R.ok();
+    }
     
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
index b743a66..4990ce4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
@@ -7,10 +7,11 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.enums.QaReportTypeEnum;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.dto.*;
+import com.ruoyi.system.dto.BatchCollectSamplesDTO;
+import com.ruoyi.system.dto.BatchSendSamplesDTO;
+import com.ruoyi.system.dto.TSamplingRecordDTO;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TSamplingRecordQuery;
@@ -20,7 +21,6 @@
 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.text.SimpleDateFormat;
@@ -231,7 +231,7 @@
      */
     //@PreAuthorize("@ss.hasPermi('system:samplingRecord:sendSamples')")
     @Log(title = "取样记录信息-批量送样", businessType = BusinessType.UPDATE)
-    @ApiOperation(value = "批量送样")
+    @ApiOperation(value = "批量送样",response = BatchSendSamplesDTO.class)
     @PostMapping(value = "/open/t-sampling-record/batchSendSamples")
     public R<Boolean> batchSendSamples(@RequestBody String param) {
         BatchSendSamplesDTO batchSendSamplesDTO = JSON.parseObject(param, BatchSendSamplesDTO.class);
@@ -251,7 +251,7 @@
      */
     //@PreAuthorize("@ss.hasPermi('system:samplingRecord:collectSamples')")
     @Log(title = "取样记录信息-批量收样", businessType = BusinessType.UPDATE)
-    @ApiOperation(value = "批量收样")
+    @ApiOperation(value = "批量收样",response = BatchCollectSamplesDTO.class)
     @PostMapping(value = "/open/t-sampling-record/batchCollectSamples")
     public R<Boolean> batchCollectSamples(@RequestBody String param) {
         BatchCollectSamplesDTO batchCollectSamplesDTO = JSON.parseObject(param, BatchCollectSamplesDTO.class);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportEvaluateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportEvaluateDTO.java
new file mode 100644
index 0000000..eb45abe
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportEvaluateDTO.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 = "中试、生产验证分析报告;辅料;产品报告管理信息评定DTO")
+public class TQaProduceReportEvaluateDTO 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/TQaProduceReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java
index a41594c..9bb87a3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java
@@ -26,4 +26,11 @@
      * @return
      */
     List<TQaProduceReportVO> pageList(@Param("query") TQaProduceReportQuery query, @Param("pageInfo")PageInfo<TQaProduceReportVO> pageInfo);
+    /**
+     * 分页查询评定列表
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TQaProduceReportVO> evaluateList(@Param("query") TQaProduceReportQuery query, @Param("pageInfo")PageInfo<TQaProduceReportVO> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.java
index 028f223..a1ecdfb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.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 = "提交人")
+    @TableField("commit_person_id")
+    private Long commitPersonId;
+
     @ApiModelProperty(value = "检测项名称")
     @TableField("item_name")
     private String itemName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.java
index 76ddc0f..88df281 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.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;
 
 /**
@@ -35,9 +37,8 @@
     private String samplingId;
 
     @ApiModelProperty(value = "工艺时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField("process_time")
-    private LocalDateTime processTime;
+    private String processTime;
 
     @ApiModelProperty(value = "取样名称")
     @TableField("sampling_name")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java
index 0a580c8..fba8c4d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java
@@ -22,4 +22,10 @@
      * @return
      */
     PageInfo<TQaProduceReportVO> pageList(TQaProduceReportQuery query);
+    /**
+     * 获取中试、生产验证分析报告;辅料;产品报告管理分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java
index 7834bc1..7d42e53 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java
@@ -6,7 +6,6 @@
 import com.ruoyi.system.model.TQaProduceReport;
 import com.ruoyi.system.query.TQaProduceReportQuery;
 import com.ruoyi.system.service.TQaProduceReportService;
-import com.ruoyi.system.vo.TExperimentResultReportVO;
 import com.ruoyi.system.vo.TQaProduceReportVO;
 import org.springframework.stereotype.Service;
 
@@ -30,4 +29,11 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+    @Override
+    public PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query) {
+        PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TQaProduceReportVO> list = this.baseMapper.evaluateList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java
index b861bdc..ee24934 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java
@@ -12,7 +12,14 @@
 @Data
 @ApiModel(value = "取样记录VO")
 public class TSamplingRecordVO extends TSamplingRecord {
+    @ApiModelProperty(value = "项目课题方案")
+    private String projectName;
 
+    @ApiModelProperty(value = "实验编号")
+    private String experimentCode;
+
+    @ApiModelProperty(value = "实验名称")
+    private String experimentName;
     @ApiModelProperty(value = "取样操作记录集合")
     private List<TSamplingRecordOperation> samplingRecordOperations;
     @ApiModelProperty(value = "实验调度信息")
diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml
index 71614f4..fbacc97 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml
@@ -60,5 +60,36 @@
         </where>
         ORDER BY tqpr.create_time DESC
     </select>
+    <select id="evaluateList" resultType="com.ruoyi.system.vo.TQaProduceReportVO">
+        select tqpr.id, tqpr.team_id, tqpr.report_title, tqpr.report_code, tqpr.develop_person, tqpr.develop_date,
+        tqpr.report_text, tqpr.report_type, tqpr.audit_person_id, tqpr.audit_time, tqpr.audit_remark, tqpr.status,
+        tqpr.evaluate_person_id, tqpr.evaluate_time, tqpr.evaluate_score, tqpr.create_time, tqpr.update_time,
+        tqpr.create_by, tqpr.update_by, tqpr.disabled, tpt.team_name as teamName
+        from t_qa_produce_report tqpr
+        left join t_project_team tpt on tpt.id = tqpr.team_id
+        <where>
+            <if test="query.reportTitle != null and query.reportTitle != ''">
+                and tqpr.report_title like concat('%', #{query.reportTitle}, '%')
+            </if>
+            <if test="query.reportCode != null and query.reportCode != ''">
+                and tqpr.report_code like concat('%', #{query.reportCode}, '%')
+            </if>
+            <if test="query.teamName != null and query.teamName != ''">
+                and tpt.team_name like concat('%', #{query.teamName}, '%')
+            </if>
+            <if test="query.status != null">
+                and tqpr.status = #{query.status}
+            </if>
+            <if test="query.teamIds != null and query.teamIds.size() > 0">
+                and tqpr.team_id in
+                <foreach collection="query.teamIds" item="teamId" open="(" separator="," close=")">
+                    #{teamId}
+                </foreach>
+            </if>
+            AND tqpr.status in (2,3)
+            AND tqpr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY tqpr.create_time DESC
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
index 859f822..27b55b5 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TQaTestItem">
         <id column="id" property="id" />
         <result column="team_id" property="teamId" />
+        <result column="commit_person_id" property="commitPersonId" />
         <result column="item_name" property="itemName" />
         <result column="item_code" property="itemCode" />
         <result column="remark" property="remark" />
@@ -22,10 +23,10 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, team_id, item_name, item_code, remark, status, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled
+        id, team_id,commit_person_id, item_name, item_code, remark, status, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled
     </sql>
     <select id="pageList" 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,
+        select tqti.id, tqti.team_id,tqti.commit_person_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
@@ -55,7 +56,7 @@
     </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,
+        select tqti.id, tqti.team_id,tqti.commit_person_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

--
Gitblit v1.7.1