/*
 * Author: wangjian
 * 生成Service
 */
package com.tofly.dispatch.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tofly.dispatch.dto.HazardDTO;
import com.tofly.dispatch.dto.HazardQuery;
import com.tofly.dispatch.entity.Hazard;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Set;

/**
 * 危险源
 *
 * @author qf
 * @date Thu Apr 21 00:00:00 CST 2022
 */
public interface HazardService extends IService<Hazard> {
    /**
     * 新增危险源
     * @param hazardDTO
     */
    void insert(HazardDTO hazardDTO,List<MultipartFile> fileList);

    /**
     * 修改危险源
     * @param hazardDTO
     */
    void edit(HazardDTO hazardDTO,List<MultipartFile> fileList);

    /**
     * 批量删除危险源
     * @param ids 数据ID
     */
    void delete(Set<Long> ids);

    /**
     * 分页查询
     * @param query 查询条件
     * @return 分页列表
     */
    Page<Hazard> pageList(Page page, HazardQuery query);

    /**
     * 查询所有危险源，支持模糊搜索
     * @param query 查询条件
     * @return危险源列表
     */
    List<Hazard> all(HazardQuery query);

    /**
     * 根据EmergencyId查询危险源
     * @param emergencyId 事件事故ID
     * @return 危险源列表
     */
    List<Hazard> getListByEmergencyId(Long emergencyId);
}
