package com.bonait.bnframework.modules.home.fragment.from;

import static com.bonait.bnframework.MainApplication.getContext;

import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.bonait.bnframework.R;
import com.bonait.bnframework.business.ExecuteTheRecipe;
import com.bonait.bnframework.common.base.BaseActivity;
import com.bonait.bnframework.common.helper.I.IWriteCallBack;
import com.bonait.bnframework.common.utils.ToastUtils;
import com.orhanobut.logger.Logger;
import com.qmuiteam.qmui.widget.QMUITopBarLayout;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class DzcjyActivity extends BaseActivity {
    @BindView(R.id.topbar)
    QMUITopBarLayout mTopBar;
    @BindView(R.id.ldjz)
    Button ldjz;//零点校准
    @BindView(R.id.edittext_zl)
    EditText edittext_zl;//砝码重量
    @BindView(R.id.jzzl)
    Button jzzl;//校正重量

    private Context context;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dzcjy);
        ButterKnife.bind(this);
        context=getContext();
        initTopBar();
        InitView();
    }

    private void initTopBar() {
        mTopBar.setTitle("电子秤校验");
        mTopBar.addLeftImageButton(R.mipmap.fanhui,R.id.topbar).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();            }
        });
    }


    /**
     * 初始化界面
     */
    public void InitView() {
        Initdata();
    }


    boolean IsOpen=false;
    @OnClick({R.id.ldjz,R.id.jzzl})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.ldjz://零点校准
                IsOpen= ExecuteTheRecipe.StartJiaoYanMode();
                if(IsOpen)
                {
                    ToastUtils.info("开启零点校正成功!");
                }else
                {
                    ToastUtils.error("开启零点校正失败,请检测plc连接!");
                }
                break;
            case R.id.jzzl://校正重量
                if(!IsOpen)
                {
                    ToastUtils.info("请先点击[零点校正],进入校正模式!");
                    return;
                }

                String outres = edittext_zl.getText().toString().trim();
                if (!outres.equals("")) {
                    ExecuteTheRecipe.WritePLC("砝码值", Short.parseShort(outres)*10, new IWriteCallBack() {
                        @Override
                        public void onSuccess() {
                            ExecuteTheRecipe.WritePLC("砝码值写入",true,null);
                            ToastUtils.info("校正重量成功！");
                        }

                        @Override
                        public void onFailure(String ErrorMsg) {
                            ToastUtils.error("校正重量失败！");
                        }
                    });
                }else
                {
                    ToastUtils.info("砝码值不能为空！");
                }

                ExecuteTheRecipe.StopJiaoYanMode();
                IsOpen=false;
                break;
        }
    }


    //region 数据加载
    /**
     * 初始化数据加载
     */
    public void Initdata() {
        try {

        } catch (Exception e) {

        }
    }
    //endregion

    @Override
    public void onDestroy() {
        super.onDestroy();
        Logger.d("我的fragment销毁");
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    ExecuteTheRecipe.StopJiaoYanMode();
                } catch (Exception e) {

                }
            }
        }).start();
    }

    /**
     * 当在activity设置viewPager + BottomNavigation + fragment时，
     * 为防止viewPager左滑动切换界面，与fragment左滑返回上一界面冲突引起闪退问题，
     * 必须加上此方法，禁止fragment左滑返回上一界面。
     * <p>
     * 切记！切记！切记！否则会闪退！
     * <p>
     * 当在fragment设置viewPager + BottomNavigation + fragment时，则不会出现这个问题。
     */
    @Override
    protected boolean canDragBack() {
        return false;
    }
}