package cn.iocoder.yudao.module.mes.dal.mysql.em.meter; 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.em.meter.vo.MesEmMeterPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.em.meter.vo.MesEmOptionRespVO; import cn.iocoder.yudao.module.mes.dal.dataobject.em.meter.MesEmMeterDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; /** * MES 能耗计量点 Mapper * * @author 超级管理员 */ @Mapper public interface MesEmMeterMapper extends BaseMapperX { default PageResult selectPage(MesEmMeterPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MesEmMeterDO::getCode, reqVO.getCode()) .likeIfPresent(MesEmMeterDO::getName, reqVO.getName()) .eqIfPresent(MesEmMeterDO::getEnergyType, reqVO.getEnergyType()) .eqIfPresent(MesEmMeterDO::getWorkshopId, reqVO.getWorkshopId()) .eqIfPresent(MesEmMeterDO::getStatus, reqVO.getStatus()) .orderByDesc(MesEmMeterDO::getId)); } default MesEmMeterDO selectByCode(String code) { return selectOne(MesEmMeterDO::getCode, code); } default List selectListByStatus(Integer status) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(MesEmMeterDO::getStatus, status) .orderByAsc(MesEmMeterDO::getEnergyType) .orderByAsc(MesEmMeterDO::getCode)); } @Select("SELECT id, code, name FROM mes_md_workshop WHERE deleted = 0 ORDER BY id") List selectWorkshopOptions(); @Select("SELECT id, code, name FROM mes_pro_line WHERE deleted = 0 ORDER BY id") List selectLineOptions(); @Select("SELECT id, code, name FROM mes_pro_line WHERE id = #{id} AND deleted = 0") MesEmOptionRespVO selectLineOptionById(@Param("id") Long id); @Select("SELECT id, code, name, workshop_id AS workshopId FROM mes_dv_machinery WHERE deleted = 0 ORDER BY id") List selectMachineryOptions(); }