package cn.iocoder.yudao.module.mes.dal.mysql.dv.repair; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.dv.repair.MesDvRepairDO; import org.apache.ibatis.annotations.Mapper; /** * MES 维修工单 Mapper * * @author 超级管理员 */ @Mapper public interface MesDvRepairMapper extends BaseMapperX { default PageResult selectPage(MesDvRepairPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MesDvRepairDO::getCode, reqVO.getCode()) .likeIfPresent(MesDvRepairDO::getName, reqVO.getName()) .eqIfPresent(MesDvRepairDO::getMachineryId, reqVO.getMachineryId()) .eqIfPresent(MesDvRepairDO::getResult, reqVO.getResult()) .eqIfPresent(MesDvRepairDO::getStatus, reqVO.getStatus()) .betweenIfPresent(MesDvRepairDO::getRequireDate, reqVO.getRequireDate()) // 参数绑定,按设备台账当前名称模糊查询;列表与导出共享条件。 .apply(cn.hutool.core.util.StrUtil.isNotBlank(reqVO.getMachineryName()), "machinery_id IN (SELECT id FROM mes_dv_machinery WHERE deleted=0 AND name LIKE {0})", "%" + cn.hutool.core.util.StrUtil.trimToEmpty(reqVO.getMachineryName()) + "%") .orderByDesc(MesDvRepairDO::getId)); } default MesDvRepairDO selectByCode(String code) { return selectOne(MesDvRepairDO::getCode, code); } default Long selectCountByMachineryId(Long machineryId) { return selectCount(MesDvRepairDO::getMachineryId, machineryId); } }