package com.tofly.ghrq_route.module.trouble.controller;

import com.tofly.ghrq_route.module.trouble.domain.RestrictFileBean;
import com.tofly.ghrq_route.module.trouble.domain.TroubleBean;
import com.tofly.ghrq_route.module.trouble.domain.TroublePlanRecordBean;

import java.util.List;

/**
 * Created by Amu on 2017/3/8.
 */

public interface ITroubleCallBack {
    /**
     *
     * 方法名： onGetTroubleList <br>
     * 功能：返回getTroubleList的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; troubleBeanList:隐患列表 total;总个数
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleList(boolean isSuccess, int errorCode, String errMsg, List<TroubleBean> troubleBeanList, int total);

    /**
     *
     * 方法名： onAddTrouble <br>
     * 功能：返回addTrouble的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; troubleId 返回的troubleId
     * 返回值： void<br>
     * 异常：
     */
    public void onAddTrouble(boolean isSuccess, int errorCode, String errMsg, String troubleId);

    public void onSetData(boolean isSuccess, int errorCode, String errMsg) ;

    public void onGetDatas(boolean isSuccess, int errorCode, String errMsg, List<?> dataList, int total) ;
    /**
     *  更新备份系统隐患上传状态信息
     * 功能：返回updateTroubleBackApiState的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语;
     * 返回值： void<br>
     * 异常：
     */
    public void onUpdateTroubleBackApiState(boolean isSuccess, int errorCode, String errMsg);

    /**
     *
     * 方法名： onGetTroubleAudio <br>
     * 功能：返回getTroubleAudio的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; troubleBeanList:隐患列表 total;总个数
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleAudio(boolean isSuccess, int errorCode, String errMsg, String path);

    /**
     *
     * 方法名： onGetTroubleFile <br>
     * 功能：返回getTroubleFile的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语;
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleFile(boolean isSuccess, int errorCode, String errMsg, String path);

    /**
     *
     * 方法名： onGetTroubleInfo <br>
     * 功能：返回getTroubleInfo的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; troubleBean:隐患详情
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleInfo(boolean isSuccess, int errorCode, String errMsg, TroubleBean troubleBean);

    /**
     *  添加隐患录入信息
     * 功能：返回addTroubleRecord的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语;
     * 返回值： void<br>
     * 异常：
     */
    public void onAddTroubleRecord(boolean isSuccess, int errorCode, String errMsg);

    /**
     *
     * 方法名： onGetTroubleRecordList <br>
     * 功能：返回getTroubleRecordList的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; recordList:录入历史列表 total;总个数
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleRecordList(boolean isSuccess, int errorCode, String errMsg, List<TroublePlanRecordBean> recordList, int total);

    /**
     *  添加删除隐患录入信息
     * 功能：返回removeTroubleRecord的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语;
     * 返回值： void<br>
     * 异常：
     */
    public void onRemoveTroubleRecord(boolean isSuccess, int errorCode, String errMsg);

    /**
     *  添加隐患清除录入信息
     * 功能：返回addTroubleClearRecord的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语;
     * 返回值： void<br>
     * 异常：
     */
    public void onAddTroubleClearRecord(boolean isSuccess, int errorCode, String errMsg);

    /**
     *
     * 方法名： onGetTroubleClearRecord <br>
     * 功能：返回getTroubleClearRecord的结果<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; recordClear:隐患清除记录
     * 返回值： void<br>
     * 异常：
     */
    public void onGetTroubleClearRecord(boolean isSuccess, int errorCode, String errMsg, List<TroublePlanRecordBean> clearRecords, int total);

    /**
     *
     * 方法名： onGetRestrictFileInfo <br>
     * 功能：返回限制安装文件的信息<br>
     * 参数： isSuccess,是否成功;errorCode 错误码  ;errMsg:错误提示语; fileBean:文件信息
     * 返回值： void<br>
     * 异常：
     */
    public void onGetRestrictFileInfo(boolean isSuccess, int errorCode, String errMsg, RestrictFileBean fileBean);

}
