package com.wd.workoffice.ui.adapter;


import android.text.TextUtils;

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 InsideOrderDetailProductAdapter extends BaseQuickAdapter<OrderDetail.OrderItemsBean, BaseViewHolder> {
    int status;
    List<OrderCheckStatusBean.ItemsBean> proStatusList;
    public InsideOrderDetailProductAdapter(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.getInnerPrice(),3)));
        helper.setText(R.id.tv_all_price, "￥".concat(MathUtils.multiply(String.valueOf(item.getProductCount()),String.valueOf(item.getInnerPrice()),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);
        if (!TextUtils.isEmpty(item.getAnnex())){
            helper.setText(R.id.tv_annex,"附件");
//            helper.setText(R.id.tv_annex,item.getAnnex().substring(1));
        }
        helper.addOnClickListener(R.id.ll_annex);
        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.fl_quality, true);
        switch (status) {
//          "待审核", "待接单", "待生产", "已入库","已交付"};
//           "100", "200", "710", "500","600"};
            case 100:
                break;
            case 200:
                break;
            case 300:
                helper.setGone(R.id.ll_btn, true);
                helper.setGone(R.id.fl_get, false);
                helper.setGone(R.id.fl_return, false);
                helper.setGone(R.id.tv_flow, false);
                helper.setGone(R.id.fl_quality, false);
                break;
            case 410:
                helper.setGone(R.id.ll_btn, true);
                helper.setGone(R.id.fl_get, false);
                helper.setGone(R.id.fl_return, false);
                helper.setGone(R.id.tv_flow, false);
                helper.setGone(R.id.fl_quality, false);
                break;
            case 420:
                helper.setGone(R.id.ll_btn, true);
                helper.setGone(R.id.fl_get, false);
                helper.setGone(R.id.fl_return, false);
                helper.setGone(R.id.tv_flow, false);
                helper.setGone(R.id.fl_quality, false);
                break;
            case 500:
                helper.setGone(R.id.ll_btn, true);
                helper.setGone(R.id.fl_get, false);
                helper.setGone(R.id.fl_return, false);
                helper.setGone(R.id.tv_flow, false);
                helper.setGone(R.id.fl_quality, false);
                break;
            case 600:
                break;
        }
        if (!WorkUtils.hasPermission(PagePermissionType.IO_ENTER_PAGE.getPermission())) {
            helper.setGone(R.id.fl_add, 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.isQualityInspection());
                    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();
    }
}

