EmptyOutAdapter.java 8.79 KB
package com.huaheng.mobilewms.adapter;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.huaheng.mobilewms.R;
import com.huaheng.mobilewms.bean.EmptyOut;
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.WMSUtils;

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

public class EmptyOutAdapter extends BaseAdapter {

    private Context mContext;
    private boolean showExtralTextView = false;
    private List<EmptyOut> mList = new ArrayList<>();
    private SubscriberOnNextListener executePrisonEmptyOutListener;

    public void setFixErpCommandListener(SubscriberOnNextListener fixErpCommandListener) {
        this.fixErpCommandListener = fixErpCommandListener;
    }

    private SubscriberOnNextListener fixErpCommandListener;

    public EmptyOutAdapter(Context context) {
        this.mContext = context;
    }

    public List<EmptyOut> getList() {
        return mList;
    }

    public void setList(List<EmptyOut> list) {
        mList = list;
    }

    @Override
    public int getCount() {
        return mList.size();
    }

    @Override
    public Object getItem(int i) {
        return mList.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    public void showExtralText(boolean show){
        this.showExtralTextView = show;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {
//        if(1==1) return null;
        ViewHolder viewHolder = new ViewHolder();
        if (convertView == null) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.emptyout_list_item, null);
            ImageView icon = (ImageView) convertView.findViewById(R.id.icon);
            TextView containerCode = (TextView) convertView.findViewById(R.id.containerCode);
            TextView locationCode = (TextView) convertView.findViewById(R.id.locationCode);
            TextView wmsStatusStr = (TextView) convertView.findViewById(R.id.wmsStatusStr);
            TextView wmsMsg = (TextView) convertView.findViewById(R.id.wmsMsg);
            TextView chejian = (TextView) convertView.findViewById(R.id.chejian);
            Button button = (Button) convertView.findViewById(R.id.button);

            ImageView completeView = (ImageView) convertView.findViewById(R.id.completeView);
            ImageView confirmView = (ImageView) convertView.findViewById(R.id.confirmView);
            viewHolder._icon = icon;
            viewHolder._containerCode = containerCode;
            viewHolder._locationCode = locationCode;
            viewHolder._wmsStatusStr = wmsStatusStr;
            viewHolder._complete = completeView;
            viewHolder._confirm = confirmView;
            viewHolder._button = button;
            viewHolder._wmsMsg = wmsMsg;
            viewHolder._chejian = chejian;

            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        final EmptyOut bean = (EmptyOut) mList.get(position);
        if("叉车库".equals(bean.getCtpleixing())) {
            //叉车出库
            if(bean.isKongchu()) {
                viewHolder._icon.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.menu_icon_shangjia));
            }else if(bean.isChaKan()){
                viewHolder._icon.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.menu_icon_query));
            }
        }else{
            //堆垛机出库
            if(bean.isKongchu()) {
                viewHolder._icon.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.menu_material));
            }else if(bean.isChaKan()){
                viewHolder._icon.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.menu_icon_query));
            }
            //分拣
//            viewHolder._icon.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.menu2_icon_bjbf));
        }
        viewHolder._containerCode.setText(bean.getCtpid());

        String location = bean.getCkuwei();
        if(bean.getCkuwei().toUpperCase().startsWith("DK")) {
            if (bean.isInner()) {
                location = location + " 内侧";
            }else{
                location = location + " 外侧";
            }
        }
        viewHolder._locationCode.setText(location);
        viewHolder._wmsStatusStr.setText(String.valueOf(bean.getWmsStatusStr()));

        if(bean.getWmsStatus() == 200){
            viewHolder._confirm.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.complete));
            viewHolder._confirm.setVisibility(View.VISIBLE);
        }else{
            viewHolder._confirm.setVisibility(View.GONE);
        }

        if(bean.getWmsStatus() == 100){
            viewHolder._complete.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.man2));
//            viewHolder._complete.setVisibility(View.VISIBLE);
        }else{
            viewHolder._complete.setVisibility(View.GONE);
        }

        if(bean.getWmsMsg() != null && !"".equals(bean.getWmsMsg())){
            viewHolder._wmsMsg.setText(bean.getWmsMsg());
            viewHolder._wmsMsg.setVisibility(View.VISIBLE);
        }else{
            viewHolder._wmsMsg.setVisibility(View.GONE);
        }

        if(bean.getWmsStatus() == 0){
            if(bean.isKongchu()){
                viewHolder._button.setText("下发任务");
            }else{
                viewHolder._button.setText("下发任务");
//                viewHolder._button.setText("出库查看");
            }
            viewHolder._button.setVisibility(View.VISIBLE);
            viewHolder._icon.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    HttpInterface.getInsstance().fixErpCommand(new ProgressSubscriber<Integer>(mContext, fixErpCommandListener), bean.getCid().intValue());
                    return true;
                }
            });
            viewHolder._button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(bean.isChaKan()){
                        HttpInterface.getInsstance().executePrisonEmptyOut(new ProgressSubscriber<Integer>(mContext, executePrisonEmptyOutListener),bean.getCid().intValue(), "");
                    }else{
                        selectPort(bean);
                    }
                }
            });
        }else{
            viewHolder._icon.setOnLongClickListener(null);
            viewHolder._button.setVisibility(View.GONE);
        }


        if(bean.hasChejian()){
            viewHolder._chejian.setText(bean.getChejian());
            viewHolder._chejian.setVisibility(View.VISIBLE);
        }else{
            viewHolder._chejian.setText("");
            viewHolder._chejian.setVisibility(View.GONE);
        }

        return convertView;
    }

    private void checkPrisonEmptyOutListener(EmptyOut selectBean){
        String location = selectBean.getCkuwei();

    }

    public void setExecutePrisonEmptyOutListener(SubscriberOnNextListener executePrisonEmptyOutListener) {
        this.executePrisonEmptyOutListener = executePrisonEmptyOutListener;
    }

    private void selectPort(final EmptyOut bean){
        final AlertDialog.Builder listDialog = new AlertDialog.Builder(mContext);
        listDialog.setTitle("请选择出口:");

        listDialog.setNegativeButton("从分拣口出", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                HttpInterface.getInsstance().executePrisonEmptyOut(new ProgressSubscriber<Integer>(mContext, executePrisonEmptyOutListener),bean.getCid().intValue(), "P1001");
            }
        });

        listDialog.setPositiveButton("从出库口出", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                HttpInterface.getInsstance().executePrisonEmptyOut(new ProgressSubscriber<Integer>(mContext, executePrisonEmptyOutListener),bean.getCid().intValue(), "P1019");
            }
        });
        listDialog.show();
    }

    private class ViewHolder {
        ImageView _icon;
        TextView _containerCode;
        TextView _locationCode;
        TextView _wmsStatusStr;
        TextView _wmsMsg;
        TextView _chejian;
        ImageView _complete;
        ImageView _confirm;
        Button _button;
    }
}