package com.wd.workoffice.ui.adapter;


import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.OrderCheckStatusBean;
import com.wd.workoffice.bean.OrderDetail;
import com.wd.workoffice.bean.workEnum.PagePermissionType;
import com.wd.workoffice.util.MathUtils;
import com.wd.workoffice.util.WorkUtils;

import java.util.List;

/**
 * Created by flexible on 2018/8/13.
 */

public class ProductOrderDetailProductAdapter extends BaseQuickAdapter<OrderDetail.OrderItemsBean, BaseViewHolder> {
    int status;
    List<OrderCheckStatusBean.ItemsBean> proStatusList;

    public ProductOrderDetailProductAdapter(int layoutResId, List data, Integer status) {
        super(layoutResId, data);
        this.status = status;
    }


    @Override
    protected void convert(BaseViewHolder helper, OrderDetail.OrderItemsBean item) {
        helper.setText(R.id.tv_name, item.getProductName());
        helper.setText(R.id.tv_card, item.getProductSoleCode());
        helper.setText(R.id.tv_card_name, item.getProductSimpleCode());
        helper.setText(R.id.tv_spec, item.getProductSpec());
        helper.setText(R.id.tv_price, "￥".concat(MathUtils.converData(item.getOuterPrice(),3)));
        helper.setText(R.id.tv_all_price, "￥".concat(MathUtils.multiply(MathUtils.converData(item.getProductCount(),3),
                MathUtils.converData(item.getOuterPrice(),3),3)));
        helper.setText(R.id.tv_unit, item.getProductUnit());
        helper.setText(R.id.tv_from, WorkUtils.getOrderFrom(item.getType()));
        helper.setText(R.id.tv_num, MathUtils.converData(item.getProductCount(),3));
        helper.setGone(R.id.ll_from,false);
        helper.setGone(R.id.ll_annex,false);
        helper.addOnClickListener(R.id.tv_get);
        helper.addOnClickListener(R.id.tv_return);
        helper.addOnClickListener(R.id.tv_flow);
        helper.addOnClickListener(R.id.tv_add);
        helper.addOnClickListener(R.id.tv_quality);
        helper.setGone(R.id.ll_btn, true);
        helper.setGone(R.id.fl_quality, false);
        helper.setGone(R.id.fl_add, false);
        helper.setGone(R.id.fl_return, false);
        helper.setGone(R.id.tv_flow, false);
        if (WorkUtils.hasPermission(PagePermissionType.AO_USE_APPLY_LIST.getPermission())) {
            helper.setGone(R.id.fl_get, true);
        } else {
            helper.setGone(R.id.fl_get, false);
        }
        changeStats(helper, item.getProductId());
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    private void changeStats(BaseViewHolder helper, int productId) {
        if (getProStatusList() != null) {
            for (OrderCheckStatusBean.ItemsBean itemsBean : getProStatusList()) {
                if (productId==itemsBean.getProductId()){
                    helper.setGone(R.id.view_add, itemsBean.isInStore());
                    helper.setGone(R.id.view_get, itemsBean.isUsed());
//                    helper.setGone(R.id.view_quality, itemsBean.);
                    helper.setGone(R.id.view_return, itemsBean.isReturnX());
                }
            }
        }
    }

    public List<OrderCheckStatusBean.ItemsBean> getProStatusList() {
        return proStatusList;
    }

    public void setProStatusList(List<OrderCheckStatusBean.ItemsBean> proStatusList) {
        this.proStatusList = proStatusList;
        notifyDataSetChanged();
    }
}

