From 2b7f4d1d5e7dc15c1c05120f543b61b9db5ca9ea Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 27 三月 2026 14:08:43 +0800
Subject: [PATCH] 新增巡检记录后,创建人未自动生成,未展示备注,且点击通知后无对应的通知消息展示

---
 src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java            |    5 ++
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java         |    6 +++
 src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java                            |    7 +++
 src/main/java/com/ruoyi/quality/service/IQualityUnqualifiedService.java                 |    3 +
 src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java                    |   13 +++++-
 src/main/java/com/ruoyi/quality/mapper/QualityUnqualifiedMapper.java                    |    6 +++
 src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml                          |   15 +++++++
 src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java |    2 +
 src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java    |   20 +++++++++
 9 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java b/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java
index 4548b54..3c46227 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java
@@ -10,6 +10,8 @@
 import com.ruoyi.production.dto.ProductInspectionRecordDto;
 import com.ruoyi.production.pojo.ProductInspectionRecord;
 import com.ruoyi.production.service.ProductInspectionRecordService;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.ISysUserService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -30,6 +32,8 @@
 public class ProductInspectionRecordController {
     @Autowired
     private ProductInspectionRecordService productInspectionRecordService;
+    @Autowired
+    private ISysUserService sysUserService;
 
     @ApiOperation("宸℃璁板綍 鍒嗛〉鏌ヨ")
     @GetMapping("listPage")
@@ -41,7 +45,21 @@
                 .between(Objects.nonNull(productInspectionRecord.getStartTime()) && Objects.nonNull(productInspectionRecord.getEndTime()),
                         ProductInspectionRecord::getInspectionTime, productInspectionRecord.getStartTime(),
                         productInspectionRecord.getEndTime());
-        return AjaxResult.success(productInspectionRecordService.page(page, ew));
+        // 鏌ヨ鍒嗛〉鏁版嵁
+        Page<ProductInspectionRecord> resultPage = productInspectionRecordService.page(page, ew);
+
+        List<ProductInspectionRecord> records = resultPage.getRecords();
+        for (ProductInspectionRecord record : records) {
+            if (record.getCreateUser() != null) {
+                Long userId = record.getCreateUser().longValue();
+                SysUser user = sysUserService.selectUserById(userId);
+                if (user != null) {
+                    record.setCreateUserName(user.getNickName());
+                }
+            }
+        }
+
+        return AjaxResult.success(resultPage);
     }
 
     @ApiOperation("宸℃璁板綍 鏂板")
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java b/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java
index efb5628..96befea 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java
@@ -65,7 +65,8 @@
     private String inspector;
 
     @ApiModelProperty("鍒涘缓浜�")
-    private String createUser;
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
 
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
@@ -74,11 +75,19 @@
     private LocalDateTime createTime;
 
     @ApiModelProperty("淇敼浜�")
-    private String updateUser;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
 
     @ApiModelProperty("淇敼鏃堕棿")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+
+    @ApiModelProperty("鍒涘缓浜哄悕绉�")
+    @TableField(exist = false)
+    private String createUserName;
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java
index 44acb36..4276f98 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java
@@ -91,6 +91,8 @@
             String title = "宸℃涓嶅悎鏍奸�氱煡";
             String message = messageBuilder.toString();
 
+            SysUser admin = userMapper.selectUserById(1L);
+            opUsers.add(admin);
             // 涓烘瘡涓猳p宀椾綅鐢ㄦ埛鍒涘缓閫氱煡
             for (SysUser opUser : opUsers) {
                 SysNotice notice = new SysNotice();
diff --git a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
index 5968a6a..f3fbcaf 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityUnqualifiedController.java
@@ -109,4 +109,9 @@
     public AjaxResult liftTheQuarantine(@RequestBody QualityUnqualified qualityUnqualified) {
         return AjaxResult.success(qualityUnqualifiedService.liftTheQuarantine(qualityUnqualified));
     }
+
+    @GetMapping("/withProductionOrder")
+    public AjaxResult findUnqualifiedWithProductionOrder() {
+        return AjaxResult.success(qualityUnqualifiedService.findUnqualifiedWithProductionOrder());
+    }
 }
diff --git a/src/main/java/com/ruoyi/quality/mapper/QualityUnqualifiedMapper.java b/src/main/java/com/ruoyi/quality/mapper/QualityUnqualifiedMapper.java
index 3069018..b9f462f 100644
--- a/src/main/java/com/ruoyi/quality/mapper/QualityUnqualifiedMapper.java
+++ b/src/main/java/com/ruoyi/quality/mapper/QualityUnqualifiedMapper.java
@@ -25,4 +25,10 @@
     
     //鏍规嵁宸ュ簭鍚嶇О鍒楄〃鏌ヨ琚殧绂荤殑涓嶅悎鏍艰褰�
     List<QualityUnqualified> selectUnqualifiedByProcessNames(@Param("processNames") List<String> processNames);
+
+    /**
+     * 鏌ヨ涓嶅悎鏍艰褰曠殑鐢熶骇璁㈠崟淇℃伅
+     * @return
+     */
+    List<QualityUnqualified> selectUnqualifiedWithProductionOrder();
 }
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java b/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
index 0c34c62..e5405a7 100644
--- a/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
+++ b/src/main/java/com/ruoyi/quality/pojo/QualityUnqualified.java
@@ -143,7 +143,6 @@
     @ApiModelProperty("鍏宠仈妫�娴媔d")
     private Long inspectId;
 
-
     @ApiModelProperty("鏄惁涓嶅悎鏍煎鐞嗚嚜宸辨柊澧�")
     @TableField(exist = false)
     private Boolean method;
@@ -151,4 +150,10 @@
     @ApiModelProperty("宸ュ簭")
     @TableField(exist = false)
     private String process;
+
+    @TableField(exist = false)
+    private Long productOrderId;
+
+    @TableField(exist = false)
+    private String productOrderNpsNo;
 }
diff --git a/src/main/java/com/ruoyi/quality/service/IQualityUnqualifiedService.java b/src/main/java/com/ruoyi/quality/service/IQualityUnqualifiedService.java
index bfad083..a1bac6b 100644
--- a/src/main/java/com/ruoyi/quality/service/IQualityUnqualifiedService.java
+++ b/src/main/java/com/ruoyi/quality/service/IQualityUnqualifiedService.java
@@ -7,6 +7,7 @@
 import com.ruoyi.quality.pojo.QualityUnqualified;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 public interface IQualityUnqualifiedService extends IService<QualityUnqualified> {
 
@@ -20,4 +21,6 @@
     boolean liftTheQuarantine(QualityUnqualified qualityUnqualified);
 
     QualityUnqualified getUnqualified(Integer id);
+
+    List<QualityUnqualified> findUnqualifiedWithProductionOrder();
 }
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 7226b2a..a9e9c1d 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -35,6 +35,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
+import java.util.Collections;
 import java.util.List;
 
 @AllArgsConstructor
@@ -208,4 +209,9 @@
     public QualityUnqualified getUnqualified(Integer id) {
         return qualityUnqualifiedMapper.getUnqualified(id);
     }
+
+    @Override
+    public List<QualityUnqualified> findUnqualifiedWithProductionOrder() {
+        return qualityUnqualifiedMapper.selectUnqualifiedWithProductionOrder();
+    }
 }
diff --git a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
index b2ef2a4..7b48b5f 100644
--- a/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
+++ b/src/main/resources/mapper/quality/QualityUnqualifiedMapper.xml
@@ -110,4 +110,17 @@
         AND qu.deal_result = '闅旂'
         AND qu.quarantine_lifted = false
     </select>
-</mapper>
+
+    <select id="selectUnqualifiedWithProductionOrder" resultType="com.ruoyi.quality.pojo.QualityUnqualified">
+        SELECT
+        po.id as productOrderId,
+        po.nps_no as productOrderNpsNo
+        FROM quality_unqualified qu
+        LEFT JOIN quality_inspect qi ON qu.inspect_id = qi.id
+        LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id
+        LEFT JOIN product_work_order pwo ON ppm.work_order_id = pwo.id
+        LEFT JOIN product_order po ON pwo.product_order_id = po.id
+        WHERE po.id IS NOT NULL
+        GROUP BY po.id
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3