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

import android.content.Context;

import com.tofly.ghrq_route.module.trouble.controller.TroubleCallBack;
import com.tofly.ghrq_route.module.trouble.domain.AuditSchemeBean;
import com.tofly.ghrq_route.module.trouble.domain.TroubleAudioBean;
import com.tofly.ghrq_route.module.trouble.domain.TroubleBean;
import com.tofly.ghrq_route.module.trouble.domain.TroublePictureBean;

import java.util.List;

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

public interface ITroubleService {
    /**
     *  获取隐患列表
     */
    public void getTroubleList(Context context, String userid, int select_state, String keyword, int pageindex, int pagesize, final TroubleCallBack troubleCallBack);

    /**
     *  获取隐患音频
     */
    public void getTroubleAudio(String token, String url, final TroubleCallBack troubleCallBack);

    /**
     *  获取隐患文件
     */
    public void getTroubleFile(Context context, String url, String fileName, String dirPath, final TroubleCallBack troubleCallBack);

    /**
     *  获取隐患详情
     */
    public void getTroubleInfo(Context context, String troubleid, final TroubleCallBack troubleCallBack);

    /**
     * 获取隐患事件级别信息
     */
    public void getTroubleEventType(Context context, TroubleCallBack troubleCallBack);

    /**
     *  添加隐患录入信息
     */
    public void addTroubleRecord(String token, String tableid, List<TroublePictureBean> photos, List<TroubleAudioBean> audios, String notes, final TroubleCallBack troubleCallBack);

    /**
     *  获取隐患录入历史
     */
    public void getTroubleRecordList(String token, String tableid, String searchDate, int pageindex, int pagesize, final TroubleCallBack troubleCallBack);

    /**
     *  添加隐患录入信息
     */
    public void removeTroubleRecord(String token, String tableid, final TroubleCallBack troubleCallBack);

    /**
     *  添加隐患清除录入信息
     */
    public void addTroubleClearRecord(String token, String troubleid, String plan_point_id, List<TroublePictureBean> photos, List<TroubleAudioBean> audios, String notes, final TroubleCallBack troubleCallBack);

    /**
     *  获取隐患清除数据
     */
    public void getTroubleClearRecordList(String token, String troubleid, String childplanid, int pageindex, int pagesize, final TroubleCallBack troubleCallBack);

    /**
     *  增加隐患 新接口，支持同时上传隐患信息，图片和语音
     */
    public void addTroubleNew(Context context, TroubleBean trouble, List<TroublePictureBean> photos,
                              List<TroubleAudioBean> audios, List<TroubleAudioBean> files, final TroubleCallBack troubleCallBack);

    /**
     *  值班人员现场勘察
     */
    public void ondutyUserCheckTrouble(Context context, TroubleBean trouble, List<TroublePictureBean> photos,
                                       List<TroubleAudioBean> audios, List<TroubleAudioBean> files, final TroubleCallBack troubleCallBack);

    /**
     *  承办班班长审核派工
     */
    public void undertakerVerifyTrouble(Context context, TroubleBean troubleBean, TroubleCallBack troubleCallBack);

    /**
     *  巡检人员现场核实
     */
    public void undertakerHandleTrouble(Context context, TroubleBean troubleBean, List<TroublePictureBean> photos,
                                        List<TroubleAudioBean> audios, List<TroubleAudioBean> files, TroubleCallBack troubleCallBack);

    /**
     *  副部长审核派工
     */
    public void underSectaryVerifyAssignTrouble(Context context, TroubleBean troubleBean, AuditSchemeBean schemeBean, TroubleCallBack troubleCallBack);

    /**
     *  责任班班长编制方案
     */
    public void ondutyMakeScheme(Context context, String troubleId, int flag, AuditSchemeBean schemeBean, TroubleCallBack troubleCallBack);

    /**
     *  部长审核方案编制
     */
    public void sectaryVerifyScheme(Context context, TroubleBean troubleBean, TroubleCallBack troubleCallBack);

    /**
     *  负责人执行方案和回报
     */
    public void ondutyHandleScheme(Context context, TroubleBean troubleBean, String notes, List<TroublePictureBean> photos,
                                    List<TroubleAudioBean> audios, List<TroubleAudioBean> files,  TroubleCallBack troubleCallBack);

    /**
     *  副部长审核处理回报
     */
    public void undersectaryVerifyHandle(Context context, TroubleBean troubleBean, TroubleCallBack troubleCallBack);

    /**
     *  修改设备管线基本信息
     */
    public void updatePipeDevice(final Context context, final TroubleBean troubleBean, final TroubleCallBack troubleCallBack);

    /**
     * 获取服务器限制安装文件(.aa文件)最新信息
     */
    public void getRestrictFileInfo(Context context, final TroubleCallBack troubleCallBack);
}

