MenuFragment.java 7.13 KB
package com.huaheng.wms.fragment;

import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Printer;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

import com.huaheng.wms.R;
import com.huaheng.wms.adapter.MyPageAdapter;
import com.huaheng.wms.adapter.RecyclerViewAdapter;
import com.huaheng.wms.bean.CompanyInfo;
import com.huaheng.wms.https.HttpInterface;
import com.huaheng.wms.util.CommonActivity;
import com.huaheng.wms.util.Constant;
import com.huaheng.wms.util.DataBaseHelpter;
import com.huaheng.wms.util.MenuBean;
import com.huaheng.wms.util.ModulesBean;
import com.huaheng.wms.util.WMSUtils;
import com.huaheng.wms.work.ChooseCompanyActivity;
import com.huaheng.wms.work.check.CheckActivity;
import com.huaheng.wms.work.collectgoods.CollectGoodsActivity;
import com.huaheng.wms.work.collectgoods.ReceiptActivity;
import com.huaheng.wms.work.collectgoods.ScanBarcodeActivity;
import com.huaheng.wms.work.inventoryQuery.InventoryQueryActivity;
import com.huaheng.wms.work.load.LoadActivity;
import com.huaheng.wms.work.login.WareHouseActivity;
import com.huaheng.wms.work.onshell.OnshellActivity;
import com.huaheng.wms.work.picking.PickingActivity;
import com.huaheng.wms.work.picking.ShipmentActivity;
import com.huaheng.wms.work.printer.PrinterActivity;
import com.huaheng.wms.work.review.ReviewActivity;
import com.huaheng.wms.work.transfer.TransferActivity;

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

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.Subscriber;

public class MenuFragment extends CommonActivity {


    @BindView(R.id.viewpager)
    ViewPager viewpager;
    @BindView(R.id.currentCompany)
    TextView currentCompany;
    private View v1;
    private GridLayoutManager layoutManager;
    private RecyclerView recyclerView;
    private RecyclerViewAdapter adapter;
    private ArrayList <MenuBean> menuBeans;
    private ArrayList <CompanyInfo> companyInfoList;

    @Override
    protected void initActivityOnCreate(Bundle savedInstanceState) {
        super.initActivityOnCreate(savedInstanceState);
        setContentView(R.layout.fragment_menu);
        ButterKnife.bind(this);
        setTitle(WMSUtils.getData(Constant.CURREN_WAREHOUSE));
        setBackImageVisible(View.GONE);
        LayoutInflater li = getLayoutInflater();
        v1 = li.inflate(R.layout.activity_menu, null);
        layoutManager = new GridLayoutManager(mContext, 3);
        adapter = new RecyclerViewAdapter(mContext);
        recyclerView = (RecyclerView) v1.findViewById(R.id.recycleView);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(adapter);
        menuBeans = buildMenuBeans();
        if (menuBeans != null) {
            adapter.setList(menuBeans);
        }
        adapter.setOnItemClickListener(listener);
        ArrayList <View> aList = new ArrayList <View>();
        aList.add(v1);
        MyPageAdapter mAdapter = new MyPageAdapter(aList);
        viewpager.setAdapter(mAdapter);
        getCompanyInfo();
    }

    @Override
    protected void onStart() {
        super.onStart();
        currentCompany.setText(WMSUtils.getData(Constant.CURREN_COMPANY_NAME, Constant.DEFAULT_COMPANY_NAME));
    }

    private ArrayList <MenuBean> buildMenuBeans() {
        List <ModulesBean> modulesBeans = DataBaseHelpter.queryAllModule();
        if (modulesBeans == null || modulesBeans.size() < 1) {
            return null;
        }
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <MenuBean> sortmenuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getMenuDrawable(mContext);
        MenuBean menuBean;
//        for (int i = 0; i < modulesBeans.size(); i++) {
//            if (!modulesBeans.get(i).getParentId().equals("0")) {
//                continue;
//            }
//        }
        for (int j = 0; j < menuList.size(); j++) {
            menuBean = new MenuBean(drawableList.get(j), menuList.get(j));
            menuBeans.add(menuBean);
        }
        for (int k = 0; k < menuList.size(); k++) {
            menuBean = new MenuBean(drawableList.get(k), menuList.get(k));
            sortmenuBeans.add(menuBean);
        }
        return sortmenuBeans;
    }

    private RecyclerViewAdapter.OnRecyclerViewItemClickListener listener = new RecyclerViewAdapter.OnRecyclerViewItemClickListener() {
        @Override
        public void onItemClick(int position) {
            chooseItemListener(position);
        }
    };

    private void chooseItemListener(int positino) {
        MenuBean bean = menuBeans.get(positino);
        String name = bean.getName();
        if (name.equals(mContext.getString(R.string.collect_goods))) {
            WMSUtils.startActivity(mContext, ReceiptActivity.class);
        } else if (name.equals(mContext.getString(R.string.on_the_shelf))) {
            WMSUtils.startActivity(mContext, OnshellActivity.class);
        } else if (name.equals(mContext.getString(R.string.picking))) {
            WMSUtils.startActivity(mContext, ShipmentActivity.class);
        } else if (name.equals(mContext.getString(R.string.review))) {
            WMSUtils.startActivity(mContext, ReviewActivity.class);
        } else if (name.equals(mContext.getString(R.string.load))) {
            WMSUtils.startActivity(mContext, LoadActivity.class);
        } else if (name.equals(mContext.getString(R.string.check))) {
            WMSUtils.startActivity(mContext, CheckActivity.class);
        } else if (name.equals(mContext.getString(R.string.inventory_query))) {
            WMSUtils.startActivity(mContext, InventoryQueryActivity.class);
        } else if (name.equals(mContext.getString(R.string.transfer_library))) {
            WMSUtils.startActivity(mContext, TransferActivity.class);
        } else if (name.equals(mContext.getString(R.string.scan_container))) {
            WMSUtils.startActivity(mContext, ScanBarcodeActivity.class);
        } else if (name.equals(mContext.getString(R.string.printer))) {
            WMSUtils.startActivity(mContext, PrinterActivity.class);
        }
    }

    private void getCompanyInfo() {
        HttpInterface.getInsstance().getCompanyInfo(new Subscriber <ArrayList <CompanyInfo>>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(ArrayList <CompanyInfo> companyInfos) {
                companyInfoList = companyInfos;
            }
        });
    }

    @OnClick(R.id.currentCompanyLayout)
    public void onViewClicked() {
        Intent intent = new Intent();
        intent.setClass(mContext, ChooseCompanyActivity.class);
        Bundle bundle = new Bundle();
        bundle.putParcelableArrayList("company", companyInfoList);// 序列化
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

}