fix(mes): 修复等同物料关联查询错误

- 修正等同物料名称查询逻辑,使用正确的字段进行关联查询
-优化 SQL 查询语句,提高查询效率
master
zch 4 months ago
parent 79298094aa
commit f9007e08a8

@ -55,7 +55,7 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS
// 关联等同物料名称 // 关联等同物料名称
BaseMaterialInfo EqualMaterialInfo = baseMaterialInfoMapper.selectOne(Wrappers.lambdaQuery(BaseMaterialInfo.class) BaseMaterialInfo EqualMaterialInfo = baseMaterialInfoMapper.selectOne(Wrappers.lambdaQuery(BaseMaterialInfo.class)
.eq(BaseMaterialInfo::getMaterialId, baseEqualMaterialInfoVo.getMaterialId())); .eq(BaseMaterialInfo::getMaterialId, baseEqualMaterialInfoVo.getEqualMaterialId()));
if (!ObjectUtils.isEmpty(EqualMaterialInfo)) { if (!ObjectUtils.isEmpty(EqualMaterialInfo)) {
baseEqualMaterialInfoVo.setEqualMaterialName(EqualMaterialInfo.getMaterialName()); baseEqualMaterialInfoVo.setEqualMaterialName(EqualMaterialInfo.getMaterialName());
} }
@ -96,13 +96,14 @@ public class BaseEqualMaterialInfoServiceImpl implements IBaseEqualMaterialInfoS
.selectAll(BaseEqualMaterialInfo.class) .selectAll(BaseEqualMaterialInfo.class)
// 关联查询物料名称 // 关联查询物料名称
.select(BaseMaterialInfo::getMaterialName) .select("material.material_name as material_name")
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getMaterialId) .leftJoin(BaseMaterialInfo.class, "material", on -> on
.eq(BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getMaterialId))
// 关联查询等同物料名称 // 关联查询等同物料名称
.selectAs(BaseMaterialInfo::getMaterialName,BaseEqualMaterialInfo::getEqualMaterialName) .select("equal_material.material_name as equal_material_name")
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getMaterialId) .leftJoin(BaseMaterialInfo.class, "equal_material", on -> on
.eq(BaseMaterialInfo::getMaterialId, BaseEqualMaterialInfo::getEqualMaterialId))
.eq(bo.getEqualMaterialInfoId() != null, BaseEqualMaterialInfo::getEqualMaterialInfoId, bo.getEqualMaterialInfoId()) .eq(bo.getEqualMaterialInfoId() != null, BaseEqualMaterialInfo::getEqualMaterialInfoId, bo.getEqualMaterialInfoId())
.eq(bo.getMaterialId() != null, BaseEqualMaterialInfo::getMaterialId, bo.getMaterialId()) .eq(bo.getMaterialId() != null, BaseEqualMaterialInfo::getMaterialId, bo.getMaterialId())

Loading…
Cancel
Save