查询优化,新增酸连轧页面

This commit is contained in:
2025-11-17 11:58:42 +08:00
parent e60b62f3e2
commit 23900f38f8
11 changed files with 1523 additions and 380 deletions

View File

@@ -184,7 +184,24 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsRawMaterial> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getRawMaterialCode()), WmsRawMaterial::getRawMaterialCode, bo.getRawMaterialCode());
lqw.like(StringUtils.isNotBlank(bo.getRawMaterialName()), WmsRawMaterial::getRawMaterialName, bo.getRawMaterialName());
// 如果同时传入了名称和规格,且值相同(搜索关键词),使用 OR 条件
boolean hasName = StringUtils.isNotBlank(bo.getRawMaterialName());
boolean hasSpec = StringUtils.isNotBlank(bo.getSpecification());
if (hasName && hasSpec && bo.getRawMaterialName().equals(bo.getSpecification())) {
// 搜索关键词:匹配名称或规格
String searchKey = bo.getRawMaterialName();
lqw.and(wrapper -> wrapper
.like(WmsRawMaterial::getRawMaterialName, searchKey)
.or()
.like(WmsRawMaterial::getSpecification, searchKey)
);
} else {
// 分别处理名称和规格
lqw.like(hasName, WmsRawMaterial::getRawMaterialName, bo.getRawMaterialName());
lqw.like(hasSpec, WmsRawMaterial::getSpecification, bo.getSpecification());
}
lqw.eq(StringUtils.isNotBlank(bo.getSteelGrade()), WmsRawMaterial::getSteelGrade, bo.getSteelGrade());
lqw.eq(StringUtils.isNotBlank(bo.getTargetColdGrade()), WmsRawMaterial::getTargetColdGrade, bo.getTargetColdGrade());
lqw.eq(bo.getBaseMaterialId() != null, WmsRawMaterial::getBaseMaterialId, bo.getBaseMaterialId());
@@ -206,8 +223,6 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
lqw.eq(StringUtils.isNotBlank(bo.getInspectionResult()), WmsRawMaterial::getInspectionResult, bo.getInspectionResult());
lqw.eq(bo.getIsEnabled() != null, WmsRawMaterial::getIsEnabled, bo.getIsEnabled());
lqw.eq(bo.getBomId() != null, WmsRawMaterial::getBomId, bo.getBomId());
//规格模糊匹配
lqw.like(StringUtils.isNotBlank(bo.getSpecification()), WmsRawMaterial::getSpecification, bo.getSpecification());
lqw.eq(StringUtils.isNotBlank(bo.getMaterial()), WmsRawMaterial::getMaterial, bo.getMaterial());
lqw.eq(StringUtils.isNotBlank(bo.getSurfaceTreatmentDesc()), WmsRawMaterial::getSurfaceTreatmentDesc, bo.getSurfaceTreatmentDesc());
lqw.eq(StringUtils.isNotBlank(bo.getManufacturer()), WmsRawMaterial::getManufacturer, bo.getManufacturer());