From b608383244450445a4ea8e760c4e0b4df813fefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 7 May 2026 08:26:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(repository):=20=E5=A2=9E=E5=8A=A0=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E7=89=A9=E6=96=99=E6=9B=B4=E5=A4=9A=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=9D=A1=E4=BB=B6=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - QmsQcMaterialMapper.xml中分页查询和全部查询SQL增加对描述是否变更、 物料类别全路径名称、图号及版本号、材质、规格、规则维护状态等新条件的过滤支持 - 过滤条件实现包括模糊匹配和精确匹配多种类型,支持创建时间和修改时间范围查询 - QmsQcMaterialSearchQO新增对应的查询参数字段,包含布尔类型、字符串类型及日期范围类型 - 新增字段支持更丰富的查询场景,提高质检物料数据筛选灵活性和准确性 --- .../common/pojo/qo/QmsQcMaterialSearchQO.java | 71 ++++++++++++++ .../resources/mapper/QmsQcMaterialMapper.xml | 93 ++++++++++++++++++- 2 files changed, 163 insertions(+), 1 deletion(-) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java index aa3ce757..d0f66397 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java @@ -2,6 +2,7 @@ package com.nflg.wms.common.pojo.qo; import lombok.Data; +import java.time.LocalDate; import java.util.List; /** @@ -35,6 +36,76 @@ public class QmsQcMaterialSearchQO extends PageQO { */ private String materialName; + /** + * 描述是否变更(精确匹配):false=未变更,true=已变更 + */ + private Boolean materialDescIsUpgrade; + + /** + * 物料类别全路径名称(模糊匹配) + */ + private String materialCategoryCodePathName; + + /** + * 物料图号(模糊匹配) + */ + private String drawingNo; + + /** + * 图号版本号(模糊匹配) + */ + private String drawingNoVer; + + /** + * 物料材质(模糊匹配) + */ + private String materialTexture; + + /** + * 物料规格(模糊匹配) + */ + private String materialSpecifications; + + /** + * 规则是否已维护(精确匹配):false=未维护,true=已维护 + */ + private Boolean isStandardMaintained; + + /** + * 创建方式(精确匹配):0=人工操作,1=系统同步 + */ + private Integer createdType; + + /** + * 创建人名称(模糊匹配) + */ + private String createByName; + + /** + * 创建时间范围-开始日期(含) + */ + private LocalDate createTimeStart; + + /** + * 创建时间范围-结束日期(含) + */ + private LocalDate createTimeEnd; + + /** + * 修改人名称(模糊匹配) + */ + private String updateByName; + + /** + * 修改时间范围-开始日期(含) + */ + private LocalDate updateTimeStart; + + /** + * 修改时间范围-结束日期(含) + */ + private LocalDate updateTimeEnd; + /** * 排序字段(对应 QmsQcMaterialVO 中的字段名,如 materialNo、createTime 等) * 为空时默认按物料编号倒序 diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsQcMaterialMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsQcMaterialMapper.xml index 2e556ce0..0e1851cf 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsQcMaterialMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsQcMaterialMapper.xml @@ -5,6 +5,10 @@ SELECT material_no, material_desc, - CASE WHEN material_desc_is_upgrade THEN '是' ELSE '否' END AS material_desc_is_upgrade, material_category_code, material_category_code_path_name, drawing_no, @@ -122,6 +171,48 @@ AND material_name ilike concat('%', #{request.materialName}, '%') + + AND material_desc_is_upgrade = #{request.materialDescIsUpgrade} + + + AND material_category_code_path_name ilike concat('%', #{request.materialCategoryCodePathName}, '%') + + + AND drawing_no ilike concat('%', #{request.drawingNo}, '%') + + + AND drawing_no_ver ilike concat('%', #{request.drawingNoVer}, '%') + + + AND material_texture ilike concat('%', #{request.materialTexture}, '%') + + + AND material_specifications ilike concat('%', #{request.materialSpecifications}, '%') + + + AND is_standard_maintained = #{request.isStandardMaintained} + + + AND created_type = #{request.createdType} + + + AND create_by_name ilike concat('%', #{request.createByName}, '%') + + + AND create_time >= #{request.createTimeStart}::date + + + AND create_time < (#{request.createTimeEnd}::date + interval '1 day') + + + AND update_by_name ilike concat('%', #{request.updateByName}, '%') + + + AND update_time >= #{request.updateTimeStart}::date + + + AND update_time < (#{request.updateTimeEnd}::date + interval '1 day') + ORDER BY