From 5cfa20bbf53a145e2f7abd5d8b61517b780f915c Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 04 六月 2026 14:42:33 +0800
Subject: [PATCH] 更改
---
basic-server/src/main/java/com/ruoyi/basic/mapper/QualityDefectiveProductMapper.java | 16 ++
basic-server/src/main/java/com/ruoyi/basic/pojo/QualityDefectiveProduct.java | 88 +++++++++++
basic-server/doc/质量管理.sql | 25 +++
basic-server/src/main/java/com/ruoyi/basic/controller/QualityDefectiveProductController.java | 99 ++++++++++++
basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductDto.java | 44 +++++
basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductAuditDto.java | 20 ++
basic-server/src/main/java/com/ruoyi/basic/service/QualityDefectiveProductService.java | 33 ++++
basic-server/src/main/resources/mapper/QualityDefectiveProductMapper.xml | 21 ++
basic-server/src/main/java/com/ruoyi/basic/service/impl/QualityDefectiveProductServiceImpl.java | 121 +++++++++++++++
9 files changed, 467 insertions(+), 0 deletions(-)
diff --git "a/basic-server/doc/\350\264\250\351\207\217\347\256\241\347\220\206.sql" "b/basic-server/doc/\350\264\250\351\207\217\347\256\241\347\220\206.sql"
new file mode 100644
index 0000000..8af8002
--- /dev/null
+++ "b/basic-server/doc/\350\264\250\351\207\217\347\256\241\347\220\206.sql"
@@ -0,0 +1,25 @@
+CREATE TABLE `quality_defective_product` (
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+ `report_no` VARCHAR(100) DEFAULT NULL COMMENT '鎶ュ憡缂栧彿',
+ `product_name` VARCHAR(200) DEFAULT NULL COMMENT '浜у搧鍚嶇О',
+ `production_batch` VARCHAR(100) DEFAULT NULL COMMENT '鐢熶骇鎵规',
+ `material_name` VARCHAR(200) DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+ `specs_models` VARCHAR(200) DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+ `manufacturer` VARCHAR(200) DEFAULT NULL COMMENT '鐢熶骇鍘傚',
+ `raw_material_info` TEXT DEFAULT NULL COMMENT '鍘熸潗鏂欎俊鎭�',
+ `defective_qty` INT DEFAULT NULL COMMENT '涓嶈壇鍝佹暟閲�',
+ `related_test_info` TEXT DEFAULT NULL COMMENT '鍏宠仈妫�娴嬩俊鎭�',
+ `unqualified_desc` TEXT DEFAULT NULL COMMENT '涓嶅悎鏍兼弿杩�',
+ `inspector` VARCHAR(100) DEFAULT NULL COMMENT '妫�楠屼汉鍛�',
+ `register_by` VARCHAR(100) DEFAULT NULL COMMENT '鐧昏浜�',
+ `register_time` DATETIME DEFAULT NULL COMMENT '鐧昏鏃堕棿',
+ `audit_status` TINYINT DEFAULT '0' COMMENT '瀹℃牳鐘舵�侊細0-寰呭鏍革紝1-宸插鏍�',
+ `audit_remark` TEXT DEFAULT NULL COMMENT '瀹℃牳鎰忚',
+ `audit_by` VARCHAR(100) DEFAULT NULL COMMENT '瀹℃牳浜�',
+ `audit_time` DATETIME DEFAULT NULL COMMENT '瀹℃牳鏃堕棿',
+ `create_by` VARCHAR(100) DEFAULT NULL COMMENT '鍒涘缓浜�',
+ `update_by` VARCHAR(100) DEFAULT NULL COMMENT '淇敼浜�',
+ `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+ `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='涓嶈壇鍝佺櫥璁拌〃';
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/QualityDefectiveProductController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/QualityDefectiveProductController.java
new file mode 100644
index 0000000..fc1800f
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/QualityDefectiveProductController.java
@@ -0,0 +1,99 @@
+package com.ruoyi.basic.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.basic.dto.DefectiveProductAuditDto;
+import com.ruoyi.basic.dto.DefectiveProductDto;
+import com.ruoyi.basic.pojo.QualityDefectiveProduct;
+import com.ruoyi.basic.service.QualityDefectiveProductService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 涓嶈壇鍝佺櫥璁版帶鍒跺櫒
+ */
+@Api(tags = "涓嶈壇鍝佺櫥璁�")
+@RestController
+@RequestMapping("/quality/defectiveProduct")
+public class QualityDefectiveProductController {
+
+ @Resource
+ private QualityDefectiveProductService defectiveProductService;
+
+ /**
+ * 鏌ヨ涓嶈壇鍝佺櫥璁板垪琛�
+ */
+ @ApiOperation(value = "鏌ヨ涓嶈壇鍝佺櫥璁板垪琛�")
+ @GetMapping("/list")
+ public Result<IPage<QualityDefectiveProduct>> pageDefectiveProduct(Page<QualityDefectiveProduct> page, QualityDefectiveProduct query) {
+ return Result.success(defectiveProductService.selectPage(page, query));
+ }
+
+ /**
+ * 鑾峰彇涓嶈壇鍝佽鎯�
+ */
+ @ApiOperation(value = "鑾峰彇涓嶈壇鍝佽鎯�")
+ @GetMapping("/get")
+ public Result<QualityDefectiveProduct> getDefectiveProduct(Long id) {
+ return Result.success(defectiveProductService.selectById(id));
+ }
+
+ /**
+ * 鏂板涓嶈壇鍝佺櫥璁�
+ */
+ @ApiOperation(value = "鏂板涓嶈壇鍝佺櫥璁�")
+ @PostMapping
+ public Result<Integer> addDefectiveProduct(@RequestBody DefectiveProductDto data) {
+ return Result.success(defectiveProductService.insert(data));
+ }
+
+ /**
+ * 淇敼涓嶈壇鍝佺櫥璁�
+ */
+ @ApiOperation(value = "淇敼涓嶈壇鍝佺櫥璁�")
+ @PostMapping("/update")
+ public Result<Integer> updateDefectiveProduct(@RequestBody QualityDefectiveProduct data) {
+ return Result.success(defectiveProductService.update(data));
+ }
+
+ /**
+ * 鍒犻櫎涓嶈壇鍝佺櫥璁帮紙鏀寔鎵归噺鍒犻櫎锛�
+ */
+ @ApiOperation(value = "鍒犻櫎涓嶈壇鍝佺櫥璁�")
+ @DeleteMapping("/delete")
+ public Result<Integer> deleteDefectiveProduct(Long[] ids) {
+ if (ids == null || ids.length == 0) {
+ return Result.fail("璇烽�夋嫨瑕佸垹闄ょ殑璁板綍");
+ }
+ if (ids.length == 1) {
+ return Result.success(defectiveProductService.deleteById(ids[0]));
+ }
+ return Result.success(defectiveProductService.deleteBatchIds(ids));
+ }
+
+ /**
+ * 鏌ヨ涓嶈壇鍝佸鏍稿垪琛�
+ */
+ @ApiOperation(value = "鏌ヨ涓嶈壇鍝佸鏍稿垪琛�")
+ @GetMapping("/audit/page")
+ public Result<IPage<QualityDefectiveProduct>> pageDefectiveProductAudit(Page<QualityDefectiveProduct> page, QualityDefectiveProduct query) {
+ // 瀹℃牳鍒楄〃榛樿鍙煡璇㈠緟瀹℃牳鐘舵��
+ if (query.getAuditStatus() == null) {
+ query.setAuditStatus(0);
+ }
+ return Result.success(defectiveProductService.selectPage(page, query));
+ }
+
+ /**
+ * 涓嶈壇鍝佸鏍�
+ */
+ @ApiOperation(value = "涓嶈壇鍝佸鏍�")
+ @PostMapping("/audit")
+ public Result<Integer> auditDefectiveProduct(@RequestBody DefectiveProductAuditDto data) {
+ return Result.success(defectiveProductService.audit(data));
+ }
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductAuditDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductAuditDto.java
new file mode 100644
index 0000000..c9165ae
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductAuditDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.basic.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 涓嶈壇鍝佸鏍窪TO
+ */
+@Data
+public class DefectiveProductAuditDto {
+
+ @ApiModelProperty(value = "涓婚敭ID")
+ private Long id;
+
+ @ApiModelProperty(value = "瀹℃牳鐘舵�侊細0-寰呭鏍革紝1-宸插鏍�")
+ private Integer auditStatus;
+
+ @ApiModelProperty(value = "瀹℃牳鎰忚")
+ private String auditRemark;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductDto.java
new file mode 100644
index 0000000..08f193b
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/DefectiveProductDto.java
@@ -0,0 +1,44 @@
+package com.ruoyi.basic.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 涓嶈壇鍝佺櫥璁癉TO
+ */
+@Data
+public class DefectiveProductDto {
+
+ @ApiModelProperty(value = "鎶ュ憡缂栧彿")
+ private String reportNo;
+
+ @ApiModelProperty(value = "浜у搧鍚嶇О")
+ private String productName;
+
+ @ApiModelProperty(value = "鐢熶骇鎵规")
+ private String productionBatch;
+
+ @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+ private String materialName;
+
+ @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+ private String specsModels;
+
+ @ApiModelProperty(value = "鐢熶骇鍘傚")
+ private String manufacturer;
+
+ @ApiModelProperty(value = "鍘熸潗鏂欎俊鎭�")
+ private String rawMaterialInfo;
+
+ @ApiModelProperty(value = "涓嶈壇鍝佹暟閲�")
+ private Integer defectiveQty;
+
+ @ApiModelProperty(value = "鍏宠仈妫�娴嬩俊鎭�")
+ private String relatedTestInfo;
+
+ @ApiModelProperty(value = "涓嶅悎鏍兼弿杩�")
+ private String unqualifiedDesc;
+
+ @ApiModelProperty(value = "妫�楠屼汉鍛�")
+ private String inspector;
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/QualityDefectiveProductMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/QualityDefectiveProductMapper.java
new file mode 100644
index 0000000..a3a3084
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/QualityDefectiveProductMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.QualityDefectiveProduct;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 涓嶈壇鍝佺櫥璁癕apper鎺ュ彛
+ */
+public interface QualityDefectiveProductMapper extends BaseMapper<QualityDefectiveProduct> {
+
+ IPage<QualityDefectiveProduct> selectPage(Page<QualityDefectiveProduct> page, @Param("ew") QueryWrapper<QualityDefectiveProduct> ew);
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/QualityDefectiveProduct.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/QualityDefectiveProduct.java
new file mode 100644
index 0000000..9084b40
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/QualityDefectiveProduct.java
@@ -0,0 +1,88 @@
+package com.ruoyi.basic.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 涓嶈壇鍝佺櫥璁�
+ * @TableName quality_defective_product
+ */
+@TableName(value ="quality_defective_product")
+@Data
+public class QualityDefectiveProduct implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "鎶ュ憡缂栧彿")
+ private String reportNo;
+
+ @ApiModelProperty(value = "浜у搧鍚嶇О")
+ private String productName;
+
+ @ApiModelProperty(value = "鐢熶骇鎵规")
+ private String productionBatch;
+
+ @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+ private String materialName;
+
+ @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+ private String specsModels;
+
+ @ApiModelProperty(value = "鐢熶骇鍘傚")
+ private String manufacturer;
+
+ @ApiModelProperty(value = "鍘熸潗鏂欎俊鎭�")
+ private String rawMaterialInfo;
+
+ @ApiModelProperty(value = "涓嶈壇鍝佹暟閲�")
+ private Integer defectiveQty;
+
+ @ApiModelProperty(value = "鍏宠仈妫�娴嬩俊鎭�")
+ private String relatedTestInfo;
+
+ @ApiModelProperty(value = "涓嶅悎鏍兼弿杩�")
+ private String unqualifiedDesc;
+
+ @ApiModelProperty(value = "妫�楠屼汉鍛�")
+ private String inspector;
+
+ @ApiModelProperty(value = "鐧昏浜�")
+ private String registerBy;
+
+ @ApiModelProperty(value = "鐧昏鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime registerTime;
+
+ @ApiModelProperty(value = "瀹℃牳鐘舵�侊細0-寰呭鏍革紝1-瀹℃牳閫氳繃锛�2-椹冲洖")
+ private Integer auditStatus;
+
+ @ApiModelProperty(value = "瀹℃牳鎰忚")
+ private String auditRemark;
+
+ @ApiModelProperty(value = "瀹℃牳浜�")
+ private String auditBy;
+
+ @ApiModelProperty(value = "瀹℃牳鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime auditTime;
+
+ @ApiModelProperty(value = "鍒涘缓浜�")
+ private String createBy;
+
+ @ApiModelProperty(value = "淇敼浜�")
+ private String updateBy;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/QualityDefectiveProductService.java b/basic-server/src/main/java/com/ruoyi/basic/service/QualityDefectiveProductService.java
new file mode 100644
index 0000000..9bb1e30
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/QualityDefectiveProductService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.basic.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.DefectiveProductAuditDto;
+import com.ruoyi.basic.dto.DefectiveProductDto;
+import com.ruoyi.basic.pojo.QualityDefectiveProduct;
+
+import java.util.List;
+
+/**
+ * 涓嶈壇鍝佺櫥璁癝ervice鎺ュ彛
+ */
+public interface QualityDefectiveProductService {
+
+ IPage<QualityDefectiveProduct> selectPage(Page<QualityDefectiveProduct> page, QualityDefectiveProduct entity);
+
+ QualityDefectiveProduct selectById(Long id);
+
+ int insert(DefectiveProductDto dto);
+
+ int update(Long id, DefectiveProductDto dto);
+
+ int update(QualityDefectiveProduct entity);
+
+ int deleteById(Long id);
+
+ int deleteBatchIds(Long[] ids);
+
+ int audit(DefectiveProductAuditDto auditDto);
+
+ List<QualityDefectiveProduct> selectList();
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/QualityDefectiveProductServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/QualityDefectiveProductServiceImpl.java
new file mode 100644
index 0000000..c31098c
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/QualityDefectiveProductServiceImpl.java
@@ -0,0 +1,121 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.basic.dto.DefectiveProductAuditDto;
+import com.ruoyi.basic.dto.DefectiveProductDto;
+import com.ruoyi.basic.mapper.QualityDefectiveProductMapper;
+import com.ruoyi.basic.pojo.QualityDefectiveProduct;
+import com.ruoyi.basic.service.QualityDefectiveProductService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 涓嶈壇鍝佺櫥璁癝ervice瀹炵幇绫�
+ */
+@Service
+public class QualityDefectiveProductServiceImpl implements QualityDefectiveProductService {
+
+ @Resource
+ private QualityDefectiveProductMapper defectiveProductMapper;
+
+ @Override
+ public IPage<QualityDefectiveProduct> selectPage(Page<QualityDefectiveProduct> page, QualityDefectiveProduct entity) {
+ return defectiveProductMapper.selectPage(page, QueryWrappers.queryWrappers(entity));
+ }
+
+ @Override
+ public QualityDefectiveProduct selectById(Long id) {
+ return defectiveProductMapper.selectById(id);
+ }
+
+ @Override
+ public int insert(DefectiveProductDto dto) {
+ QualityDefectiveProduct entity = new QualityDefectiveProduct();
+ BeanUtils.copyProperties(dto, entity);
+
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+ String username = SecurityUtils.getUsername();
+
+ // 璁剧疆鐧昏鐩稿叧瀛楁
+ entity.setRegisterBy(username);
+ entity.setRegisterTime(LocalDateTime.now());
+
+ // 璁剧疆鍒涘缓鐩稿叧瀛楁
+ entity.setCreateBy(username);
+ entity.setCreateTime(LocalDateTime.now());
+
+ // 璁剧疆鏇存柊鐩稿叧瀛楁
+ entity.setUpdateBy(username);
+ entity.setUpdateTime(LocalDateTime.now());
+
+ // 璁剧疆瀹℃牳鐘舵�佷负寰呭鏍�
+ entity.setAuditStatus(0);
+
+ return defectiveProductMapper.insert(entity);
+ }
+
+ @Override
+ public int update(Long id, DefectiveProductDto dto) {
+ QualityDefectiveProduct entity = defectiveProductMapper.selectById(id);
+ if (entity == null) {
+ throw new RuntimeException("涓嶈壇鍝佷俊鎭笉瀛樺湪");
+ }
+
+ BeanUtils.copyProperties(dto, entity);
+ entity.setId(id);
+ entity.setUpdateBy(SecurityUtils.getUsername());
+ entity.setUpdateTime(LocalDateTime.now());
+
+ return defectiveProductMapper.updateById(entity);
+ }
+
+ @Override
+ public int update(QualityDefectiveProduct entity) {
+ if (entity.getId() == null) {
+ throw new RuntimeException("ID涓嶈兘涓虹┖");
+ }
+ entity.setUpdateBy(SecurityUtils.getUsername());
+ entity.setUpdateTime(LocalDateTime.now());
+ return defectiveProductMapper.updateById(entity);
+ }
+
+ @Override
+ public int deleteById(Long id) {
+ return defectiveProductMapper.deleteById(id);
+ }
+
+ @Override
+ public int deleteBatchIds(Long[] ids) {
+ return defectiveProductMapper.deleteBatchIds(java.util.Arrays.asList(ids));
+ }
+
+ @Override
+ public int audit(DefectiveProductAuditDto auditDto) {
+ QualityDefectiveProduct entity = defectiveProductMapper.selectById(auditDto.getId());
+ if (entity == null) {
+ throw new RuntimeException("涓嶈壇鍝佷俊鎭笉瀛樺湪");
+ }
+
+ entity.setAuditStatus(auditDto.getAuditStatus());
+ entity.setAuditRemark(auditDto.getAuditRemark());
+ entity.setAuditBy(SecurityUtils.getUsername());
+ entity.setAuditTime(LocalDateTime.now());
+ entity.setUpdateBy(SecurityUtils.getUsername());
+ entity.setUpdateTime(LocalDateTime.now());
+
+ return defectiveProductMapper.updateById(entity);
+ }
+
+ @Override
+ public List<QualityDefectiveProduct> selectList() {
+ return defectiveProductMapper.selectList(Wrappers.emptyWrapper());
+ }
+}
\ No newline at end of file
diff --git a/basic-server/src/main/resources/mapper/QualityDefectiveProductMapper.xml b/basic-server/src/main/resources/mapper/QualityDefectiveProductMapper.xml
new file mode 100644
index 0000000..cf95605
--- /dev/null
+++ b/basic-server/src/main/resources/mapper/QualityDefectiveProductMapper.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.basic.mapper.QualityDefectiveProductMapper">
+
+ <select id="selectPage" resultType="com.ruoyi.basic.pojo.QualityDefectiveProduct">
+ SELECT
+ id, report_no, product_name, production_batch, material_name, specs_models,
+ manufacturer, raw_material_info, defective_qty, related_test_info,
+ unqualified_desc, inspector, register_by, register_time,
+ audit_status, audit_remark, audit_by, audit_time,
+ create_by, update_by, create_time, update_time
+ FROM quality_defective_product
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ ORDER BY create_time DESC
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3