From aeb72a25017b02f1277651e85ec6ad4e5ac3d9c1 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 18 Mar 2025 17:15:46 +0800 Subject: [PATCH] =?UTF-8?q?update=20Dms=E6=8A=A5=E8=AD=A6=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=85=B3=E7=B3=BB=E4=BF=A1=E6=81=AF=E3=80=81=E6=9C=BA?= =?UTF-8?q?=E5=8F=B0=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/dms/domain/BaseAlarmRule.java | 22 +++++++ .../dms/domain/bo/BaseAlarmRuleBo.java | 7 ++- .../dms/domain/vo/BaseAlarmRuleVo.java | 23 +++++++ .../impl/BaseAlarmRuleServiceImpl.java | 54 ++++++++++------- .../mes/domain/ProdBaseDeviceMode.java | 53 ++++++++++++++++ .../mes/domain/ProdBaseMachineInfo.java | 51 ++++++++++++++++ .../mes/domain/bo/ProdBaseMachineInfoBo.java | 55 +++++++++++++++++ .../mes/domain/vo/ProdBaseMachineInfoVo.java | 60 +++++++++++++++++++ .../mes/mapper/prodBaseDeviceModeMapper.java | 14 +++++ .../impl/ProdBaseMachineInfoServiceImpl.java | 2 + 10 files changed, 315 insertions(+), 26 deletions(-) create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java index 5df1a28a..bd735a05 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmRule.java @@ -112,5 +112,27 @@ public class BaseAlarmRule extends TenantEntity { */ private String remark; + /** + * 报警级别名称 + */ + @TableField(exist = false) + private String alarmLevelName; + + /** + * 报警类型名称 + */ + @TableField(exist = false) + private String alarmTypeName; + /** + * 设备名称 + */ + @TableField(exist = false) + private String ruleDeviceName; + + /** + * 设备模型名称 + */ + @TableField(exist = false) + private String ruleDeviceModeName; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java index da27ed2b..68b9749d 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/BaseAlarmRuleBo.java @@ -28,19 +28,19 @@ public class BaseAlarmRuleBo extends BaseEntity { /** * 规则名称 */ - @NotBlank(message = "规则名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "规则名称不能为空", groups = {AddGroup.class, EditGroup.class}) private String alarmRuleName; /** * 报警级别,关联表hw_alarm_level字段alarm_level_id */ - @NotNull(message = "报警级别,关联表hw_alarm_level字段alarm_level_id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "报警级别", groups = {AddGroup.class, EditGroup.class}) private Long alarmLevelId; /** * 报警类型,关联表hw_alarm_type字段alarm_type_id */ - @NotNull(message = "报警类型,关联表hw_alarm_type字段alarm_type_id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "报警类型", groups = {AddGroup.class, EditGroup.class}) private Long alarmTypeId; /** @@ -66,6 +66,7 @@ public class BaseAlarmRuleBo extends BaseEntity { /** * 表达式,例如:{}>60 or {}<-88 */ + @NotBlank(message = "表达式不能为空", groups = {AddGroup.class, EditGroup.class}) private String triggerExpression; /** diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java index 78694bde..ef6e2143 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/BaseAlarmRuleVo.java @@ -141,5 +141,28 @@ public class BaseAlarmRuleVo implements Serializable { @ExcelProperty(value = "描述") private String remark; + /** + * 报警级别名称 + */ + @ExcelProperty(value = "报警级别名称") + private String alarmLevelName; + + /** + * 报警类型名称 + */ + @ExcelProperty(value = "报警类型名称") + private String alarmTypeName; + + /** + * 设备名称 + */ + @ExcelProperty(value = "设备名称") + private String ruleDeviceName; + + /** + * 设备模型名称 + */ + @ExcelProperty(value = "设备模型名称") + private String ruleDeviceModeName; } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java index ec2c60d0..cd060930 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/BaseAlarmRuleServiceImpl.java @@ -7,8 +7,10 @@ import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.BaseAlarmLevel; +import org.dromara.dms.domain.BaseAlarmType; +import org.dromara.dms.domain.DmsDeviceMode; import org.springframework.stereotype.Service; import org.dromara.dms.domain.bo.BaseAlarmRuleBo; import org.dromara.dms.domain.vo.BaseAlarmRuleVo; @@ -39,7 +41,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { * @return 报警规则 */ @Override - public BaseAlarmRuleVo queryById(Long alarmRuleId){ + public BaseAlarmRuleVo queryById(Long alarmRuleId) { return baseMapper.selectVoById(alarmRuleId); } @@ -72,25 +74,31 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { private MPJLambdaWrapper buildQueryWrapper(BaseAlarmRuleBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(BaseAlarmRule.class) - .selectAll(BaseAlarmRule.class) - .eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId()) - .like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName()) - .eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId()) - .eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId()) - .eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType()) - .eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId()) - .eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId()) - .eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal()) - .eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression()) - .eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag()) - .eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus()) - .eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag()) - .eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent()) - .eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent()) - .eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame()) - .eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber()) - .eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone()) - .orderByAsc(BaseAlarmRule::getCreateTime); + .selectAll(BaseAlarmRule.class) + .select(BaseAlarmLevel::getAlarmLevelName) + .select(BaseAlarmType::getAlarmTypeName) + .select(DmsDeviceMode::getDeviceModeName) + .leftJoin(BaseAlarmLevel.class, BaseAlarmLevel::getAlarmLevelId, BaseAlarmRule::getAlarmLevelId) + .leftJoin(BaseAlarmType.class, BaseAlarmType::getAlarmTypeId, BaseAlarmRule::getAlarmTypeId) + .leftJoin(DmsDeviceMode.class, DmsDeviceMode::getDeviceModeId, BaseAlarmRule::getRuleDeviceModeId) + .eq(bo.getAlarmRuleId() != null, BaseAlarmRule::getAlarmRuleId, bo.getAlarmRuleId()) + .like(StringUtils.isNotBlank(bo.getAlarmRuleName()), BaseAlarmRule::getAlarmRuleName, bo.getAlarmRuleName()) + .eq(bo.getAlarmLevelId() != null, BaseAlarmRule::getAlarmLevelId, bo.getAlarmLevelId()) + .eq(bo.getAlarmTypeId() != null, BaseAlarmRule::getAlarmTypeId, bo.getAlarmTypeId()) + .eq(StringUtils.isNotBlank(bo.getRuleType()), BaseAlarmRule::getRuleType, bo.getRuleType()) + .eq(bo.getRuleDeviceId() != null, BaseAlarmRule::getRuleDeviceId, bo.getRuleDeviceId()) + .eq(bo.getRuleDeviceModeId() != null, BaseAlarmRule::getRuleDeviceModeId, bo.getRuleDeviceModeId()) + .eq(bo.getRuleFunctionTotal() != null, BaseAlarmRule::getRuleFunctionTotal, bo.getRuleFunctionTotal()) + .eq(StringUtils.isNotBlank(bo.getTriggerExpression()), BaseAlarmRule::getTriggerExpression, bo.getTriggerExpression()) + .eq(StringUtils.isNotBlank(bo.getLinkFlag()), BaseAlarmRule::getLinkFlag, bo.getLinkFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmRuleStatus()), BaseAlarmRule::getAlarmRuleStatus, bo.getAlarmRuleStatus()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushFlag()), BaseAlarmRule::getAlarmPushFlag, bo.getAlarmPushFlag()) + .eq(StringUtils.isNotBlank(bo.getAlarmPushContent()), BaseAlarmRule::getAlarmPushContent, bo.getAlarmPushContent()) + .eq(StringUtils.isNotBlank(bo.getAlarmRecoverContent()), BaseAlarmRule::getAlarmRecoverContent, bo.getAlarmRecoverContent()) + .eq(bo.getTriggerTimeFrame() != null, BaseAlarmRule::getTriggerTimeFrame, bo.getTriggerTimeFrame()) + .eq(bo.getTriggerNumber() != null, BaseAlarmRule::getTriggerNumber, bo.getTriggerNumber()) + .eq(bo.getTriggerDeadzone() != null, BaseAlarmRule::getTriggerDeadzone, bo.getTriggerDeadzone()) + .orderByAsc(BaseAlarmRule::getCreateTime); return lqw; } @@ -127,7 +135,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(BaseAlarmRule entity){ + private void validEntityBeforeSave(BaseAlarmRule entity) { //TODO 做一些数据校验,如唯一约束 } @@ -140,7 +148,7 @@ public class BaseAlarmRuleServiceImpl implements IBaseAlarmRuleService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java new file mode 100644 index 00000000..d649ade2 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseDeviceMode.java @@ -0,0 +1,53 @@ +package org.dromara.mes.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; + +import java.io.Serial; + +/** + * 设备模型对象 dms_device_mode + * + * @author Yinq + * @date 2025-03-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_device_mode") +public class ProdBaseDeviceMode extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 设备模型ID + */ + @TableId(value = "device_mode_id", type = IdType.AUTO) + private Long deviceModeId; + + /** + * 设备模型名称 + */ + private String deviceModeName; + + /** + * 设备模型状态(1:启用,9:删除) + */ + private String deviceModeStatus; + + /** + * 设备模型图片地址 + */ + private String deviceModePic; + + /** + * 场景描述 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java index 257c3201..da74ae2e 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/ProdBaseMachineInfo.java @@ -77,9 +77,60 @@ public class ProdBaseMachineInfo extends TenantEntity { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + private Long deviceModeId; + + /** + * 设备IP地址 + */ + private String machineIp; + + /** + * 设备端口 + */ + private Long machinePort; + + /** + * 设备协议 + */ + private String accessProtocol; + + /** + * 寄存器地址 + */ + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + private String dataType; + + /** + * 数据长度 + */ + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + private Long requestInterval; + /** * 车间名称 */ @TableField(exist = false) private String workshopName; + + /** + * 设备模型名称 + */ + @TableField(exist = false) + private String deviceModeName; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java index 8e323cd7..c6e36b99 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdBaseMachineInfoBo.java @@ -1,5 +1,6 @@ package org.dromara.mes.domain.bo; +import com.alibaba.excel.annotation.ExcelProperty; import org.dromara.mes.domain.ProdBaseMachineInfo; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -85,5 +86,59 @@ public class ProdBaseMachineInfoBo extends BaseEntity { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + @ExcelProperty(value = "设备模型,关联设备模型dms_device_mode") + private Long deviceModeId; + + /** + * 设备IP地址 + */ + @ExcelProperty(value = "设备IP地址") + private String machineIp; + + /** + * 设备端口 + */ + @ExcelProperty(value = "设备端口") + private Long machinePort; + + /** + * 设备协议 + */ + @ExcelProperty(value = "设备协议") + private String accessProtocol; + + /** + * 寄存器地址 + */ + @ExcelProperty(value = "寄存器地址") + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + @ExcelProperty(value = "数据类型") + private String dataType; + + /** + * 数据长度 + */ + @ExcelProperty(value = "数据长度") + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + @ExcelProperty(value = "数据编码格式") + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + @ExcelProperty(value = "请求间隔") + private Long requestInterval; + private List baseMachineProcessList; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java index 35d21f52..a53df787 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdBaseMachineInfoVo.java @@ -131,12 +131,72 @@ public class ProdBaseMachineInfoVo implements Serializable { */ private Long workshopId; + /** + * 设备模型,关联设备模型dms_device_mode + */ + @ExcelProperty(value = "设备模型,关联设备模型dms_device_mode") + private Long deviceModeId; + + /** + * 设备IP地址 + */ + @ExcelProperty(value = "设备IP地址") + private String machineIp; + + /** + * 设备端口 + */ + @ExcelProperty(value = "设备端口") + private Long machinePort; + + /** + * 设备协议 + */ + @ExcelProperty(value = "设备协议") + private String accessProtocol; + + /** + * 寄存器地址 + */ + @ExcelProperty(value = "寄存器地址") + private String registerAddress; + + /** + * 数据类型(1、bool,2、short,3int,4long,5float,6byte,7ushort,8uint,9ulong,10double,11字符串) + */ + @ExcelProperty(value = "数据类型") + private String dataType; + + /** + * 数据长度 + */ + @ExcelProperty(value = "数据长度") + private Long dataLength; + + /** + * 数据编码格式(1ASCII,2Unicode,3Unicode-big,4UTF-8,5UTF-32,6、ANSI,7、GB2312) + */ + @ExcelProperty(value = "数据编码格式") + private String dataEncoding; + + /** + * 请求间隔(单位:毫秒) + */ + @ExcelProperty(value = "请求间隔") + private Long requestInterval; + /** * 车间名称 */ @ExcelProperty(value = "车间名称") private String workshopName; + /** + * 设备模型名称 + */ + @ExcelProperty(value = "设备模型名称") + private String deviceModeName; + private List baseMachineProcessList; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java new file mode 100644 index 00000000..6ab6620e --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/prodBaseDeviceModeMapper.java @@ -0,0 +1,14 @@ +package org.dromara.mes.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.mes.domain.ProdBaseDeviceMode; + +/** + * 设备模型Mapper接口 + * + * @author Yinq + * @date 2025-03-11 + */ +public interface prodBaseDeviceModeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java index 089aa521..4c573151 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java @@ -96,7 +96,9 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi MPJLambdaWrapper lqw = JoinWrappers.lambda(ProdBaseMachineInfo.class) .selectAll(ProdBaseMachineInfo.class) .select(ProdBaseWorkshopInfo::getWorkshopName) + .select(ProdBaseDeviceMode::getDeviceModeName) .leftJoin(ProdBaseWorkshopInfo.class, ProdBaseWorkshopInfo::getWorkshopId, ProdBaseMachineInfo::getWorkshopId) + .leftJoin(ProdBaseDeviceMode.class, ProdBaseDeviceMode::getDeviceModeId, ProdBaseMachineInfo::getDeviceModeId) .eq(bo.getMachineId() != null, ProdBaseMachineInfo::getMachineId, bo.getMachineId()) .like(StringUtils.isNotBlank(bo.getMachineCode()), ProdBaseMachineInfo::getMachineCode, bo.getMachineCode()) .like(StringUtils.isNotBlank(bo.getMachineName()), ProdBaseMachineInfo::getMachineName, bo.getMachineName())