package com.wd.workoffice.contract;

import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.ProductBean;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.bean.TradingBean;

import java.util.List;
import java.util.Map;

import flexible.xd.android_base.mvpBase.IBaseModel;
import flexible.xd.android_base.mvpBase.IBasePresenter;
import flexible.xd.android_base.mvpBase.IBaseView;
import io.reactivex.Observable;

/**
 * author : flexible
 * email : lgd19940421@163.com
 * github: https://github.com/FlexibleXd
 **/
public interface BatChooseInfoContract {
    interface Model extends IBaseModel {
        Observable<BaseBean> getProcess(String processCode, Integer transitPartId);

        Observable<BaseBean> getPro(Map<String, Object> param);

        Observable<BaseBean> getStock(Map<String,Object> param);

        Observable<BaseBean> getTradingPro(String code);

        Observable<BaseBean> getTradingProList(Map<String,Object> param);
    }

    interface View extends IBaseView {
        void processList(List<ProcessBean> dataList);


        void getPro(List<ProductBean.RecordsBean> dataList);

        void getStock(List<StockBean> dataList);

        void getTradingPro( List<ProductBean.RecordsBean> dataList);

        void getTradingProList(List<TradingBean.RecordsBean> dataList);
    }

    interface Presenter extends IBasePresenter<View> {

        void getProcess(String processCode, Integer transitPartId);


        void getPro(Map<String, Object> param);

        void getStock(Map<String,Object> param);

        void getTradingPro(String code);

        void getTradingProList(Map<String,Object> param);
    }
}
