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


import com.tofly.ghrq_route.module.buildManage.BuildExaminesBean;
import com.tofly.ghrq_route.module.buildManage.controller.BuildManageCallback;
import com.tofly.ghrq_route.module.buildManage.domain.BuildFileBean;
import com.tofly.ghrq_route.module.buildManage.domain.BuildHandleBean;
import com.tofly.ghrq_route.module.buildManage.domain.BuildManageBean;
import com.tofly.ghrq_route.module.buildManage.domain.BuildManageBeans;
import com.tofly.ghrq_route.module.buildManage.domain.BuildProcessManageBean;
import com.tofly.ghrq_route.module.buildManage.domain.BuildReportBean;
import com.tofly.ghrq_route.module.trouble.domain.TroubleAudioBean;
import com.tofly.ghrq_route.module.trouble.domain.TroublePictureBean;

import java.util.List;

/**
 * Created by Amu on 2017/5/22.
 */

public interface IBuildManageService {
    /**
     * 获取工地监护列表
     */
    public void getBuildManageList(String constructionState, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    void getDataList(int constructionState, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    void searchData(String keyWord, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    void getBuildDetail(String id, BuildManageCallback buildManageCallback);

    /**
     * 获取工地类型列表
     */
    public void getBuildProjectTypeList(String token, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    /**
     * 获取工地负责人列表
     */
    public void getManagerList(BuildManageCallback buildManageCallback);

    /**
     * 获取工地类型列表
     */
    public void getBuildTye(BuildManageCallback buildManageCallback);

    /**
     * 获取工地回报记录列表
     */
    public void getBuildReportList(String token, String buildid, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    /**
     * 上传工地回报记录
     */
    public void uploadBuildReport(String token, String userid, BuildReportBean reportBean, List<TroublePictureBean> photos, List<TroubleAudioBean> audios, BuildManageCallback buildManageCallback);

    /**
     * 删除工地回报记录
     */
    public void removeBuildReport(String token, String reportid, BuildManageCallback buildManageCallback);

    /**
     * 获取监护申请列表
     */
    public void getBuildHandleList(String token, String buildid, int pageindex, int pagesize, BuildManageCallback buildManageCallback);

    /**
     * 上传工地监护申请
     */
    public void uploadBuildHandle(String token, BuildHandleBean handleBean, BuildManageCallback buildManageCallback);

    /**
     * 删除工地监护申请记录
     */
    public void removeBuildHandle(String token, String handleid, BuildManageCallback buildManageCallback);

    /**
     * 新工地发现
     */
    public void addBuildManage(String token, BuildManageBean buildManage, List<TroublePictureBean> photos, List<TroubleAudioBean> audios, List<BuildFileBean> fileBeanList, BuildManageCallback buildManageCallback);

    /**
     * 工程管理
     */
    public void addBuildProcessManage(BuildProcessManageBean buildManage, List<TroublePictureBean> photos, List<TroubleAudioBean> audios, List<BuildFileBean> fileBeanList, BuildManageCallback buildManageCallback);

    /**
     * 更新工地停留时间
     */
    public void updateBuildLog(BuildManageBean buildManageBean, BuildManageCallback buildManageCallback);

    /**
     * 获取工地监护列表
     */
    public void getBuildLogList(String token, BuildManageCallback buildManageCallback);

    /**
     * 工地工单派工
     */
    void getBuildDispatch(BuildManageBeans buildManageBean, BuildManageCallback buildManageCallback);

    /**
     * 工地工单审核
     */
    void getBuildExamine(BuildExaminesBean examinesBean, List<BuildFileBean> data, BuildManageCallback buildManageCallback);

}
