yuan
3 天以前 08f9e2c63a1e7f2f718954fda0e7db66c6c88513
feat: 新增巡检记录模块及CRUD接口
已添加7个文件
已修改5个文件
253 ■■■■■ 文件已修改
src/main/java/com/ruoyi/production/controller/ProductInspectionRecordController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductInspectionRecordDto.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductInspectionRecordMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductInspectionRecord.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductInspectionRecordService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductInspectionRecordServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/QualityTestStandardParamService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardParamServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductInspectionRecordMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
}
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 {
}
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> {
}
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("判定(yes合格 / 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;
}
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> {
}
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 {
}
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));
    }
}
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);
}
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>
 * æ£€æµ‹æ ‡å‡†å‚æ•° æœåŠ¡ç±»
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>
 * æ£€æµ‹æ ‡å‡†å‚æ•° æœåŠ¡å®žçŽ°ç±»
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));
    }
}
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>