package com.usky.fire.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.ReservePlan;
import com.usky.fire.service.vo.DataCountVo;

import java.util.List;

/**
 * <p>
 * 预案管理 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-09-05
 */
public interface ReservePlanService extends CrudService<ReservePlan> {

    /**
     * 预案管理-信息新增
     *
     * @param reservePlan
     */
    void reservePlanDataAdd(ReservePlan reservePlan);

    /**
     * 预案管理-信息编辑
     *
     * @param reservePlan
     */
    void reservePlanDataUpdate(ReservePlan reservePlan);

    /**
     * 预案管理-信息删除
     *
     * @param id 主键ID
     */
    void reservePlanDataDelete(Integer id);

    /**
     * 预案管理-列表查询
     *
     * @param reserveName 预案名称
     * @param startDate   开始时间 格式：yyyy-MM-dd HH:mm:ss
     * @param endDate     结束时间 格式：yyyy-MM-dd HH:mm:ss
     * @param pageNum     当前页
     * @param pageSize    每页条数
     * @return
     */
    CommonPage<Object> reservePlanDataList(String reserveName, String startDate, String endDate, Integer pageNum, Integer pageSize);

    /**
     * 根据单位ID查询预案数量
     *
     * @param companyId 单位ID
     * @return
     */
    List<DataCountVo> reservePlanCount(String companyId);
}
