MainActivity.java 6.91 KB
package com.huaheng.tab;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import com.huaheng.common.MenuConstant;
import com.huaheng.common.WMSUtils;
import com.huaheng.common.adapter.MenuBean;
import com.huaheng.common.adapter.RecyclerViewAdapter;
import com.huaheng.common.model.TotalInventory;
import com.huaheng.httplib.HttpInterface;
import com.huaheng.httplib.HttpInterface2;
import com.huaheng.httplib.Subscribers.ProgressSubscriber;
import com.huaheng.httplib.Subscribers.SubscriberOnNextListener;
import com.huaheng.tab.util.CommonActivity;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

public class MainActivity extends CommonActivity {

    @BindView(R.id.recycleView)
    RecyclerView recycleView;
    private Context mContext;
    private RecyclerViewAdapter adapter;
    private ArrayList<MenuBean> menuBeans;
    private GridLayoutManager layoutManager;


    @Override
    protected void initActivityOnCreate(Bundle savedInstanceState) {
        super.initActivityOnCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        mContext = this;
        setTitle(this.getString(R.string.main_menu));
        setBackImageVisible(View.GONE);
        initView();

    }

    private void initView() {
        adapter = new RecyclerViewAdapter(mContext);
        layoutManager = new GridLayoutManager(mContext, 3);
        recycleView.setLayoutManager(layoutManager);
        recycleView.setAdapter(adapter);
        menuBeans = buildMenuBeans();
        if(menuBeans != null) {
            adapter.setList(menuBeans);
        }
        adapter.setOnItemClickListener(listener);
    }

    private ArrayList<MenuBean> buildMenuBeans() {
        ArrayList<MenuBean> menuBeans = new ArrayList<>();
        ArrayList<String> menuList = MenuConstant.getMenuList(mContext);
        ArrayList<Drawable> drawableList = MenuConstant.getMenuDrawable(mContext);
        for (int k = 0; k < menuList.size(); k++) {
            MenuBean menuBean = new MenuBean(drawableList.get(k), menuList.get(k));
            menuBeans.add(menuBean);
        }
        return menuBeans;
    }

    RecyclerViewAdapter.OnRecyclerViewItemClickListener listener = new RecyclerViewAdapter.OnRecyclerViewItemClickListener() {
        @Override
        public void onItemClick(int position) {
            if(position == 0) {
                WMSUtils.startActivity(mContext, OrderTableActivity.class);
            } else if(position == 1) {
                WMSUtils.startActivity(mContext, InventoryActivity.class);
            } else if(position == 2) {
                showEmptyDialog();
            } else if(position == 3) {
                showJudgeDialog();
            }
        }
    };

    private void showEmptyDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_empty_box, null);
        TextView cancel = view.findViewById(R.id.cancel);
        TextView sure = view.findViewById(R.id.sure);
        final EditText emptyEdit = view.findViewById(R.id.emptyEdit);
        final Spinner spinner = view.findViewById(R.id.spinner);
        final Dialog dialog = builder.create();
        dialog.show();
        dialog.getWindow().setContentView(view);
        dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
        sure.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String number = emptyEdit.getText().toString();
                int total = Integer.parseInt(number);
                if(total > 50) {
                    WMSUtils.showShort(mContext,"系统不允许空箱出库数超过50");
                    return;
                }
                String[] strarr = getResources().getStringArray(R.array.spinner_roadway_value);
                String roadway = strarr[(int)spinner.getSelectedItemId()];
                wcsCreateNumEmptyOut(total, roadway);
                dialog.dismiss();
            }
        });
    }

    private void showJudgeDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_judge_number, null);
        TextView cancel = view.findViewById(R.id.cancel);
        TextView sure = view.findViewById(R.id.sure);
        final EditText numberEdit = view.findViewById(R.id.numberEdit);
        final EditText containerEdit = view.findViewById(R.id.containerEdit);
        final Dialog dialog = builder.create();
        dialog.show();
        dialog.getWindow().setContentView(view);
        dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
        sure.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String number = numberEdit.getText().toString();
                String container = containerEdit.getText().toString();
                confirmTaskQty(container, number);
                dialog.dismiss();
            }
        });
    }

    private void wcsCreateNumEmptyOut(int number, String roadWay) {
        HttpInterface.getInsstance(mContext).wcsCreateNumEmptyOut(new ProgressSubscriber<String>(mContext, mobileTotalInventoryListener), number, roadWay);
    }

    SubscriberOnNextListener mobileTotalInventoryListener = new SubscriberOnNextListener<String>() {
        @Override
        public void onNext(String str) {
            WMSUtils.showShort(mContext, "生成空箱出库任务");
        }

        @Override
        public void onError(String str) {

        }
    };

    private void confirmTaskQty(String containerCode, String number) {
        HttpInterface2.getInsstance(mContext).confirmTaskQty(new ProgressSubscriber<String>(mContext, confirmTaskQtyListener), mContext, containerCode, number);
    }

    SubscriberOnNextListener confirmTaskQtyListener = new SubscriberOnNextListener<String>() {
        @Override
        public void onNext(String str) {
            WMSUtils.showShort(mContext, str);
        }

        @Override
        public void onError(String str) {

        }
    };
}