package cn.iocoder.yudao.module.mes.dal.mysql.collect; 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.collect.vo.MesCollectAlarmPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.collect.MesCollectAlarmDO; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDateTime; /** * MES 数采-报警记录 Mapper * * @author 超级管理员 */ @Mapper public interface MesCollectAlarmMapper extends BaseMapperX { default PageResult selectPage(MesCollectAlarmPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MesCollectAlarmDO::getDeviceCode, reqVO.getDeviceCode()) .eqIfPresent(MesCollectAlarmDO::getMachineryId, reqVO.getMachineryId()) .eqIfPresent(MesCollectAlarmDO::getWorkOrderId, reqVO.getWorkOrderId()) .eqIfPresent(MesCollectAlarmDO::getStatus, reqVO.getStatus()) .betweenIfPresent(MesCollectAlarmDO::getWmTime, reqVO.getWmTime()) .orderByDesc(MesCollectAlarmDO::getWmTime)); } default Long selectActiveCountByDeviceCode(String deviceCode) { return selectCount(new LambdaQueryWrapperX() .eq(MesCollectAlarmDO::getDeviceCode, deviceCode) .eq(MesCollectAlarmDO::getStatus, 0)); } default int clearActiveByDeviceCode(String deviceCode, LocalDateTime clearTime) { return update(null, new LambdaUpdateWrapper() .eq(MesCollectAlarmDO::getDeviceCode, deviceCode) .eq(MesCollectAlarmDO::getStatus, 0) .set(MesCollectAlarmDO::getStatus, 1) .set(MesCollectAlarmDO::getClearTime, clearTime)); } }