PC出库单商品名称编码查询修改
This commit is contained in:
+6
@@ -407,6 +407,12 @@ public class StockOutOrderDO extends BaseVOEntity {
|
|||||||
@ApiModelProperty(name = "审核时间查询条件结束日期")
|
@ApiModelProperty(name = "审核时间查询条件结束日期")
|
||||||
private String auditTimeEnd;
|
private String auditTimeEnd;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库明细-物料名称(商品名称),模糊匹配")
|
||||||
|
private String materialName;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库明细-物料编码,模糊匹配")
|
||||||
|
private String materialCode;
|
||||||
|
|
||||||
@ApiModelProperty(name = "已分配数量总数量")
|
@ApiModelProperty(name = "已分配数量总数量")
|
||||||
private BigDecimal alreadyAllocationQuantityAll;
|
private BigDecimal alreadyAllocationQuantityAll;
|
||||||
}
|
}
|
||||||
+27
@@ -36,6 +36,13 @@ public class StockOutOrderAssembler {
|
|||||||
stockOutOrderDO.setAuditTimeStart(stockOutOrderDTO.getAuditTimeStart());
|
stockOutOrderDO.setAuditTimeStart(stockOutOrderDTO.getAuditTimeStart());
|
||||||
stockOutOrderDO.setAuditTimeEnd(stockOutOrderDTO.getAuditTimeEnd());
|
stockOutOrderDO.setAuditTimeEnd(stockOutOrderDTO.getAuditTimeEnd());
|
||||||
stockOutOrderDO.setTabType(stockOutOrderDTO.getTabType());
|
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;
|
return stockOutOrderDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,4 +90,24 @@ public class StockOutOrderAssembler {
|
|||||||
return stockOutOrderDO;
|
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 = "审核时间查询条件结束日期")
|
@ApiModelProperty(name = "审核时间查询条件结束日期")
|
||||||
private String auditTimeEnd;
|
private String auditTimeEnd;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库明细-物料名称(商品名称),模糊匹配,与前端参数 materialName 一致")
|
||||||
|
private String materialName;
|
||||||
|
|
||||||
|
@ApiModelProperty("出库明细-物料编码,模糊匹配,与前端参数 materialCode 一致")
|
||||||
|
private String materialCode;
|
||||||
|
|
||||||
@ApiModelProperty("出库交接图片,PDA出库交接时上传的照片,多张图片以逗号隔开")
|
@ApiModelProperty("出库交接图片,PDA出库交接时上传的照片,多张图片以逗号隔开")
|
||||||
private String pictureApp;
|
private String pictureApp;
|
||||||
}
|
}
|
||||||
@@ -286,6 +286,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="auditTimeEnd != null and auditTimeEnd != ''">
|
<if test="auditTimeEnd != null and auditTimeEnd != ''">
|
||||||
and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd}
|
and date_format(a.audit_time,'%Y-%m-%d') <= #{auditTimeEnd}
|
||||||
</if>
|
</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>
|
<choose>
|
||||||
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
|
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
|
||||||
<otherwise> and a.del_flag = 1 </otherwise>
|
<otherwise> and a.del_flag = 1 </otherwise>
|
||||||
|
|||||||
Reference in New Issue
Block a user