ManualTransferActivity.java 5.76 KB
package com.huaheng.robot.task;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

import com.huaheng.robot.R;
import com.huaheng.robot.bean.ActivityIslandBean;
import com.huaheng.robot.bean.TaskBean;
import com.huaheng.robot.https.HttpInterface;
import com.huaheng.robot.https.HttpInterface2;
import com.huaheng.robot.https.Subscribers.ProgressSubscriber;
import com.huaheng.robot.https.Subscribers.SubscriberOnNextListener;
import com.huaheng.robot.login.UserBean;
import com.huaheng.robot.shipment.ShipmentBill;
import com.huaheng.robot.shipment.ShipmentTaskModel;
import com.huaheng.robot.util.CommonActivity;
import com.huaheng.robot.util.DataBaseHelpter;
import com.huaheng.robot.util.WMSLog;
import com.huaheng.robot.util.WMSUtils;

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

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

public class ManualTransferActivity extends CommonActivity {


    @BindView(R.id.transferInfo)
    TextView transferInfo;
    private String fromIsLand;
    private String toIsLand;
    private String fromIsLandText;
    private String toIsLandText;

    @Override
    protected void initActivityOnCreate(Bundle savedInstanceState) {
        super.initActivityOnCreate(savedInstanceState);
        setContentView(R.layout.activity_manual_transfer);
        ButterKnife.bind(this);
        setTitle(getString(R.string.manual_transfer));
    }

    private void freshInfo(String text) {
        transferInfo.setText(text);
    }

    private void showFromDialog(final  List<ActivityIsLandInfo> activityIsLandInfos) {
        final List<String> lists = new ArrayList<>();
        final List<String> lists2 = new ArrayList<>();
        for(ActivityIsLandInfo activityIsLandInfo : activityIsLandInfos) {
            lists.add(activityIsLandInfo.getName());
            lists2.add(String.valueOf(activityIsLandInfo.getId()));
        }
        AlertDialog.Builder listDialog =
                new AlertDialog.Builder(ManualTransferActivity.this);
        listDialog.setTitle(R.string.fromIsLand);
        String[] strs1= lists.toArray(new String[lists.size()]);
        listDialog.setItems(strs1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                fromIsLand =  lists2.get(which);
                fromIsLandText= lists.get(which);
                activityIsLandInfos.remove(activityIsLandInfos.get(which));
                WMSLog.d("fromIsLand :" + fromIsLand);
                showToDialog(activityIsLandInfos);
            }
        });
        listDialog.show();
    }

    private void showToDialog(final  List<ActivityIsLandInfo> activityIsLandInfos) {
        final List<String> lists = new ArrayList<>();
        final List<String> lists2 = new ArrayList<>();
        for(ActivityIsLandInfo activityIsLandInfo : activityIsLandInfos) {
            lists.add(activityIsLandInfo.getName());
            lists2.add(String.valueOf(activityIsLandInfo.getId()));
        }
        AlertDialog.Builder listDialog =
                new AlertDialog.Builder(ManualTransferActivity.this);
        listDialog.setTitle(R.string.toIsLand);
        String[] strs1= lists.toArray(new String[lists.size()]);
        listDialog.setItems(strs1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                toIsLand =  lists2.get(which);
                toIsLandText = lists.get(which);
                showTransferDialog();
            }
        });
        listDialog.show();
    }

    private void showTransferDialog(){
        String str = getResources().getString(R.string.transfer_message);
        String message = String.format(str, fromIsLandText, toIsLandText);
        final AlertDialog.Builder normalDialog =
                new AlertDialog.Builder(ManualTransferActivity.this);
        normalDialog.setTitle(R.string.transfer_title);
        normalDialog.setMessage(message);
        normalDialog.setPositiveButton(R.string.ok,
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        transfer(Integer.parseInt(fromIsLand), Integer.parseInt(toIsLand));
                    }
                });
        normalDialog.setNegativeButton(R.string.cancel,
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
        normalDialog.show();
    }


    @OnClick(R.id.transferBtn)
    public void onViewClicked() {
        List<ActivityIsLandInfo> ActivityIsLandInfos = new ArrayList<>();
        List<ActivityIslandBean> activityIslandBeans = DataBaseHelpter.queryAllActivityIsland();
        if(activityIslandBeans != null) {
            for(ActivityIslandBean activityIslandBean : activityIslandBeans) {
                ActivityIsLandInfos.add(new ActivityIsLandInfo(activityIslandBean.getId(), activityIslandBean.getName()));
            }
        }
        showFromDialog(ActivityIsLandInfos);
    }

    private void transfer(int fromIsLand, int toIsLand) {
        HttpInterface2.getInsstance().transfer(new ProgressSubscriber<TaskBean>(this, transferListener), fromIsLand, toIsLand);
    }

    SubscriberOnNextListener transferListener = new SubscriberOnNextListener<TaskBean>() {

        @Override
        public void onNext(TaskBean  taskBean) {
            WMSUtils.showShort(ManualTransferActivity.this.getString(R.string.success_transfer_task));
        }

        @Override
        public void onError(String str) {

        }
    };

}