package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.FloodEmergencyPlan;
import org.springframework.web.multipart.MultipartFile;

/**
 * 应急预案库Service接口
 *
 * @author jackeyhuang
 * @version 1.0.0
 * @date 2025-01-27
 */
public interface IFloodEmergencyPlanService
{
    /**
     * 查询应急预案库
     *
     * @param planId 应急预案库主键
     * @return 应急预案库
     */
    public FloodEmergencyPlan selectFloodEmergencyPlanByPlanId(Long planId);

    /**
     * 查询应急预案库列表
     *
     * @param floodEmergencyPlan 应急预案库
     * @return 应急预案库集合
     */
    public List<FloodEmergencyPlan> selectFloodEmergencyPlanList(FloodEmergencyPlan floodEmergencyPlan);

    /**
     * 新增应急预案库
     *
     * @param floodEmergencyPlan 应急预案库
     * @return 结果
     */
    public int insertFloodEmergencyPlan(FloodEmergencyPlan floodEmergencyPlan);

    /**
     * 修改应急预案库
     *
     * @param floodEmergencyPlan 应急预案库
     * @return 结果
     */
    public int updateFloodEmergencyPlan(FloodEmergencyPlan floodEmergencyPlan);

    /**
     * 批量删除应急预案库
     *
     * @param planIds 需要删除的应急预案库主键集合
     * @return 结果
     */
    public int deleteFloodEmergencyPlanByPlanIds(Long[] planIds);

    /**
     * 删除应急预案库信息
     *
     * @param planId 应急预案库主键
     * @return 结果
     */
    public int deleteFloodEmergencyPlanByPlanId(Long planId);

    /**
     * 导入应急预案数据
     *
     * @param file 上传的文件
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importEmergencyPlan(MultipartFile file, Boolean isUpdateSupport, String operName);

    /**
     * 统计应急预案总数
     *
     * @return 应急预案总数
     */
    public int countFloodEmergencyPlan();
}
