MainActivity.java 12.4 KB
package com.huaheng.mobilewms;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.huaheng.mobilewms.activity.BlockLocationActivity;
import com.huaheng.mobilewms.activity.DelTaskActivity;
import com.huaheng.mobilewms.activity.SettingsActivity;
import com.huaheng.mobilewms.activity.TransferActivity;
import com.huaheng.mobilewms.activity.WcsActivity;
import com.huaheng.mobilewms.activity.inventory.InventoryActivity;
import com.huaheng.mobilewms.activity.inventory.InventoryTransactionActivity;
import com.huaheng.mobilewms.activity.location.AvailableLocationActivity;
import com.huaheng.mobilewms.activity.model.CommonActivity;
import com.huaheng.mobilewms.activity.printer.PrinterActivity;
import com.huaheng.mobilewms.activity.receipt.ReceiptListActivity;
import com.huaheng.mobilewms.activity.shipment.ShipmentListActivity;
import com.huaheng.mobilewms.activity.task.TaskActivity;
import com.huaheng.mobilewms.adapter.MenuAdapter;
import com.huaheng.mobilewms.adapter.RecyclerViewAdapter;
import com.huaheng.mobilewms.bean.MenuBean;
import com.huaheng.mobilewms.bean.TodayInfo;
import com.huaheng.mobilewms.https.HttpInterface;
import com.huaheng.mobilewms.https.Subscribers.ProgressSubscriber;
import com.huaheng.mobilewms.https.Subscribers.SubscriberOnNextListener;
import com.huaheng.mobilewms.util.MenuConstant;
import com.huaheng.mobilewms.util.WMSUtils;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

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

public class MainActivity extends CommonActivity {

    @BindView(R.id.commondity)
    TextView commondity;
    @BindView(R.id.receipt)
    TextView receipt;
    @BindView(R.id.shipment)
    TextView shipment;
    @BindView(R.id.recycleView)
    RecyclerView recycleView;
    @BindView(R.id.inputEdit)
    EditText inputEdit;
    private MenuAdapter mAdapter;
    private GridLayoutManager layoutManager;
    private RecyclerViewAdapter adapter;
    private ArrayList <MenuBean> menuBeans;
    private int spanCount = 3;

    private String blockLocationKey = "ailaogong";
    private String transferKey = "ailaopo";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        setTitle(mContext.getString(R.string.main_menu));
        initMenuList();
        setBackImage(View.GONE);
    }

    @Override
    protected void onResume() {
        super.onResume();
        searchTodayInfo();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    private void showContent(TodayInfo todayInfo) {
        commondity.setText(String.valueOf(todayInfo.getTodayTAask()));
        receipt.setText(String.valueOf(todayInfo.getTodayReceipt()));
        shipment.setText(String.valueOf(todayInfo.getTodayShipment()));
    }

    private void initMenuList() {
        layoutManager = new GridLayoutManager(mContext, spanCount);
        adapter = new RecyclerViewAdapter(mContext);
        recycleView.setLayoutManager(layoutManager);
        recycleView.setAdapter(adapter);
        mAdapter = new MenuAdapter(mContext);
        menuBeans = buildMenuBeans();
        if (menuBeans != null) {
            adapter.setList(menuBeans);
        }
        adapter.setOnItemClickListener(listener);
        inputEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                String number = textView.getText().toString();
                WMSApplication.mainKey = number;
                finish();
                WMSUtils.startActivity(mContext, MainActivity.class);
                return false;
            }
        });
    }


    private ArrayList <MenuBean> buildMenuBeans() {
        ArrayList <MenuBean> menuBeans = new ArrayList <>();
        ArrayList <String> menuList = MenuConstant.getMenuList(mContext);
        ArrayList <Drawable> drawableList = MenuConstant.getMenuDrawable(mContext);
        MenuBean menuBean;
        for (int i = 0; i < menuList.size(); i++) {
            menuBean = new MenuBean(drawableList.get(i), menuList.get(i));
            if(menuBean.getName().equals("隔空库位")){
                if(blockLocationKey.equals(WMSApplication.mainKey)){
                    menuBeans.add(menuBean);
                }
            }else if(menuBean.getName().equals("移库")){
                if(transferKey.equals(WMSApplication.mainKey)){
                    menuBeans.add(menuBean);
                }
            }else {
                menuBeans.add(menuBean);
            }
        }
        return menuBeans;
    }

    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.receipt))) {
            WMSUtils.startActivity(mContext, ReceiptListActivity.class);
        } else if (name.equals(mContext.getString(R.string.shipment))) {
            WMSUtils.startActivity(mContext, ShipmentListActivity.class);
        } else if (name.equals(mContext.getString(R.string.task))) {
            startTask();
        } else if (name.equals("可用库位")) {
            startLocation();
        } else if (name.equals("回退提示")) {
//            startInventory();
            startWcs();
        } else if (name.equals("取消任务")) {
            delTask();
//        }else if (name.equals("bzkw")) {
//            delTask();
//        }else if (name.equals("yk")) {
//            delTask();
        }else if (name.equals("隔空库位")) {
            blockLocation();
        }else if (name.equals("移库")) {
            transfer();
        } else if (name.equals(mContext.getString(R.string.printer))) {
            WMSUtils.startActivity(mContext, PrinterActivity.class);
        } else if (name.equals(mContext.getString(R.string.setting))) {
            WMSUtils.startActivity(mContext, SettingsActivity.class);
        }
    }

    @OnClick({R.id.todayTask, R.id.todayReceipt, R.id.todayShipment})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.todayTask:
                startTodayTask();
                break;
            case R.id.todayReceipt:
                startTodayReceipt();
                break;
            case R.id.todayShipment:
                startTodayShipment();
                break;
        }
    }

    private void startTodayTask() {
        Intent intent = new Intent();
        intent.setClass(mContext, TaskActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String time = formatter.format(new Date());
        bundle.putString("time", time);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void startTodayReceipt() {
        Intent intent = new Intent();
        intent.setClass(mContext, InventoryTransactionActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String time = formatter.format(new Date());
        bundle.putString("time", time);
        bundle.putInt("type", 10);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void startTodayShipment() {
        Intent intent = new Intent();
        intent.setClass(mContext, InventoryTransactionActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String time = formatter.format(new Date());
        bundle.putString("time", time);
        bundle.putInt("type", 20);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void startTask() {
        Intent intent = new Intent();
        intent.setClass(mContext, TaskActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date myDate = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(myDate);
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        Date newDate = calendar.getTime();
        String time = formatter.format(newDate);
        bundle.putString("time", time);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void startInventory() {
        Intent intent = new Intent();
        intent.setClass(mContext, InventoryActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date myDate = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(myDate);
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        Date newDate = calendar.getTime();
        String time = formatter.format(newDate);
        bundle.putString("time", time);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void startLocation(){
        Intent intent = new Intent();
        intent.setClass(mContext, AvailableLocationActivity.class);
        startActivity(intent);
    }
    private void startWcs(){
        Intent intent = new Intent();
        intent.setClass(mContext, WcsActivity.class);
        startActivity(intent);
    }

    private void delTask(){
        Intent intent = new Intent();
        intent.setClass(mContext, DelTaskActivity.class);
        startActivity(intent);
    }
    private void blockLocation(){
        Intent intent = new Intent();
        intent.setClass(mContext, BlockLocationActivity.class);
        startActivity(intent);
    }

    private void transfer(){
        Intent intent = new Intent();
        intent.setClass(mContext, TransferActivity.class);
        startActivity(intent);
    }

    private void startInventoryInCode(String code) {
        Intent intent = new Intent();
        intent.setClass(mContext, InventoryActivity.class);
        Bundle bundle = new Bundle();
        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date myDate = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(myDate);
        calendar.add(Calendar.DAY_OF_YEAR, -7);
        Date newDate = calendar.getTime();
        String time = formatter.format(newDate);
        bundle.putString("code", code);
        intent.putExtras(bundle);// 发送数据
        startActivity(intent);
    }

    private void searchTodayInfo() {
        ProgressSubscriber progressSubscriber = new ProgressSubscriber <TodayInfo>(mContext, searchListener);
        progressSubscriber.setShowDialog(false);
        HttpInterface.getInsstance().searchTodayInfo(progressSubscriber);
    }

    SubscriberOnNextListener searchListener = new SubscriberOnNextListener <TodayInfo>() {
        @Override
        public void onNext(TodayInfo todayInfo) {
            showContent(todayInfo);
        }

        @Override
        public void onError(String str) {

        }
    };


    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
//            final AlertDialog.Builder d = new AlertDialog.Builder(MainActivity.this);
//            d.setTitle("退出登录");
//            d.setMessage("确认要退出么");
//            d.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//                @Override
//                public void onClick(DialogInterface dialog, int which) {
//                    finish();
//                }
//            });
//            d.show();
            return true;
        }
        return super.onKeyUp(keyCode, event);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        WMSApplication.mainKey = "";
    }
}