From 08f9e2c63a1e7f2f718954fda0e7db66c6c88513 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期一, 16 三月 2026 16:50:49 +0800
Subject: [PATCH] feat: 新增巡检记录模块及CRUD接口

---
 src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java            |    2 
 src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java   |    3 
 src/main/java/com/ruoyi/production/service/ProductInspectionRecordService.java          |   16 +++
 src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java           |    9 +
 src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java                    |   76 +++++++++++++++
 src/main/resources/mapper/production/ProductInspectionRecordMapper.xml                  |   21 ++++
 src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java |   20 ++++
 src/main/java/com/ruoyi/production/mapper/ProductInspectionRecordMapper.java            |   18 +++
 src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java        |    9 +
 src/main/java/com/ruoyi/production/dto/ProductInspectionRecordDto.java                  |   13 ++
 src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java    |   64 ++++++++++++
 src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java                |    2 
 12 files changed, 253 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java b/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java
new file mode 100644
index 0000000..0ac5c53
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java
@@ -0,0 +1,64 @@
+package com.ruoyi.production.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.production.dto.ProductInspectionRecordDto;
+import com.ruoyi.production.pojo.ProductInspectionRecord;
+import com.ruoyi.production.service.ProductInspectionRecordService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 宸℃璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-16 04:16:32
+ */
+@RestController
+@RequestMapping("/productInspectionRecord")
+public class ProductInspectionRecordController {
+    @Autowired
+    private ProductInspectionRecordService productInspectionRecordService;
+
+    @ApiOperation("宸℃璁板綍 鍒嗛〉鏌ヨ")
+    @GetMapping("listPage")
+    @Log(title = "宸℃璁板綍 鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult page(ProductInspectionRecordDto productInspectionRecord, Page<ProductInspectionRecord> page) {
+        LambdaQueryWrapper<ProductInspectionRecord> ew = Wrappers.<ProductInspectionRecord>lambdaQuery();
+        return AjaxResult.success(productInspectionRecordService.page(page, ew));
+    }
+
+    @ApiOperation("宸℃璁板綍 鏂板")
+    @PostMapping("/addProductInspectionRecord")
+    @Log(title = "宸℃璁板綍 鏂板", businessType = BusinessType.INSERT)
+    public AjaxResult addProductInspectionRecord(@RequestBody ProductInspectionRecordDto productInspectionRecord) {
+        productInspectionRecordService.saveOrUpdate(productInspectionRecord);
+        return AjaxResult.success();
+    }
+
+
+    @ApiOperation("宸℃璁板綍 淇敼")
+    @PutMapping("updProductInspectionRecord")
+    @Log(title = "宸℃璁板綍 淇敼", businessType = BusinessType.UPDATE)
+    public AjaxResult updProductInspectionRecord(@RequestBody ProductInspectionRecordDto productInspectionRecord) {
+        productInspectionRecordService.updateById(productInspectionRecord);
+        return AjaxResult.success();
+    }
+
+    @ApiOperation("宸℃璁板綍 鍒犻櫎")
+    @DeleteMapping("/{ids}")
+    @Log(title = "宸℃璁板綍 鍒犻櫎", businessType = BusinessType.DELETE)
+    public AjaxResult delete(@PathVariable("ids") List<Long> ids) {
+        productInspectionRecordService.removeBatchByIds(ids);
+        return AjaxResult.success();
+    }
+}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductInspectionRecordDto.java b/src/main/java/com/ruoyi/production/dto/ProductInspectionRecordDto.java
new file mode 100644
index 0000000..07fc8ca
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/dto/ProductInspectionRecordDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.production.dto;
+
+import com.ruoyi.production.pojo.ProductInspectionRecord;
+import lombok.Data;
+
+/**
+ * @author yuan
+ * @date 2026-03-16 16:18
+ * @description
+ */
+@Data
+public class ProductInspectionRecordDto extends ProductInspectionRecord {
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductInspectionRecordMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductInspectionRecordMapper.java
new file mode 100644
index 0000000..bab96d9
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/mapper/ProductInspectionRecordMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.production.mapper;
+
+import com.ruoyi.production.pojo.ProductInspectionRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 宸℃璁板綍琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-16 04:16:32
+ */
+@Mapper
+public interface ProductInspectionRecordMapper extends BaseMapper<ProductInspectionRecord> {
+
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java b/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java
new file mode 100644
index 0000000..da04ebe
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java
@@ -0,0 +1,76 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * <p>
+ * 宸℃璁板綍琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-16 04:16:32
+ */
+@Getter
+@Setter
+@TableName("product_inspection_record")
+@ApiModel(value = "ProductInspectionRecord瀵硅薄", description = "宸℃璁板綍琛�")
+public class ProductInspectionRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("涓婚敭ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("宸ュ簭")
+    private String process;
+
+    @ApiModelProperty("妫�鏌ラ」")
+    private String inspectionItem;
+
+    @ApiModelProperty("鏍囧噯瑕佹眰")
+    private String standardRequirement;
+
+    @ApiModelProperty("瀹炴祴鍊�")
+    private String actualValue;
+
+    @ApiModelProperty("鍒ゅ畾锛坹es鍚堟牸 / no涓嶅悎鏍硷級")
+    private String judgement;
+
+    @ApiModelProperty("宸℃鏃堕棿")
+    private LocalDateTime inspectionTime;
+
+    @ApiModelProperty("宸℃鍛�")
+    private String inspector;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    private String createUser;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("淇敼浜�")
+    private String 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;
+}
diff --git a/src/main/java/com/ruoyi/production/service/ProductInspectionRecordService.java b/src/main/java/com/ruoyi/production/service/ProductInspectionRecordService.java
new file mode 100644
index 0000000..e3a3b62
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/ProductInspectionRecordService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.production.service;
+
+import com.ruoyi.production.pojo.ProductInspectionRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 宸℃璁板綍琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-16 04:16:32
+ */
+public interface ProductInspectionRecordService extends IService<ProductInspectionRecord> {
+
+}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java
new file mode 100644
index 0000000..5320a0e
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.production.service.impl;
+
+import com.ruoyi.production.pojo.ProductInspectionRecord;
+import com.ruoyi.production.mapper.ProductInspectionRecordMapper;
+import com.ruoyi.production.service.ProductInspectionRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 宸℃璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-16 04:16:32
+ */
+@Service
+public class ProductInspectionRecordServiceImpl extends ServiceImpl<ProductInspectionRecordMapper, ProductInspectionRecord> implements ProductInspectionRecordService {
+
+}
diff --git a/src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java b/src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java
index 014729b..e82c196 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java
@@ -2,11 +2,14 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.quality.pojo.QualityTestStandard;
 import com.ruoyi.quality.pojo.QualityTestStandardParam;
 import com.ruoyi.quality.service.IQualityTestStandardService;
 import com.ruoyi.quality.service.QualityTestStandardParamService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -115,4 +118,10 @@
         return AjaxResult.success(qualityTestStandardParamService.list(Wrappers.<QualityTestStandardParam>lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, testStandardId)));
     }
 
+    @ApiOperation("鏍规嵁 宸ュ簭鎴栫被鍒� 鏌ヨ瀵瑰簲鍙傛暟椤�")
+    @GetMapping("/getParameterItemByProcessOrCategory")
+    public AjaxResult delete(@RequestParam(required = false) Long id, Integer inspectType) {
+        return AjaxResult.success(qualityTestStandardService.getParameterItemByProcessOrCategory(id, inspectType));
+    }
+
 }
diff --git a/src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java b/src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java
index 9f9881a..08e3d82 100644
--- a/src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java
+++ b/src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java
@@ -25,4 +25,6 @@
     List<QualityTestStandard> getQualityTestStandardByProductId(Long productId, Integer inspectType,String process);
 
     int delQualityTestStandard(List<Integer> ids);
+
+    List<QualityTestStandard> getParameterItemByProcessOrCategory(Long id, Integer inspectType);
 }
diff --git a/src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java b/src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java
index 56cca32..26cfff8 100644
--- a/src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java
+++ b/src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java
@@ -3,6 +3,8 @@
 import com.ruoyi.quality.pojo.QualityTestStandardParam;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 妫�娴嬫爣鍑嗗弬鏁� 鏈嶅姟绫�
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java
index 0278a78..0a2a6dd 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java
@@ -1,11 +1,14 @@
 package com.ruoyi.quality.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.quality.pojo.QualityTestStandardParam;
 import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
 import com.ruoyi.quality.service.QualityTestStandardParamService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 妫�娴嬫爣鍑嗗弬鏁� 鏈嶅姟瀹炵幇绫�
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
index 371ab5d..837d292 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.quality.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -21,6 +22,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 
@@ -87,5 +89,12 @@
         return qualityTestStandardMapper.deleteBatchIds(ids);
     }
 
+    @Override
+    public List<QualityTestStandard> getParameterItemByProcessOrCategory(Long id, Integer inspectType) {
+        return baseMapper.selectList(Wrappers.<QualityTestStandard>lambdaQuery()
+                .eq(Objects.nonNull(id),QualityTestStandard::getProcessId, id)
+                .eq(QualityTestStandard::getInspectType, inspectType));
+    }
+
 
 }
diff --git a/src/main/resources/mapper/production/ProductInspectionRecordMapper.xml b/src/main/resources/mapper/production/ProductInspectionRecordMapper.xml
new file mode 100644
index 0000000..9a3b753
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductInspectionRecordMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.production.mapper.ProductInspectionRecordMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductInspectionRecord">
+        <id column="id" property="id" />
+        <result column="process" property="process" />
+        <result column="inspection_item" property="inspectionItem" />
+        <result column="standard_requirement" property="standardRequirement" />
+        <result column="actual_value" property="actualValue" />
+        <result column="judgement" property="judgement" />
+        <result column="inspection_time" property="inspectionTime" />
+        <result column="inspector" property="inspector" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

--
Gitblit v1.9.3