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

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tofly.pojo.trouble.dto.TroubleDto;
import com.tofly.pojo.trouble.vo.detail.TroubleDetailVo;
import com.tofly.pojo.trouble.vo.TroubleVo;
import com.tofly.gpsboot.exception.BusinessException;
import com.tofly.gpsboot.service.IBaseService;
import com.tofly.pojo.trouble.Trouble;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 隐患上报信息表
 *
 * @author admin
 * @date Thu Mar 18 00:00:00 CST 2021
 */
public interface TroubleService extends IService<Trouble> {

    /**
     * 根据隐患上报id获取隐患所有明细
     * @param id
     * @return
     */
    TroubleDetailVo getTroubleInfoDetail(Long id,String flag);

    /**
     * 新增基本和详情信息
     * @param fileList
     * @param parDto
     */
    void savaBuildInfo(List<MultipartFile> fileList, TroubleDto parDto);
    /**
     * 自定义分页查询
     * @param page
     * @param parDto
     * @return
     */
    Page<Trouble> getBuildPage(Page page, TroubleDto parDto);

    /**
     * 修改基本和详情信息
     * @param fileList
     * @param parDto
     * @throws BusinessException 抛出更新当前数据不存在
     */
    void updateTroubleInfo(List<MultipartFile> fileList,TroubleDto parDto) throws BusinessException;

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