PC出库单商品名称编码查询修改
This commit is contained in:
+6
@@ -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;
|
||||
}
|
||||
+27
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -286,6 +286,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="auditTimeEnd != null and auditTimeEnd != ''">
|
||||
and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd}
|
||||
</if>
|
||||
<!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
|
||||
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
|
||||
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)
|
||||
<if test="materialName != null and materialName != ''">
|
||||
and (
|
||||
omd.material_name like concat('%', #{materialName}, '%')
|
||||
or mb.material_name like concat('%', #{materialName}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="materialCode != null and materialCode != ''">
|
||||
and (
|
||||
omd.material_code like concat('%', #{materialCode}, '%')
|
||||
or mb.material_code like concat('%', #{materialCode}, '%')
|
||||
)
|
||||
</if>
|
||||
)
|
||||
</if>
|
||||
<choose>
|
||||
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
|
||||
<otherwise> and a.del_flag = 1 </otherwise>
|
||||
|
||||
Reference in New Issue
Block a user