buhuazhen
昨天 d562551c7efd2c19fd037ab4fb1b7a355ff80f42
feat(inspection): 新增检测项目管理相关功能

- 添加InspectItemDto数据传输对象,包含检测项基础属性
- 新增InspectItemVo视图对象,扩展检测项信息及创建、更新时间
- 在MybatisHandler中完善自动填充逻辑,支持createUserName和updateUserName字段
- 新建QualityInspectItemController提供检测项目分页列表、保存和删除接口
- 新增SearchInspectItemVo用于检测项目条件分页查询参数传递
已添加4个文件
已修改1个文件
127 ■■■■■ 文件已修改
src/main/java/com/ruoyi/common/config/MybatisHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/inspectiontask/controller/QualityInspectItemController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/inspectiontask/vo/InspectItemVo.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/inspectiontask/vo/SearchInspectItemVo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/config/MybatisHandler.java
@@ -13,8 +13,10 @@
    public void insertFill(MetaObject metaObject) {
        Integer userId = null;
        Long tenantId = null;
        String userName = null;
        try {
            userId = SecurityUtils.getUserId().intValue();
            userName = SecurityUtils.getUsername();
            tenantId = SecurityUtils.getLoginUser().getTenantId();
        } catch (Exception ignored) {
        }
@@ -22,6 +24,8 @@
        this.strictInsertFill(metaObject, "updateTime",  LocalDateTime.class, LocalDateTime.now());
        this.strictInsertFill(metaObject, "createUser", Integer.class, userId);
        this.strictInsertFill(metaObject, "updateUser", Integer.class, userId);
        this.strictInsertFill(metaObject, "createUserName", String.class, userName);
        this.strictInsertFill(metaObject, "updateUserName", String.class, userName);
        this.strictInsertFill(metaObject, "tenantId", Long.class, tenantId);
    }
src/main/java/com/ruoyi/inspectiontask/controller/QualityInspectItemController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.ruoyi.inspectiontask.controller;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.inspectiontask.dto.InspectItemDto;
import com.ruoyi.inspectiontask.service.QualityInspectItemService;
import com.ruoyi.inspectiontask.vo.SearchInspectItemVo;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author buhuazhen
 * @date 2026/3/13
 * @email 3038525872@qq.com
 */
@RestController
@Api(tags = "检测项目管理")
@RequestMapping("/qualityInspectItem")
@RequiredArgsConstructor
public class QualityInspectItemController {
    private final QualityInspectItemService qualityInspectItemService;
    @PostMapping("/listPage")
    public AjaxResult listPage(@RequestBody SearchInspectItemVo searchInspectItemVo){
        return AjaxResult.success(qualityInspectItemService.listPage(searchInspectItemVo));
    }
    @PostMapping("/save")
    public AjaxResult save(@RequestBody InspectItemDto inspectItemDto){
        qualityInspectItemService.save(inspectItemDto);
        return AjaxResult.success();
    }
    @PostMapping("/delete")
    public AjaxResult delete(@RequestBody List<Long> ids){
        qualityInspectItemService.delete(ids);
        return AjaxResult.success();
    }
}
src/main/java/com/ruoyi/inspectiontask/dto/InspectItemDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.ruoyi.inspectiontask.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author buhuazhen
 * @date 2026/3/13
 * @email 3038525872@qq.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InspectItemDto {
    private String id;
    private String name;
    private String unit;
    private String standardValue;
    private String internalControl;
    private String testValue;
}
src/main/java/com/ruoyi/inspectiontask/vo/InspectItemVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.ruoyi.inspectiontask.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.inspectiontask.dto.InspectItemDto;
import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
import com.ruoyi.quality.dto.QualityInspectDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * @author buhuazhen
 * @date 2026/3/13
 * @email 3038525872@qq.com
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InspectItemVo extends InspectItemDto implements Serializable {
    private String createUserName;
    private String updateUserName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
src/main/java/com/ruoyi/inspectiontask/vo/SearchInspectItemVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.inspectiontask.vo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
 * @author buhuazhen
 * @date 2026/3/13
 * @email 3038525872@qq.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SearchInspectItemVo extends Page implements Serializable {
    private String name;
}