From c48ff1babde11a5128e5544cef05bb40d27ca1ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com>
Date: Tue, 31 Mar 2026 10:40:59 +0800
Subject: [PATCH] =?UTF-8?q?PC=E5=87=BA=E5=BA=93=E5=8D=95=E5=95=86=E5=93=81?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E7=BC=96=E7=A0=81=E6=9F=A5=E8=AF=A2=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../repository/todo/StockOutOrderDO.java | 6 +++++
.../stockOutOrder/StockOutOrderAssembler.java | 27 +++++++++++++++++++
.../dto/stockOutOrder/StockOutOrderDTO.java | 6 +++++
.../stockOutOrder/StockOutOrderMapper.xml | 22 +++++++++++++++
4 files changed, 61 insertions(+)
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java
index 13106f741..c5afac898 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java
@@ -407,6 +407,12 @@ public class StockOutOrderDO extends BaseVOEntity {
@ApiModelProperty(name = "审核时间查询条件结束日期")
private String auditTimeEnd;
+ @ApiModelProperty("出库明细-物料名称(商品名称),模糊匹配")
+ private String materialName;
+
+ @ApiModelProperty("出库明细-物料编码,模糊匹配")
+ private String materialCode;
+
@ApiModelProperty(name = "已分配数量总数量")
private BigDecimal alreadyAllocationQuantityAll;
}
\ No newline at end of file
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java
index 1517a6854..84a1f4630 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java
@@ -36,6 +36,13 @@ public class StockOutOrderAssembler {
stockOutOrderDO.setAuditTimeStart(stockOutOrderDTO.getAuditTimeStart());
stockOutOrderDO.setAuditTimeEnd(stockOutOrderDTO.getAuditTimeEnd());
stockOutOrderDO.setTabType(stockOutOrderDTO.getTabType());
+ // 列表筛选:前端常传「名称 (编码)」展示串,库内多为纯名称,去掉末尾括号段再 LIKE
+ if (stockOutOrderDTO.getMaterialName() != null && !stockOutOrderDTO.getMaterialName().isEmpty()) {
+ String normalized = normalizeDetailMaterialNameForQuery(stockOutOrderDTO.getMaterialName());
+ stockOutOrderDO.setMaterialName(normalized.isEmpty()
+ ? stockOutOrderDTO.getMaterialName().trim()
+ : normalized);
+ }
return stockOutOrderDO;
}
@@ -83,4 +90,24 @@ public class StockOutOrderAssembler {
return stockOutOrderDO;
}
+ /**
+ * 去掉物料展示名末尾的「 (xxx) / (xxx)」等,便于与库内 material_name 模糊匹配。
+ */
+ private static String normalizeDetailMaterialNameForQuery(String raw) {
+ if (raw == null) {
+ return null;
+ }
+ String s = raw.trim();
+ // 循环去掉末尾多组括号(兼容「名称 (编码)」或重复后缀)
+ String next;
+ do {
+ next = s.replaceFirst("[\\s\\u3000]*[((][^))]*[))]\\s*$", "").trim();
+ if (next.equals(s)) {
+ break;
+ }
+ s = next;
+ } while (!s.isEmpty());
+ return s;
+ }
+
}
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java
index f8116c8fe..fe35ca819 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java
@@ -397,6 +397,12 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
@ApiModelProperty(name = "审核时间查询条件结束日期")
private String auditTimeEnd;
+ @ApiModelProperty("出库明细-物料名称(商品名称),模糊匹配,与前端参数 materialName 一致")
+ private String materialName;
+
+ @ApiModelProperty("出库明细-物料编码,模糊匹配,与前端参数 materialCode 一致")
+ private String materialCode;
+
@ApiModelProperty("出库交接图片,PDA出库交接时上传的照片,多张图片以逗号隔开")
private String pictureApp;
}
\ No newline at end of file
diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml
index 4f113b5da..b5c129e52 100644
--- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml
@@ -286,6 +286,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd}
+
+
+ and exists (
+ select 1 from out_material_detail omd
+ left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1
+ where omd.out_order_number = a.out_order_number
+ and omd.del_flag = 1
+ and (omd.level is null or omd.level = 1)
+
+ and (
+ omd.material_name like concat('%', #{materialName}, '%')
+ or mb.material_name like concat('%', #{materialName}, '%')
+ )
+
+
+ and (
+ omd.material_code like concat('%', #{materialCode}, '%')
+ or mb.material_code like concat('%', #{materialCode}, '%')
+ )
+
+ )
+
and a.del_flag = #{delFlag}
and a.del_flag = 1