package com.railway.business.catenary.mapper;

import com.github.pagehelper.Page;
import com.railway.business.catenary.domain.BusJcbDmcgyq;
import com.railway.business.catenary.domain.vo.JcebCountVo;
import com.railway.business.catenary.domain.vo.JcebQueryVo;
import com.railway.business.catenary.domain.vo.JcebRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
* 检查表-地面磁感应器
* @author zcf
* @date 2021/10/13
*/
@Mapper
@Repository
public interface BusJcbDmcgyqMapper {

    /**
    * 新增
    */
    int insert(BusJcbDmcgyq busJcbDmcgyq);

    /**
    * 删除
    */
    int delete(@Param("id") String id);

    /**
    * 更新
    */
    int update(BusJcbDmcgyq busJcbDmcgyq);

    /**
    * 获取单个
    */
    BusJcbDmcgyq getInfo(@Param("id") String id);

    /**
    * 查询列表
    */
    Page<BusJcbDmcgyq> getList(BusJcbDmcgyq busJcbDmcgyq);

    /**
     * 获取上次检查记录
     */
    BusJcbDmcgyq getLastRecord(Long userId);

    /**
     * 查询列表
     */
    Page<BusJcbDmcgyq> getJcebList(JcebQueryVo query);

    /**
     * 查询明细列表
     * @param query 查询参数
     * @return 数据记录明细
     */
    Page<JcebRecordVo> getListByType(JcebQueryVo query);

    /**
     * 查询汇总列表
     * @param query 查询参数
     * @return 汇总数据
     */
    JcebCountVo getCountByType(JcebQueryVo query);

}
