package com.gci.boot.modules.vehicles.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gci.boot.modules.statis.vo.AccidentInfoStatisVo;
import com.gci.boot.modules.statis.vo.StatisParamVO;
import com.gci.boot.modules.vehicles.entity.TbAccidentInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 事故信息基础表 Mapper 接口
 * </p>
 *
 * @author 2464
 * @since 2023-09-13
 */
public interface TbAccidentInfoMapper extends BaseMapper<TbAccidentInfo> {

    IPage<TbAccidentInfo> pageBuild(@Param("page") Page<TbAccidentInfo> page,@Param(Constants.WRAPPER) QueryWrapper<TbAccidentInfo> query);

    Integer countAccidentNotClose(@Param(Constants.WRAPPER) QueryWrapper<TbAccidentInfo> query);

    IPage<AccidentInfoStatisVo> findStatisAccidentInfoByDayMonthYear(@Param("page") Page<AccidentInfoStatisVo> page,@Param("vo") StatisParamVO vo);

    List<AccidentInfoStatisVo> findStatisAccidentInfoAll(@Param("vo") StatisParamVO vo);

    TbAccidentInfo getItemById(@Param("id") String id);
}
