/*
 * Author: Zev
 * 生成Service
 */
package com.tofly.gpsboot.service.paln.year;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.gpsboot.strategy.ExcelStrategy;
import com.tofly.pojo.plan.dto.PlanmouthDto;
import com.tofly.pojo.plan.dto.PlanyearDto;
import com.tofly.pojo.plan.vo.PlanmouthVo;
import com.tofly.pojo.plan.vo.PlanyearVo;
import com.tofly.gpsboot.exception.BusinessException;
import com.tofly.pojo.plan.Planyear;
import com.tofly.gpsboot.service.IBaseService;

import java.util.List;


/**
 * 巡检年度计划记录信息表：TF_YWPN_PLANYEAR_W
 *
 * @author admin
 * @date Thu Mar 18 00:00:00 CST 2021
 */
public interface PlanyearService extends IBaseService<Planyear, PlanyearVo> , ExcelStrategy {

    /**
     * 分页查询
     * @param page
     * @param parDto
     * @return
     */
    Page<PlanyearVo> getInfoPage(Page page, PlanyearDto parDto);

    Page<PlanyearVo> getAuditList(Page page,PlanyearDto parDto);

    Page<PlanyearVo> getAllList(Page page,PlanyearDto parDto);

    Page<PlanyearVo> getNeedAuditList(Page page,PlanyearDto parDto);
    /**
     * 新增基本和详情信息
     * @param parDto
     * @throws BusinessException 抛出新增的详情为空
     */
    PlanyearDto savaYearPlanInfo(PlanyearDto parDto) throws BusinessException;


    /**
     * 获取基本和详情信息
     * @param id
     * @return 封装返回
     * @throws BusinessException 抛出id查询当前数据不存在
     */
    PlanyearVo getYearPlanInfo(Long id) throws BusinessException;

    /**
     * 修改基本和详情信息
     * @param parDto
     * @throws BusinessException 抛出更新当前数据不存在
     */
    void updateYearPlanInfo(PlanyearDto parDto) throws BusinessException;

    /**
     * 单个删除或批量删除信息
     * @param idList
     * @throws BusinessException 抛出删除对象不存在
     */
    void deleteYearPlanInfo(List<Long> idList)throws BusinessException;
}
