PC入库单商品名称编码查询修改

This commit is contained in:
秦鸿展
2026-03-31 10:06:04 +08:00
parent 84223ef76b
commit d2415f2917
4 changed files with 61 additions and 0 deletions
@@ -35,6 +35,13 @@ public class StockInOrderAssembler {
// 确保查询条件字段被正确传递(查询条件字段需要明确传递,避免被IgnoreNullUtil忽略)
stockInOrderDO.setCreateTimeStart(stockInOrderDTO.getCreateTimeStart());
stockInOrderDO.setCreateTimeEnd(stockInOrderDTO.getCreateTimeEnd());
// 列表筛选:前端常传「名称 (编码)」展示串,库内多为纯名称,去掉末尾括号段再 LIKE
if (stockInOrderDTO.getMaterialName() != null && !stockInOrderDTO.getMaterialName().isEmpty()) {
String normalized = normalizeDetailMaterialNameForQuery(stockInOrderDTO.getMaterialName());
stockInOrderDO.setMaterialName(normalized.isEmpty()
? stockInOrderDTO.getMaterialName().trim()
: normalized);
}
return stockInOrderDO;
}
@@ -104,4 +111,24 @@ public class StockInOrderAssembler {
return stockInOrderDO;
}
/**
* 去掉物料展示名末尾的「 (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;
}
}
@@ -343,4 +343,10 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty("入库明细-物料名称(商品名称),模糊匹配,与前端参数 materialName 一致")
private String materialName;
@ApiModelProperty("入库明细-物料编码,模糊匹配,与前端参数 materialCode 一致")
private String materialCode;
}