package com.railway.business.catenary.service;

import com.github.pagehelper.Page;
import com.railway.business.catenary.domain.BusJceb;
import com.railway.business.catenary.domain.BusJcebLbjghjl;
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 java.util.List;

/**
* @author zhaomn
*/
public interface IBusJcebService<T extends BusJceb> {

    /**
     * 新增
     */
    int create(T t);

    /**
     * 更新
     */
    int update(T t);

    /**
    * 删除
    */
    int delete(String[] ids);

    /**
     * 获取单个
     */
    T getInfo(String id);

    /**
     * 导出Excel
     * @param query 查询条件
     * @return 文件路径
     */
    String exportExcel(JcebQueryVo query);

    /**
     * 查询列表
     */
    Page<JcebRecordVo> getListByType(JcebQueryVo query);

    /**
     * 查询汇总列表
     */
    JcebCountVo getCountByType(JcebQueryVo query);

    /**
     * 查询列表
     */
    List<T> getList(T t);

    /**
     * 提交
     * @return 提交结果
     */
    int submit(T t);

    /**
     * 退回
     * @return 退回结果
     */
    int reject(T t);

    /**
     * 确认
     * @return 确认结果
     */
    int confirm(T t);
}
