Browse Source

增加领料申请界面

ChengJH 1 year ago
parent
commit
e4c564b47b

+ 606 - 0
app/src/main/java/com/uas/uas_mes_stw/fragment/MateriaialequisitionApplictionDetailFragment.java

@@ -0,0 +1,606 @@
+package com.uas.uas_mes_stw.fragment;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v7.app.AlertDialog;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.uas.uas_mes_stw.R;
+import com.uas.uas_mes_stw.activity.FunctionActivity;
+import com.uas.uas_mes_stw.bean.Addbean;
+import com.uas.uas_mes_stw.bean.CloseListbean;
+import com.uas.uas_mes_stw.bean.StorageInBillBean;
+import com.uas.uas_mes_stw.global.GloableParams;
+import com.uas.uas_mes_stw.listener.MyEditorActionListener;
+import com.uas.uas_mes_stw.tools.SharedPreUtil;
+import com.uas.uas_mes_stw.util.CameraUtil;
+import com.uas.uas_mes_stw.util.CommonUtil;
+import com.uas.uas_mes_stw.util.FastjsonUtil;
+import com.uas.uas_mes_stw.util.FragmentUtils;
+import com.uas.uas_mes_stw.util.HttpCallback;
+import com.uas.uas_mes_stw.util.HttpParams;
+import com.uas.uas_mes_stw.util.VollyRequest;
+import com.uas.uas_mes_stw.view.ClearableEditText;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
+import java.util.Objects;
+
+/**
+ * @author RaoMeng
+ * @describe 入库条码采集页面
+ * @date 2018/6/20 16:20
+ */
+public class MateriaialequisitionApplictionDetailFragment extends BaseFragment implements View.OnClickListener {
+    private static final int FLAG_SPLITE_PLATE = 25;
+
+    private static final int SCAN_BARCODE_CODE = 121;
+    private static final int FLAG_CONFIRM_POST = 0x09;
+
+    private StringRequest mStringRequest;
+    private PopupWindow mMenuPopupWindow;
+
+    private String pi_id;
+    private int mWhichPage;
+    private ClearableEditText storage_in_add_detail_barcode_et;
+    private Button goodin_add_detail_commit_btn;
+    private TextView storage_in_add_detail_result_tv;
+    private LinearLayout line_gongvisbie;
+    private TextView tv_batchnumber;
+    private TextView tv_objectid;
+    private TextView tv_workorder;
+    private TextView tv_qty;
+    private TextView tv_accumulativetotal;
+    private String pi_inoutno;
+    private String pi_whcode;
+    private TextView tv_inoutno;
+    private TextView tv_cangku;
+    private String pi_whname;
+    private Button mMoreBtn;
+    private ImageView storage_in_add_detail_scan_iv;
+    private OnStorageInAddListener mOnStorageInAddListener;
+    private String pi_class;
+    private String pi_type;
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        ((FunctionActivity) getActivity()).setScanIvVisible(false);
+        ((FunctionActivity) getActivity()).setListIconIvVisible(false);
+    }
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
+    @Subscribe
+    public void onMessageEvent(CloseListbean evensst) {
+        getActivity().getSupportFragmentManager().popBackStack();
+
+    }
+    @Override
+    protected int getLayout() {
+        return R.layout.goodbad_in_add_detail;
+    }
+
+    @Override
+    protected void initViews() {
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+        ((FunctionActivity) getActivity()).setListIconIvVisible(false);
+        storage_in_add_detail_barcode_et = mActivity.findViewById(R.id.storage_in_add_detail_barcode_et);
+        storage_in_add_detail_scan_iv = mActivity.findViewById(R.id.storage_in_add_detail_scan_iv);
+        goodin_add_detail_commit_btn = mActivity.findViewById(R.id.goodin_add_detail_commit_btn);
+        storage_in_add_detail_result_tv = mActivity.findViewById(R.id.storage_in_add_detail_result_tv);
+        tv_inoutno = mActivity.findViewById(R.id.tv_inoutno);
+        tv_cangku = mActivity.findViewById(R.id.tv_cangku);
+        line_gongvisbie = mActivity.findViewById(R.id.line_gongvisbie);
+        tv_batchnumber = mActivity.findViewById(R.id.tv_batchnumber);
+        tv_objectid = mActivity.findViewById(R.id.tv_objectid);
+        tv_workorder = mActivity.findViewById(R.id.tv_workorder);
+        tv_qty = mActivity.findViewById(R.id.tv_qty);
+        tv_accumulativetotal = mActivity.findViewById(R.id.tv_accumulativetotal);
+        mMoreBtn = (Button)mActivity.findViewById(R.id.btn_actionbar_more);
+        storage_in_add_detail_barcode_et.requestFocus();
+        Bundle arguments = getArguments();
+        if (arguments != null) {
+            pi_inoutno = arguments.getString("pi_inoutno");
+            pi_whcode = arguments.getString("pi_whcode");
+            pi_id = arguments.getString("pi_id");
+            pi_whname = arguments.getString("pi_whname");
+            pi_class = arguments.getString("pi_class");
+        }
+        pi_type = SharedPreUtil.getString(mActivity, "pi_type", null);
+        FunctionActivity.setTitle("入库采集("+pi_type+")");
+        tv_inoutno.setText(pi_inoutno);
+        tv_cangku.setText(pi_whname);
+        EventBus.getDefault().register(this);
+    }
+    public void setOnStorageInAddListener(OnStorageInAddListener onStorageInAddListener) {
+        mOnStorageInAddListener = onStorageInAddListener;
+    }
+
+    @Override
+    protected void initEvents() {
+        mMoreBtn.setOnClickListener(this);
+        storage_in_add_detail_scan_iv.setOnClickListener(this);
+        goodin_add_detail_commit_btn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                getNewProdinout();
+            }
+        });
+
+        CommonUtil.setEditorActionListener(storage_in_add_detail_barcode_et, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                getBarcodeInfo(text);
+            }
+        });
+        getProdiodetail();
+    }
+    private void getProdiodetail() {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_GETBARCODEINFO)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getMaCode")
+                        .flag(0)
+                        .addParam("piid", pi_id)//必填单据类型
+                        .build(), new HttpCallback() {
+                    @SuppressLint("SetTextI18n")
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
+                            if (dataObject == null){
+
+                            }else {
+                                String bi_barcode = dataObject.getString("BI_BARCODE") == null ? "" : dataObject.getString("BI_BARCODE");
+                                String bi_prodcode = dataObject.getString("bi_prodcode") == null ? "" : dataObject.getString("bi_prodcode");
+                                String pr_detail = dataObject.getString("PR_DETAIL") == null ? "" : dataObject.getString("PR_DETAIL");
+                                String pr_spec = dataObject.getString("PR_SPEC") == null ? "" : dataObject.getString("PR_SPEC");
+                                String bi_ordercode = dataObject.getString("BI_ORDERCODE") == null ? "" : dataObject.getString("BI_ORDERCODE");
+                                String bi_inqty = dataObject.getString("BI_INQTY") == null ? "" : dataObject.getString("BI_INQTY");
+                                String sumqty = dataObject.getString("SUMQTY") == null ? "" : dataObject.getString("SUMQTY");
+                                tv_batchnumber.setText(bi_barcode);
+                                tv_objectid.setText(bi_prodcode+" "+pr_detail+" "+pr_spec);
+                                tv_workorder.setText(bi_ordercode);
+                                tv_qty.setText(bi_inqty);
+                                tv_accumulativetotal.setText(sumqty);
+                                storage_in_add_detail_barcode_et.setText("");
+                                storage_in_add_detail_barcode_et.requestFocus();
+                            }
+                        }
+                    }
+                    @SuppressLint("SetTextI18n")
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
+                        line_gongvisbie.setVisibility(View.VISIBLE);
+                        storage_in_add_detail_result_tv.setTextColor(Color.RED);
+                        storage_in_add_detail_result_tv.setText("采集失败!"
+                                +"\n生产批号:"+storage_in_add_detail_barcode_et.getText().toString().trim()
+                                +"\n失败原因"+failStr);
+//                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                        line_gongvisbie.setVisibility(View.GONE);
+                        storage_in_add_detail_barcode_et.setText("");
+                        storage_in_add_detail_barcode_et.requestFocus();
+                    }
+                });
+    }
+    private void getBarcodeInfo(String text) {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_GETBARCODEINFO)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getMaCode")
+                        .flag(0)
+                        .addParam("piid", pi_id)//必填单据类型
+                        .addParam("lotno",text)//必填 仓库
+                        .build(), new HttpCallback() {
+                    @SuppressLint("SetTextI18n")
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
+                            if (dataObject == null){
+
+                            }else {
+                                storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
+                                line_gongvisbie.setVisibility(View.VISIBLE);
+                                storage_in_add_detail_result_tv.setTextColor(Color.BLUE);
+                                storage_in_add_detail_result_tv.setText("采集成功!");
+                                String bi_barcode = dataObject.getString("BI_BARCODE") == null ? "" : dataObject.getString("BI_BARCODE");
+                                String bi_prodcode = dataObject.getString("bi_prodcode") == null ? "" : dataObject.getString("bi_prodcode");
+                                String pr_detail = dataObject.getString("PR_DETAIL") == null ? "" : dataObject.getString("PR_DETAIL");
+                                String pr_spec = dataObject.getString("PR_SPEC") == null ? "" : dataObject.getString("PR_SPEC");
+                                String bi_ordercode = dataObject.getString("BI_ORDERCODE") == null ? "" : dataObject.getString("BI_ORDERCODE");
+                                String bi_inqty = dataObject.getString("BI_INQTY") == null ? "" : dataObject.getString("BI_INQTY");
+                                String sumqty = dataObject.getString("SUMQTY") == null ? "" : dataObject.getString("SUMQTY");
+                                tv_batchnumber.setText(bi_barcode);
+                                tv_objectid.setText(bi_prodcode+" "+pr_detail+" "+pr_spec);
+                                tv_workorder.setText(bi_ordercode);
+                                tv_qty.setText(bi_inqty);
+                                tv_accumulativetotal.setText(sumqty);
+                                storage_in_add_detail_barcode_et.setText("");
+                                storage_in_add_detail_barcode_et.requestFocus();
+                            }
+                        }
+                    }
+                    @SuppressLint("SetTextI18n")
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
+                        line_gongvisbie.setVisibility(View.VISIBLE);
+                        storage_in_add_detail_result_tv.setTextColor(Color.RED);
+                        storage_in_add_detail_result_tv.setText("采集失败!"
+                                +"\n生产批号:"+storage_in_add_detail_barcode_et.getText().toString().trim()
+                                +"\n失败原因"+failStr);
+//                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                        line_gongvisbie.setVisibility(View.GONE);
+                        storage_in_add_detail_barcode_et.setText("");
+                        storage_in_add_detail_barcode_et.requestFocus();
+                    }
+                });
+    }
+
+    /**
+     * 提交
+     */
+    private void getNewProdinout() {
+        if (pi_id.isEmpty()){
+            CommonUtil.toastNoRepeat(mActivity, "单据ID不可为空");
+            return;
+        }
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_NEWPRODIODETAIL)
+                        .method(Request.Method.POST)
+                        .tag(TAG + "getMaCode")
+                        .flag(0)
+                        .addParam("piid",pi_id)//必填单据ID
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            CommonUtil.toastNoRepeat(mActivity, "单据提交成功");
+                        }
+                    }
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                    }
+                });
+
+
+    }
+    @Override
+    protected void initDatas() {
+
+    }
+
+    @SuppressLint("NonConstantResourceId")
+    @Override
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.storage_in_add_detail_scan_iv:
+                if (CameraUtil.hasCamera()) {
+                    if (root.findFocus() != null) {
+                        Intent intent = new Intent();
+                        intent.setClass(mActivity, CaptureActivity.class);
+                        startActivityForResult(intent, SCAN_BARCODE_CODE);
+                    } else {
+                        CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
+                    }
+                } else {
+                    CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
+                }
+                break;
+            case R.id.btn_actionbar_more:
+                showMoreMenu();
+                break;
+            case R.id.pop_storage_in_add_menu_1:
+                closeMenuPopupWindow();
+                new AlertDialog.Builder(mActivity)
+                        .setMessage("确认将单据过账?")
+                        .setNegativeButton(R.string.cancel, null)
+                        .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int i) {
+                                dialogInterface.dismiss();
+                                progressDialog.show();
+                                VollyRequest.getInstance().stringRequest(mStringRequest,
+                                        new HttpParams.Builder()
+                                                .url(GloableParams.ADDRESS_PDAIO_CONFIRMPOST)
+                                                .method(Request.Method.POST)
+                                                .tag(TAG + "getMaCode")
+                                                .flag(0)
+                                                .addParam("piid", pi_id)//必填单据ID
+                                                .build(), new HttpCallback() {
+                                            @Override
+                                            public void onSuccess(int flag, Object o) throws Exception {
+                                                progressDialog.dismiss();
+                                                Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                                                if (isSuccess){
+                                                    CommonUtil.toastNoRepeat(mActivity, "单据过账成功");
+                                                }
+                                            }
+                                            @Override
+                                            public void onFail(int flag, String failStr) throws Exception {
+                                                progressDialog.dismiss();
+                                                CommonUtil.toastNoRepeat(mActivity, ""+failStr);
+                                                tv_batchnumber.setText("");
+                                                tv_objectid.setText("");
+                                                tv_workorder.setText("");
+                                                tv_qty.setText("");
+                                                tv_accumulativetotal.setText("");
+                                            }
+                                        });
+
+                            }
+                        }).create().show();
+                break;
+            case R.id.pop_storage_in_add_menu_2:
+                closeMenuPopupWindow();
+                ViewPagerFragment storageDetailListFragment = new ViewPagerFragment();
+//                Bundle arguments = new Bundle();
+//                arguments.putString("pi_id", pi_id);
+//                arguments.putString("pi_class", pi_class);
+//                arguments.putString("whichPage1", "InFinish");
+                SharedPreUtil.saveString(mActivity,"pi_id",pi_id);
+                SharedPreUtil.saveString(mActivity,"pi_class",pi_class);
+//                storageDetailListFragment.setArguments(arguments);
+                FragmentUtils.switchFragment(MateriaialequisitionApplictionDetailFragment.this, storageDetailListFragment);
+                break;
+            case R.id.pop_storage_in_add_menu_3:
+
+
+
+                break;
+            case R.id.pop_storage_in_add_menu_4:
+                closeMenuPopupWindow();
+                new AlertDialog.Builder(mActivity)
+                        .setMessage("确认反提交?")
+                        .setNegativeButton(R.string.cancel, null)
+                        .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int i) {
+                                dialogInterface.dismiss();
+                                VollyRequest.getInstance().stringRequest(mStringRequest,
+                                        new HttpParams.Builder()
+                                                .url(GloableParams.ADDRESS_PDAIO_IN_REVOKEBARCODE)
+                                                .method(Request.Method.POST)
+                                                .tag(TAG + "getMaCode")
+                                                .flag(0)
+                                                .addParam("piid", pi_id)//必填单据ID
+                                                .build(), new HttpCallback() {
+                                            @Override
+                                            public void onSuccess(int flag, Object o) throws Exception {
+                                                progressDialog.dismiss();
+                                                Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                                                if (isSuccess){
+                                                    CommonUtil.toastNoRepeat(mActivity, "反提交成功");
+                                                }
+                                            }
+                                            @Override
+                                            public void onFail(int flag, String failStr) throws Exception {
+                                                progressDialog.dismiss();
+                                                CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
+                                            }
+                                        });
+
+                            }
+                        }).create().show();
+
+                break;
+            case R.id.pop_storage_in_add_menu_5:
+                closeMenuPopupWindow();
+                new AlertDialog.Builder(mActivity)
+                        .setMessage("确认删除此单据?")
+                        .setNegativeButton(R.string.cancel, null)
+                        .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialogInterface, int i) {
+                                dialogInterface.dismiss();
+                                VollyRequest.getInstance().stringRequest(mStringRequest,
+                                        new HttpParams.Builder()
+                                                .url(GloableParams.ADDRESS_PDAIO_IN_DELETEINOUTANDDETAIL)
+                                                .method(Request.Method.POST)
+                                                .tag(TAG + "getMaCode")
+                                                .flag(0)
+                                                .addParam("piid", pi_id)//必填单据ID
+                                                .build(), new HttpCallback() {
+                                            @Override
+                                            public void onSuccess(int flag, Object o) throws Exception {
+                                                progressDialog.dismiss();
+                                                Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                                                if (isSuccess){
+                                                    CommonUtil.toastNoRepeat(mActivity, "删除成功");
+                                                    getActivity().getSupportFragmentManager().popBackStack();
+                                                }
+                                            }
+                                            @Override
+                                            public void onFail(int flag, String failStr) throws Exception {
+                                                progressDialog.dismiss();
+                                                CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
+                                            }
+                                        });
+
+                            }
+                        }).create().show();
+                break;
+            case R.id.pop_storage_in_add_menu_6:
+                closeMenuPopupWindow();
+                EventBus.getDefault().post(new Addbean("关闭页面"));
+                GoodOrBadFragment mFragment = new GoodOrBadFragment();
+                Bundle bundle = new Bundle();
+                bundle.putString("pi_class",pi_class);
+                mFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(this, mFragment);
+
+                break;
+            case R.id.pop_storage_in_add_menu_7:
+                closeMenuPopupWindow();
+                GoodBadAddListFragment storageInAddListFragment = new GoodBadAddListFragment();
+                bundle = new Bundle();
+                bundle.putString("pi_class", this.pi_class);
+                bundle.putInt("whichPage", StorageInAddListFragment.PAGE_STORAGE_ADD);
+                storageInAddListFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(this, storageInAddListFragment);
+                storageInAddListFragment.setOnListSelectListener(new GoodBadAddListFragment.OnListSelectListener() {
+                    @Override
+                    public void onListSelect(StorageInBillBean storageInBillBean) {
+                        getActivity().getSupportFragmentManager().popBackStack();
+                        Fragment fragment = new MateriaialequisitionApplictionDetailFragment();
+                        Bundle bundle = new Bundle();
+                        bundle.putString("pi_class", storageInBillBean.getPI_CLASS());
+                        bundle.putString("pi_whcode", storageInBillBean.getPI_WHCODE());
+                        bundle.putString("pi_cardcode", storageInBillBean.getPI_CARDCODE());
+                        bundle.putString("pi_id", storageInBillBean.getPI_ID()+"");
+                        bundle.putString("pi_inoutno", storageInBillBean.getPI_INOUTNO());
+                        bundle.putString("pi_status", storageInBillBean.getPI_STATUS());
+                        bundle.putString("pi_invostatus", storageInBillBean.getPI_INVOSTATUS());
+                        bundle.putString("pi_whname", storageInBillBean.getPI_WHNAME());
+                        fragment.setArguments(bundle);
+                        FragmentUtils.switchFragment(MateriaialequisitionApplictionDetailFragment.this, fragment);
+
+                    }
+                });
+
+
+//                storageInAddListFragment.setOnListSelectListener(this);
+
+                break;
+            default:
+                break;
+        }
+    }
+
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode != Activity.RESULT_OK) {
+            return;
+        }
+
+        if (requestCode == SCAN_BARCODE_CODE && data != null) {
+            if (data.getExtras() != null) {
+                String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
+
+                getBarcodeInfo(result);
+            }
+        }
+    }
+
+    /**
+     * 展示扩展菜单
+     */
+    private void showMoreMenu() {
+        View view = View.inflate(getActivity(), R.layout.pop_goodbadin_add_menu, null);
+        Button addBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_1);
+        Button listBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_2);
+        Button deleteBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_3);
+        Button barcodeListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_4);
+        Button quantityListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_5);
+        Button revokeBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_6);
+        Button passBillBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_7);
+        addBtn.setOnClickListener(this);
+        listBtn.setOnClickListener(this);
+        deleteBtn.setOnClickListener(this);
+        barcodeListBtn.setOnClickListener(this);
+        quantityListBtn.setOnClickListener(this);
+        revokeBtn.setOnClickListener(this);
+        passBillBtn.setOnClickListener(this);
+
+        mMenuPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        mMenuPopupWindow.setBackgroundDrawable(new BitmapDrawable());
+        mMenuPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeMenuPopupWindow();
+            }
+        });
+        CommonUtil.setBackgroundAlpha(Objects.requireNonNull(getActivity()), 0.5f);
+        mMenuPopupWindow.showAsDropDown(mMoreBtn);
+    }
+
+    private void closeMenuPopupWindow() {
+        if (mMenuPopupWindow != null) {
+            mMenuPopupWindow.dismiss();
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+    }
+
+
+
+    @Override
+    public void onHiddenChanged(boolean hidden) {
+        super.onHiddenChanged(hidden);
+        if (hidden) {
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        } else {
+            FunctionActivity.setTitle("入库单列表");//("+pi_type+")
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+            ((FunctionActivity) getActivity()).setListIconIvVisible(false);
+        }
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+//        if (mWhichPage == PAGE_STORAGE_IN_ADD) {
+//            if (mOnStorageInToListListener != null) {
+//                mOnStorageInToListListener.onStorageInToList();
+//                return true;
+//            } else {
+//                return false;
+//            }
+//        } else {
+        return false;
+//        }
+    }
+
+    public interface OnStorageInAddListener {
+        void onStorageInAdd();
+    }
+
+    public interface OnStorageInToListListener {
+        void onStorageInToList();
+    }
+}

+ 837 - 0
app/src/main/java/com/uas/uas_mes_stw/fragment/MaterialRequisitionApplicationFragment.java

@@ -0,0 +1,837 @@
+package com.uas.uas_mes_stw.fragment;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.view.inputmethod.EditorInfo;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.uas_mes_stw.R;
+import com.uas.uas_mes_stw.activity.FunctionActivity;
+import com.uas.uas_mes_stw.adapter.CangKuAdapter;
+import com.uas.uas_mes_stw.bean.AddRuKubean;
+import com.uas.uas_mes_stw.bean.Addbean;
+import com.uas.uas_mes_stw.bean.WhcodeBean;
+import com.uas.uas_mes_stw.global.GloableParams;
+import com.uas.uas_mes_stw.listener.MyEditorActionListener;
+import com.uas.uas_mes_stw.tools.SharedPreUtil;
+import com.uas.uas_mes_stw.util.CommonUtil;
+import com.uas.uas_mes_stw.util.Constants;
+import com.uas.uas_mes_stw.util.FastjsonUtil;
+import com.uas.uas_mes_stw.util.FragmentUtils;
+import com.uas.uas_mes_stw.util.HttpCallback;
+import com.uas.uas_mes_stw.util.HttpParams;
+import com.uas.uas_mes_stw.util.LogUtil;
+import com.uas.uas_mes_stw.util.StringUtil;
+import com.uas.uas_mes_stw.util.VollyRequest;
+import com.uas.uas_mes_stw.view.ClearableEditText;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import razerdp.basepopup.BasePopupWindow;
+
+/**
+ * @author RaoMeng
+ * @describe 入库条码采集页面
+ * @date 2024/1/19 14:28
+ */
+public class MaterialRequisitionApplicationFragment extends BaseFragment implements View.OnClickListener,NewCheckCangKuFragment.OnSelectionListener, AdapterView.OnItemSelectedListener{
+;
+
+    private static final int SCAN_BARCODE_CODE = 121;
+
+    private ClearableEditText ed_jump;
+    private StringRequest mStringRequest;
+    private PopupWindow mMenuPopupWindow;
+
+    private Button storage_in_add_detail_commit_btn;
+    private ImageView iv_search;
+    private String mwhcode;
+    private ImageView mListImageView;
+    private OnFinishListener mOnFinishListener;
+    private ArrayList<ComDataBean> ComDataBeanList;
+    private ClearableEditText edit_et;
+    private RecyclerView rv_line_ip_port_data;
+    private PopupWindow editPW;
+    private IpAndResourcesPortAdapter ipAndResourcesPortAdapter;
+    private String sc_name;
+    private String sc_code;
+    private String default_warehouse;
+    private List<AddRuKubean> stringList;
+    private ArrayList<AddRuKubean> Liststring;
+    private RecyclerView rv_content;
+    private CangKuAdapter reportDetailAdapter;
+    private String defaultRejectsWarehouse;
+    private TextView tv_moren;
+    private Spinner masterSpinner;
+    private List<String> masterFuncList;
+    static ArrayAdapter adapter;
+    public void setOnFinishListener(OnFinishListener onFinishListener) {
+        mOnFinishListener = onFinishListener;
+    }
+
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        ((FunctionActivity) getActivity()).setListIconIvVisible(false);
+        ((FunctionActivity) getActivity()).setScanIvVisible(false);
+    }
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
+    }
+    @Subscribe
+    public void onMessageEvent(Addbean evensst) {
+        getActivity().getSupportFragmentManager().popBackStack();
+
+    }
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_materialra;
+    }
+
+    @Override
+    protected void initViews() {
+
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        ((FunctionActivity) getActivity()).setListIconIvVisible(true);
+        ed_jump = (ClearableEditText) root.findViewById(R.id.ed_jump);
+        ed_jump.requestFocus();
+        storage_in_add_detail_commit_btn = root.findViewById(R.id.storage_in_add_detail_commit_btn);
+        iv_search = root.findViewById(R.id.iv_search);
+        mListImageView = (ImageView) getActivity().findViewById(R.id.btn_actionbar_list_icon_iv);
+        rv_content = root.findViewById(R.id.rv_data);
+        masterSpinner = root.findViewById(R.id.sp_login);
+        tv_moren = root.findViewById(R.id.tv_moren);
+        EventBus.getDefault().register(this);
+    }
+
+    @Override
+    protected void initEvents() {
+
+
+        FunctionActivity.setTitle("新增入库");//("+pi_type+")
+
+        storage_in_add_detail_commit_btn.setOnClickListener(this);
+        iv_search.setOnClickListener(this);
+
+        stringList = new ArrayList<>();
+        Liststring = new ArrayList<>();
+        default_warehouse = SharedPreUtil.getString(mActivity
+                , Constants.FLAG.DEFAULT_WAREHOUSE_CACHE + CommonUtil.getUserName(mActivity), null);
+        defaultRejectsWarehouse = SharedPreUtil.getString(mActivity
+                , Constants.FLAG.CACHE_DEFAULT_REJECTS_WAREHOUSE + CommonUtil.getUserName(mActivity), null);
+
+        rv_content.setLayoutManager(new LinearLayoutManager(mActivity));
+        reportDetailAdapter = new CangKuAdapter(Liststring);
+        reportDetailAdapter.setmList(Liststring);
+        rv_content.setAdapter(reportDetailAdapter);
+        reportDetailAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
+                List<AddRuKubean> addRuKubeans = reportDetailAdapter.getmList();
+                sc_code=addRuKubeans.get(i).getCode();
+                ed_jump.setText(addRuKubeans.get(i).getCode()+addRuKubeans.get(i).getName());
+                ed_jump.setSelection(ed_jump.getText().length());
+            }
+        });
+        getReparukuirStep("");
+
+
+
+
+
+        CommonUtil.setEditorActionListener(ed_jump, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+
+            }
+        });
+
+        mListImageView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                GoodBadAddListFragment storageInAddListFragment = new GoodBadAddListFragment();
+                Bundle bundle = new Bundle();
+                bundle.putString("pi_class", "其它出库单");
+                bundle.putInt("whichPage", StorageInAddListFragment.PAGE_STORAGE_ADD);
+                storageInAddListFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(MaterialRequisitionApplicationFragment.this, storageInAddListFragment);
+            }
+        });
+        getSpinnerData();
+
+    }
+
+    private void getSpinnerData(){
+        masterFuncList = new ArrayList<String>();
+        masterFuncList.clear();
+        masterFuncList.add("生产超领");
+        masterFuncList.add("委外超领");
+        masterFuncList.add("辅料领用");
+        adapter = new ArrayAdapter(mActivity, R.layout.item_spinner, R.id.text_spinner, masterFuncList);
+        masterSpinner.setAdapter(adapter);
+    }
+
+
+    @Override
+    protected void initDatas() {
+        ComDataBeanList = new ArrayList<>();
+        masterSpinner.setOnItemSelectedListener(this);
+    }
+
+
+    @SuppressLint("NonConstantResourceId")
+    @Override
+    public void onClick(View view) {
+        switch (view.getId()) {
+
+            case R.id.iv_search:
+//                Bundle bundle = new Bundle();
+//                bundle.putInt(NewCheckCangKuFragment.FLAG_WHICH_PAGE, NewCheckCangKuFragment.STORAGE_IN_ADD_WAREHOUSE);
+//                bundle.putString("etname",ed_jump.getText().toString().trim());
+//                goSingleFragment(bundle);
+                getRepairStep("");
+
+
+                break;
+            case R.id.storage_in_add_detail_commit_btn:
+                getNewProdinout();
+                break;
+            default:
+                break;
+        }
+    }
+    private void getReparukuirStep(String data) {
+
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_GETWHCODE)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getMaCode")
+                        .addParam("condition","")
+                        .addParam("piclass","其它出库单")
+                        .flag(0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(), "data");
+                        if (isSuccess){
+                            if (dataArray == null){
+                                CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
+                            }else {
+                                for (Object index : dataArray) {
+                                    AddRuKubean addRuKubean = new AddRuKubean();
+                                    JSONObject data = (JSONObject) index;
+                                    addRuKubean.setCode(data.getString("WH_CODE"));
+                                    addRuKubean.setName(data.getString("WH_DESCRIPTION"));
+                                    stringList.add(addRuKubean);
+                                }
+
+                                String[] split = data.split(",");
+                                for (String s : split) {
+                                    for (int i=0;i<stringList.size();i++){
+                                        AddRuKubean addRuKubean = new AddRuKubean();
+                                        if(stringList.get(i).getName().contains(s)||stringList.get(i).getCode().contains(s)){
+                                            addRuKubean.setCode(stringList.get(i).getCode());
+                                            addRuKubean.setName(stringList.get(i).getName());
+                                            Liststring.add(addRuKubean);
+                                        }
+
+                                    }
+                                }
+                                reportDetailAdapter = new CangKuAdapter(Liststring);
+                                reportDetailAdapter.setmList(Liststring);
+                                rv_content.setAdapter(reportDetailAdapter);
+                                reportDetailAdapter.notifyDataSetChanged();
+                                reportDetailAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                                    @Override
+                                    public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
+                                        List<AddRuKubean> addRuKubeans = reportDetailAdapter.getmList();
+                                        sc_code=addRuKubeans.get(i).getCode();
+                                        ed_jump.setText(addRuKubeans.get(i).getCode()+addRuKubeans.get(i).getName());
+                                        ed_jump.setSelection(ed_jump.getText().length());
+                                    }
+                                });
+
+                            }
+                        }
+                    }
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                    }
+                });
+
+
+    }
+
+    private void getRepairStep(String trim) {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDAIO_IN_GETWHCODE)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getMaCode")
+                        .addParam("condition",trim)
+                        .addParam("piclass","其他出库单")
+                        .flag(0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(), "data");
+                        if (isSuccess){
+                            if (dataArray == null){
+                                CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
+                            }else {
+                                handleFeededlineData(dataArray,trim);
+                            }
+                        }
+                    }
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                    }
+                });
+
+
+    }
+    private void handleFeededlineData(JSONArray dataArray,String trim) {
+        ComDataBean bean;
+        ComDataBeanList.clear();
+        for (Object index : dataArray) {
+            JSONObject data = (JSONObject) index;
+            bean= new ComDataBean();
+            bean.setItemName(data.getString("WH_DESCRIPTION"));
+            bean.setItemremark(data.getString("WH_CODE"));
+            ComDataBeanList.add(bean);
+        }
+
+        if (trim.isEmpty()){
+            initresourcesPopupWindow();
+        }else {
+            ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+            ipAndResourcesPortAdapter.setmList(ComDataBeanList);
+            rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);;
+        }
+
+
+    }
+
+    private void initresourcesPopupWindow() {
+        View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_recycle_item, null);
+        edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
+        TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
+        TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
+        ImageView search_im = contView.findViewById(R.id.search_im);
+        LinearLayout line_top = contView.findViewById(R.id.line_top);
+        rv_line_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
+        rv_line_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
+        rv_line_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
+        ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+        ipAndResourcesPortAdapter.setmList(ComDataBeanList);
+        rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+        setlineAdapter(ComDataBeanList);
+//        edit_et.setText(ct_qty.getText().toString().trim());
+
+        edit_et.requestFocus();
+        editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        editPW.setTouchable(true);
+        editPW.setBackgroundDrawable(new BitmapDrawable());
+        editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeListPopupWindow();
+            }
+        });
+        View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
+        editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+        edit_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_DONE
+                        || actionId == EditorInfo.IME_ACTION_SEND
+                        || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
+                    String mSearchStr = edit_et.getText().toString().trim();
+                    if (!mSearchStr.isEmpty()) {
+                        List<ComDataBean> thisList = new ArrayList<>();
+                        for(int i=0;i<ComDataBeanList.size();i++){
+                            if(ComDataBeanList.get(i).getItemremark().contains(mSearchStr)||ComDataBeanList.get(i).getItemName().contains(mSearchStr)){
+                                thisList.add(ComDataBeanList.get(i));
+                            }
+                            if(i == ComDataBeanList.size() -1){
+                                ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(thisList);
+                                rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+                                LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+
+                            }
+                            List<ComDataBean> lineCodeEntities = ipAndResourcesPortAdapter.getmList();
+                            for (int j = 0; j < lineCodeEntities.size(); j++) {
+                                lineCodeEntities.get(j).setChecked(false);
+                            }
+                            ipAndResourcesPortAdapter.notifyDataSetChanged();
+                        }
+
+
+                    } else {
+                        ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+                        rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+                        List<ComDataBean> lineCodeEntities = ipAndResourcesPortAdapter.getmList();
+                        for (int i = 0; i < lineCodeEntities.size(); i++) {
+                            lineCodeEntities.get(i).setChecked(false);
+                        }
+                        ipAndResourcesPortAdapter.notifyDataSetChanged();
+
+                    }
+                    ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+
+                        @Override
+                        public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                            List<ComDataBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
+                            sc_name = ipAndPortBeans.get(position).getItemName();
+                            sc_code = ipAndPortBeans.get(position).getItemremark();
+                            for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                                ipAndPortBeans.get(i).setChecked(false);
+                            }
+                            ipAndPortBeans.get(position).setChecked(true);
+                            ipAndResourcesPortAdapter.notifyDataSetChanged();
+                        }
+                    });
+                    return true;
+                }
+                return false;
+            }
+        });
+
+
+        search_im.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String mSearchStr = edit_et.getText().toString().trim();
+                if (!mSearchStr.isEmpty()) {
+                    List<ComDataBean> thisList = new ArrayList<>();
+                    for(int i=0;i<ComDataBeanList.size();i++){
+                        if(ComDataBeanList.get(i).getItemremark().contains(mSearchStr)||ComDataBeanList.get(i).getItemName().contains(mSearchStr)){
+                            thisList.add(ComDataBeanList.get(i));
+                        }
+                        if(i == ComDataBeanList.size() -1){
+                            ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(thisList);
+                            rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+                            LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+
+                        }
+                        List<ComDataBean> lineCodeEntities = ipAndResourcesPortAdapter.getmList();
+                        for (int j = 0; j < lineCodeEntities.size(); j++) {
+                            lineCodeEntities.get(j).setChecked(false);
+                        }
+                        ipAndResourcesPortAdapter.notifyDataSetChanged();
+                    }
+
+
+                } else {
+                    ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+                    rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+                    List<ComDataBean> lineCodeEntities = ipAndResourcesPortAdapter.getmList();
+                    for (int i = 0; i < lineCodeEntities.size(); i++) {
+                        lineCodeEntities.get(i).setChecked(false);
+                    }
+                    ipAndResourcesPortAdapter.notifyDataSetChanged();
+
+                }
+//                getRepairStep(mSearchStr);
+                ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                        List<ComDataBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
+                        sc_name = ipAndPortBeans.get(position).getItemName();
+                        sc_code = ipAndPortBeans.get(position).getItemremark();
+                        for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                            ipAndPortBeans.get(i).setChecked(false);
+                        }
+                        ipAndPortBeans.get(position).setChecked(true);
+                        ipAndResourcesPortAdapter.notifyDataSetChanged();
+                    }
+                });
+            }
+
+        });
+
+
+
+        List<String> list=new ArrayList<>();
+        //确定
+        sure_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                list.clear();
+
+                if (StringUtil.isEmpty(sc_code)){
+                    CommonUtil.toastNoRepeat(mActivity,"请选择工序");
+                    return;
+                }
+                ed_jump.setText(sc_code + "(" +sc_name+ ")");
+                ed_jump.requestFocus();
+                ed_jump.setSelection(ed_jump.getText().length());
+                closeListPopupWindow();
+            }
+        });
+
+        //取消
+        cancle_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                closeListPopupWindow();
+            }
+        });
+
+        String mSearchStr = edit_et.getText().toString().trim();
+        if (mSearchStr.isEmpty()) {
+            ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+            rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+            List<ComDataBean> lineCodeEntities = ipAndResourcesPortAdapter.getmList();
+            for (int i = 0; i < lineCodeEntities.size(); i++) {
+                lineCodeEntities.get(i).setChecked(false);
+            }
+            ipAndResourcesPortAdapter.notifyDataSetChanged();
+
+            ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                @Override
+                public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                    List<ComDataBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
+                    sc_name = ipAndPortBeans.get(position).getItemName();
+                    sc_code = ipAndPortBeans.get(position).getItemremark();
+                    for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                        ipAndPortBeans.get(i).setChecked(false);
+                    }
+                    ipAndPortBeans.get(position).setChecked(true);
+                    ipAndResourcesPortAdapter.notifyDataSetChanged();
+                }
+            });
+        }
+//        edit_et.addTextChangedListener(new TextWatcher() {
+//            @Override
+//            public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
+//            @Override
+//            public void onTextChanged(CharSequence s, int start, int before, int count) { }
+//            @Override
+//            public void afterTextChanged(Editable s) {
+//                if (ComDataBeanList.isEmpty()){
+//                    getfuzzySearchSourceData(edit_et.getText().toString().trim(),"不良");
+//                }
+//                if (s.length() >= 0) {
+//                    String mSearchStr = s.toString().trim();
+//                    LogUtil.i("mSearchStr",mSearchStr);
+//                    List<ComDataBean> thisList = new ArrayList<>();
+//                    for(int i=0;i<ComDataBeanList.size();i++){
+//                        if(ComDataBeanList.get(i).getSC_CODE().contains(mSearchStr)){
+//                            thisList.add(ComDataBeanList.get(i));
+//                        }
+//                        if(i == ComDataBeanList.size() -1){
+//                            ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(thisList);
+//                            rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+//                            LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+//                        }
+//                    }
+//                    ipAndResourcesPortAdapter.notifyDataSetChanged();
+//
+//                } else {
+//
+//                    ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(ComDataBeanList);
+//                    rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+//
+//                }
+//                ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+//                    @Override
+//                    public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+//                        List<ComDataBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
+//                        for (int i = 0; i < ipAndPortBeans.size(); i++) {
+//                            ipAndPortBeans.get(i).setChecked(false);
+//                        }
+//                        ipAndPortBeans.get(position).setChecked(true);
+//                        ipAndResourcesPortAdapter.notifyDataSetChanged();
+//                    }
+//                });
+//            }
+//
+//        });
+
+
+    }
+
+    private void setlineAdapter(ArrayList<ComDataBean> mList) {
+        LogUtil.i("mList", JSON.toJSONString(mList));
+        ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(mList);
+        ipAndResourcesPortAdapter.setmList(ComDataBeanList);
+        ipAndResourcesPortAdapter.notifyDataSetChanged();
+        rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
+    }
+
+    private void closeListPopupWindow() {
+        if (editPW != null) {
+            editPW.dismiss();
+            editPW = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+    private void goSingleFragment(Bundle bundle) {
+        NewCheckCangKuFragment fragment = new NewCheckCangKuFragment();
+        fragment.setOnSelectionListener(this);
+        fragment.setArguments(bundle);
+        FragmentUtils.switchFragment(this, fragment);
+    }
+    private void getNewProdinout() {
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_OUTMATERIAL_NEWPRODINOUT)
+                        .method(Request.Method.POST)
+                        .tag(TAG + "getMaCode")
+                        .flag(0)
+                        .addParam("pi_class", "其他出库单")//必填单据类型
+                        .addParam("pi_whcode",sc_code)//必填 仓库
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
+                        if (isSuccess){
+                            JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
+                            if (dataObject == null){
+
+                            }else {
+                                String pi_id = dataObject.getString("PI_ID") == null ? "" : dataObject.getString("PI_ID");
+                                String pi_inoutno = dataObject.getString("PI_INOUTNO") == null ? "" : dataObject.getString("PI_INOUTNO");
+                                String pi_status = dataObject.getString("PI_STATUS") == null ? "" : dataObject.getString("PI_STATUS");
+                                String pi_invostatus = dataObject.getString("PI_INVOSTATUS") == null ? "" : dataObject.getString("PI_INVOSTATUS");
+                                String pi_whcode = dataObject.getString("PI_WHCODE") == null ? "" : dataObject.getString("PI_WHCODE");
+                                String pi_whname = dataObject.getString("PI_WHNAME") == null ? "" : dataObject.getString("PI_WHNAME");
+                                jumpToStorageInAddDetail(pi_id,pi_inoutno,pi_whcode,pi_whname);
+
+                            }
+                        }
+                    }
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                    }
+                });
+
+
+    }
+    private void jumpToStorageInAddDetail(String pi_id, String pi_inoutno, String pi_whcode,String pi_whname) {
+        MateriaialequisitionApplictionDetailFragment mFragment = new MateriaialequisitionApplictionDetailFragment();
+        Bundle bundle = new Bundle();
+        bundle.putString("pi_class", "其它出库单");
+        bundle.putString("pi_id", pi_id);
+        bundle.putString("pi_inoutno", pi_inoutno);
+        bundle.putString("pi_whcode", pi_whcode);
+        bundle.putString("pi_whname", pi_whname);
+
+        mFragment.setArguments(bundle);
+
+        FragmentUtils.switchFragment(MaterialRequisitionApplicationFragment.this, mFragment);
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode != Activity.RESULT_OK) {
+            return;
+        }
+
+    }
+
+
+
+
+
+
+    @Override
+    public void onHiddenChanged(boolean hidden) {
+        super.onHiddenChanged(hidden);
+        if (hidden) {
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+            ((FunctionActivity) getActivity()).setListIconIvVisible(false);
+            ((FunctionActivity) getActivity()).setScanIvVisible(false);
+        } else {
+            FunctionActivity.setTitle("新增入库");//("+pi_type+")
+
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+            ((FunctionActivity) getActivity()).setListIconIvVisible(true);
+            ((FunctionActivity) getActivity()).setScanIvVisible(false);
+        }
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+//        if (mWhichPage == PAGE_STORAGE_IN_ADD) {
+//            if (mOnStorageInToListListener != null) {
+//                mOnStorageInToListListener.onStorageInToList();
+//                return true;
+//            } else {
+//                return false;
+//            }
+//        } else {
+        return false;
+//        }
+    }
+    private WhcodeBean mWhcodeBean;
+    @SuppressLint("SetTextI18n")
+    @Override
+    public void onSelection(int flag, Object selection) {
+        switch (flag) {
+            case NewCheckCangKuFragment.STORAGE_IN_ADD_WAREHOUSE:
+                mWhcodeBean = (WhcodeBean) selection;
+                mwhcode = mWhcodeBean.getWH_CODE();
+                ed_jump.setText(mWhcodeBean.getWH_CODE() + "(" + mWhcodeBean.getWH_DESCRIPTION() + ")");
+                ed_jump.requestFocus();
+                ed_jump.setSelection(ed_jump.getText().length());
+                break;
+            default:
+                break;
+        }
+    }
+    private String maFunName = null;
+    @Override
+    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+        maFunName = masterFuncList.get(position);
+        LogUtil.i("maname",maFunName);
+    }
+
+    @Override
+    public void onNothingSelected(AdapterView<?> parent) {
+
+    }
+
+    public interface OnStorageInAddListener {
+        void onStorageInAdd();
+    }
+
+    public interface OnStorageInToListListener {
+        void onStorageInToList();
+    }
+
+    public interface OnFinishListener {
+        void onFinish(String pi_class, String pi_whcode, String pi_cardcode, long pi_id, String pi_inoutno, String pi_status, String pi_invostatus);
+    }
+    private class IpAndResourcesPortAdapter extends BaseQuickAdapter<ComDataBean, BaseViewHolder> {
+        private List<ComDataBean> mmmmList;
+
+        public List<ComDataBean> getmList() {
+            return mmmmList;
+        }
+
+        public void setmList(List<ComDataBean> mList) {
+            this.mmmmList = mList;
+        }
+        public ComDataBean getBeanByPositon(int position){
+            return mmmmList.get(position);
+        }
+
+        private IpAndResourcesPortAdapter(@Nullable List<ComDataBean> data) {
+            super(R.layout.fuzzy_ipandport_item, data);
+            this.mmmmList = data;
+        }
+        @Override
+        protected void convert(BaseViewHolder helper, ComDataBean item) {
+            helper.setText(R.id.macode_ip__Tv,item.getItemremark()+"-("+item.getItemName()+")");
+            LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
+            if (item.getChecked()) {
+                line_true.setSelected(true);
+            } else {
+                line_true.setSelected(false);
+            }
+        }
+    }
+
+
+    private class ComDataBean{
+        String itemName = null;
+        String itemremark = null;
+        boolean Checked;
+
+        public boolean getChecked() {
+            return Checked;
+        }
+
+        public void setChecked(boolean checked) {
+            Checked = checked;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+
+        public String getItemremark() {
+            return itemremark;
+        }
+
+        public void setItemremark(String itemremark) {
+            this.itemremark = itemremark;
+        }
+    }
+
+}

+ 5 - 0
app/src/main/java/com/uas/uas_mes_stw/fragment/ShopFloorOperationsFragment.java

@@ -11,6 +11,7 @@ import com.uas.uas_mes_stw.R;
 import com.uas.uas_mes_stw.activity.FunctionActivity;
 import com.uas.uas_mes_stw.global.GloableParams;
 import com.uas.uas_mes_stw.tools.DataSourceManager;
+import com.uas.uas_mes_stw.tools.SharedPreUtil;
 import com.uas.uas_mes_stw.util.FragmentUtils;
 
 import java.util.List;
@@ -70,6 +71,10 @@ public class ShopFloorOperationsFragment extends BaseFragment implements View.On
                     case GloableParams.PRODUCTION_LINE_BARCODE_GENERATION:
                         mFragment = new ProductionLineBarcodeGenerationFragment();
                         break;
+                    case GloableParams.MATERIALREQUISITIONAPPLICATION:
+                        SharedPreUtil.saveString(mActivity,"pi_class","其它出库单");
+                        mFragment = new MaterialRequisitionApplicationFragment();
+                        break;
                     default:
                         break;
                 }

+ 10 - 1
app/src/main/java/com/uas/uas_mes_stw/global/GloableParams.java

@@ -299,6 +299,7 @@ public class GloableParams {
     public static String ADDRESS_COMMON_SCANCONFIRMTRANS;
     public static String ADDRESS_COMMON_SCANENDTRANS;
     public static String ADDRESS_COMMON_GETLOCATIONPROD;
+    public static String ADDRESS_COMMON_GETPRODIODETAIL;
 
 
 
@@ -837,6 +838,10 @@ public class GloableParams {
     private static final String ADDRESSTAIL_COUNTING_GETPRODINOUTLIST = "/api/pdaio/pdaioIn/getProdinoutList.action";
     private static final String ADDRESSTAIL_COMMON_DBFIND = "/mobile/common/dbfind.action";
 
+    /**
+     * 领料
+     */
+    private static final String ADDRESSTAIL_COMMON_GETPRODIODETAIL = "/api/pdaio/pdaioIn/getProdiodetail.action";
 
 
 
@@ -982,13 +987,16 @@ public class GloableParams {
     //车间作业
     public static final String SHOP_INBOUND_COLLECTION = "入库采集";
     public static final String PRODUCTION_LINE_BARCODE_GENERATION = "产线条码生成";
+    public static final String MATERIALREQUISITIONAPPLICATION = "领料申请";
 
     public static final String[] shopfloorInMenuNames = {
             SHOP_INBOUND_COLLECTION,
-            PRODUCTION_LINE_BARCODE_GENERATION
+            PRODUCTION_LINE_BARCODE_GENERATION,
+            MATERIALREQUISITIONAPPLICATION
     };
     public static final int[] shopfloorInMenuImgs = {
             R.drawable.mainmenu_outinstorage,
+            R.drawable.storage_msd_manager,
             R.drawable.storage_msd_manager
 
     };
@@ -1330,6 +1338,7 @@ public class GloableParams {
         GloableParams.ADDRESS_COMMON_SCANCONFIRMTRANS = uriHead + GloableParams.ADDRESSTAIL_PAD_SCANCONFIRMTRANS;
         GloableParams.ADDRESS_COMMON_SCANENDTRANS = uriHead + GloableParams.ADDRESSTAIL_PAD_SCANENDTRANS;
         GloableParams.ADDRESS_COMMON_GETLOCATIONPROD = uriHead + GloableParams.ADDRESSTAIL_PAD_GETLOCATIONPROD;
+        GloableParams.ADDRESS_COMMON_GETPRODIODETAIL = uriHead + GloableParams.ADDRESSTAIL_COMMON_GETPRODIODETAIL;
 
 
 

+ 111 - 0
app/src/main/res/layout/fragment_materialra.xml

@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="#F2F2F2"
+    android:orientation="vertical">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical"
+        android:padding="16dp">
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+            <TextView
+                style="@style/tl_tv_style"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:padding="10dp"
+                android:text="仓库编号"
+                android:textColor="@color/red"
+                android:textSize="14sp"/>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@drawable/bg_line_edittext"
+                android:orientation="horizontal"
+                android:layout_weight="1">
+
+                <com.uas.uas_mes_stw.view.ClearableEditText
+                    android:id="@+id/ed_jump"
+                    style="@style/EditTextStyle"
+                    android:layout_weight="1"
+                    android:background="@null"
+                    android:focusable="true"
+                    android:focusableInTouchMode="true"
+                    android:hint="请输入仓库编号"
+                    android:imeOptions="actionSend"
+                    android:textColor="@color/black" />
+
+
+            </LinearLayout>
+            <ImageView
+                android:id="@+id/iv_search"
+                android:layout_width="@dimen/dp_40"
+                android:layout_height="@dimen/dp_40"
+                android:layout_gravity="center_vertical"
+                android:background="@drawable/bg_button"
+                android:layout_marginLeft="@dimen/space_left_5"
+                android:src="@drawable/search_48"/>
+
+        </LinearLayout>
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+            <TextView
+                style="@style/tl_tv_style"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:padding="10dp"
+                android:text="仓库编号"
+                android:textColor="@color/red"
+                android:textSize="14sp"/>
+
+            <Spinner
+                android:id="@+id/sp_login"
+                android:layout_marginLeft="@dimen/dp_10"
+                android:layout_marginRight="@dimen/dp_10"
+                style="@style/SpinnerStyle"
+                android:layout_width="100dp"
+                android:layout_height="@dimen/dp_40"
+                android:layout_marginTop="0dp"
+                android:padding="0dp"
+                android:gravity="center"
+                android:paddingLeft="0dp"
+                android:layout_gravity="top"
+                android:background="@drawable/bg_spinner" />
+        </LinearLayout>
+        <TextView
+            android:id="@+id/tv_moren"
+            android:text="默认仓库:"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/blueq"
+            android:layout_marginTop="@dimen/dp_10"
+            android:layout_marginBottom="5dp"
+            android:layout_marginLeft="@dimen/dp_10"
+            android:visibility="gone">
+        </TextView>
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/rv_data"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+        </android.support.v7.widget.RecyclerView>
+
+
+    </LinearLayout>
+    <Button
+        android:id="@+id/storage_in_add_detail_commit_btn"
+        style="@style/ButtonStyle"
+        android:layout_width="match_parent"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="@dimen/dp_10"
+        android:text="确认" />
+</RelativeLayout>