Browse Source

增加盘点采集界面,出库采集界面增加提示

ChengJH 1 year ago
parent
commit
b16b16e4c2

+ 54 - 0
app/src/main/java/com/uas/pda_smart_com_lg/adapter/MySpinnerAdaper.java

@@ -0,0 +1,54 @@
+package com.uas.pda_smart_com_lg.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.uas.pda_smart_com_lg.R;
+
+import java.util.List;
+
+;
+
+/**
+ * Created by cjh-sail on 2024-01-12
+ */
+public class MySpinnerAdaper extends BaseAdapter {
+    private List<String> mList;
+    private Context mContext;
+    public MySpinnerAdaper(Context pContext, List<String> pList) {
+        this.mContext = pContext;
+        this.mList = pList;
+    }
+    @Override
+    public int getCount() {
+        return  mList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return mList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return position;
+    }
+
+    @SuppressLint("ViewHolder")
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        LayoutInflater _LayoutInflater=LayoutInflater.from(mContext);
+        convertView=_LayoutInflater.inflate(R.layout.item_sapinnerstr, null);
+        if(convertView!=null)
+        {
+            TextView text_spinner=(TextView)convertView.findViewById(R.id.text_spinner);
+            text_spinner.setText(mList.get(position)+"");
+        }
+        return convertView;
+    }
+}

+ 358 - 0
app/src/main/java/com/uas/pda_smart_com_lg/fragment/EquipmentCollectFragment.java

@@ -0,0 +1,358 @@
+package com.uas.pda_smart_com_lg.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+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.JSONObject;
+import com.android.volley.Request;
+import com.uas.pda_smart_com_lg.R;
+import com.uas.pda_smart_com_lg.activity.FunctionActivity;
+import com.uas.pda_smart_com_lg.adapter.MySpinnerAdaper;
+import com.uas.pda_smart_com_lg.global.GloableParams;
+import com.uas.pda_smart_com_lg.listener.MyEditorActionListener;
+import com.uas.pda_smart_com_lg.util.CameraUtil;
+import com.uas.pda_smart_com_lg.util.CommonUtil;
+import com.uas.pda_smart_com_lg.util.FastjsonUtil;
+import com.uas.pda_smart_com_lg.util.FragmentUtils;
+import com.uas.pda_smart_com_lg.util.HttpCallback;
+import com.uas.pda_smart_com_lg.util.HttpParams;
+import com.uas.pda_smart_com_lg.util.VolleyRequest;
+import com.uas.pda_smart_com_lg.view.ClearableEditText;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2019/3/23
+ * Desc: 盘点采集页面
+ */
+public class EquipmentCollectFragment extends BaseFragment implements View.OnClickListener {
+    private static final int SCAN_BARCODE_CODE = 101;
+    private ClearableEditText mTagEditText, mBarcodeEditText;
+    private ImageView mScanImageView;
+    private TextView mResultTextView, mNumTextView, mClassTextView;
+    private Button mMoreButton;
+    private PopupWindow mMenuPopupWindow;
+    private String pi_inoutno, pi_id, pi_class;
+    private CheckBox cb_caiji;
+    private boolean isChecked=false;
+    private ClearableEditText inventory_cuwei;
+    private Spinner spinner;
+    private List<String> mFeededList;
+    private MySpinnerAdaper mySpinnerAdaper;
+    private String maintenanceType;
+    private ClearableEditText ce_shiyong;
+    private ClearableEditText ce_fuzeren;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.equipment_collect;
+    }
+
+    @Override
+    protected void initViews() {
+        ((FunctionActivity) getActivity()).setTitle("设备周期盘点");
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+
+        mMoreButton = mActivity.findViewById(R.id.btn_actionbar_more);
+        mTagEditText = root.findViewById(R.id.inventory_collect_tag_et);
+        mBarcodeEditText = root.findViewById(R.id.inventory_collect_barcode_et);
+        mScanImageView = root.findViewById(R.id.inventory_collect_scan_iv);
+        mResultTextView = root.findViewById(R.id.inventory_collect_result_tv);
+        mNumTextView = root.findViewById(R.id.inventory_collect_num_tv);
+        mClassTextView = root.findViewById(R.id.inventory_collect_class_tv);
+        cb_caiji=root.findViewById(R.id.cb_caiji);
+        inventory_cuwei = root.findViewById(R.id.inventory_cuwei);
+        spinner = root.findViewById(R.id.spinner02);
+        ce_shiyong = root.findViewById(R.id.ce_shiyong);
+        ce_fuzeren = root.findViewById(R.id.ce_fuzeren);
+
+        mBarcodeEditText.requestFocus();
+    }
+
+    @Override
+    protected void initEvents() {
+        mFeededList = new ArrayList<String>();
+        mFeededList.add("闲置中");
+        mFeededList.add("正常使用");
+        mFeededList.add("故障中");
+        mFeededList.add("已报废");
+        mySpinnerAdaper = new MySpinnerAdaper(mActivity,mFeededList);
+        spinner.setAdapter(mySpinnerAdaper);
+        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+            @Override
+            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+                maintenanceType = mFeededList.get(position);
+                Log.e("maintenanceType", maintenanceType);
+            }
+
+            @Override
+            public void onNothingSelected(AdapterView<?> parent) {
+
+            }
+        });
+
+
+
+        mMoreButton.setOnClickListener(this);
+        mScanImageView.setOnClickListener(this);
+        cb_caiji.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                EquipmentCollectFragment.this.isChecked=isChecked;
+            }
+        });
+//        mTagEditText.setOnFocusChangeListener(new View.OnFocusChangeListen) {
+//            @Override
+//            public void onFocusChange(View v, boolean hasFocus) {
+//                if (!hasFocus) {
+//                    String tag = mTagEditText.getText().toString().trim();
+//                    SharedPreUtil.saveString(mActivity, Constants.FLAG.INVENTORY_DC_TIME_CACHE, tag);
+//                }
+//            }
+//        });
+//
+//        CommonUtil.setEditorActionListener(mTagEditText, new MyEditorActionListener() {
+//            @Override
+//            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+//                SharedPreUtil.saveString(mActivity, Constants.FLAG.INVENTORY_DC_TIME_CACHE, text);
+//            }
+//        });
+
+        CommonUtil.setEditorActionListener(mBarcodeEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+//                String deadLine = mTagEditText.getText().toString().trim();
+                String barcode = mBarcodeEditText.getText().toString().trim();
+
+//                if (TextUtils.isEmpty(deadLine)) {
+//                    CommonUtil.toastNoRepeat(mActivity, "请输入临界校验日期");
+//                    return;
+//                }
+
+                if (TextUtils.isEmpty(barcode)) {
+                    CommonUtil.toastNoRepeat(mActivity, "请采集条码");
+                    return;
+                }
+
+                progressDialog.show();
+
+                VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_SAVE_GETBARCODEINFODEVICE)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getbarcodeinfo")
+                        .flag(0)
+                        .addParam("inoutno", pi_inoutno)
+//                        .addParam("deadline", deadLine)
+                        .addParam("barcode", barcode)
+                        .addParam("using", maintenanceType)
+                        .addParam("centercode", ce_shiyong.getText().toString().trim())
+                        .addParam("emcode", ce_fuzeren.getText().toString().trim())
+                        .addParam("iscancel",isChecked+"")
+                        .addParam("bar_location",inventory_cuwei.getText().toString().trim()+"")
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+
+                        try {
+                            mBarcodeEditText.setText("");
+                            String result = o.toString();
+                            JSONObject resultObject = JSON.parseObject(result);
+                            JSONObject dataObject = resultObject.getJSONObject("data");
+                            if (dataObject != null) {
+                                String type = FastjsonUtil.getText(dataObject, "BI_TYPE");
+                                String prompt = "采集成功!";
+                                if (!"超期".equals(type)) {
+                                    mResultTextView.setTextColor(mActivity.getResources().getColor(R.color.black));
+                                    prompt = "采集成功!";
+                                } else {
+                                    mResultTextView.setTextColor(mActivity.getResources().getColor(R.color.red));
+                                    prompt = "采集成功!已超期";
+                                }
+
+                                mResultTextView.setVisibility(View.VISIBLE);
+//                                ce_shiyong.setText(FastjsonUtil.getText(dataObject, "CENTERCODE"));
+//                                ce_fuzeren.setText(FastjsonUtil.getText(dataObject, "EMCODE"));
+                                mResultTextView.setText(prompt
+                                                + "\n物料:" + FastjsonUtil.getText(dataObject, "BI_PRODCODE")
+//                                        + "\n品牌:" + FastjsonUtil.getText(dataObject, "BI_BRAND")
+//                                        + "\nLOTNO:" + FastjsonUtil.getText(dataObject, "BI_LOTNO")
+//                                        + "\nDC:" + FastjsonUtil.getText(dataObject, "BI_DATECODE")
+                                                + "\n型号:" + FastjsonUtil.getText(dataObject, "PR_ORISPECCODE")
+                                                + "\n条码号:" + FastjsonUtil.getText(dataObject, "BI_BARCODE")
+                                                + "\n数量:" + FastjsonUtil.getText(dataObject, "BI_INQTY"
+                                        )
+                                );
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        mBarcodeEditText.setText("");
+                        progressDialog.dismiss();
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                        mResultTextView.setVisibility(View.VISIBLE);
+                        mResultTextView.setText(failStr);
+                    }
+                });
+            }
+        });
+    }
+
+    @Override
+    protected void initDatas() {
+        Bundle bundle = getArguments();
+        if (bundle != null) {
+            pi_inoutno = bundle.getString("pi_inoutno");
+            pi_id = bundle.getString("pi_id");
+            pi_class = bundle.getString("pi_class");
+
+            mNumTextView.setText(pi_inoutno);
+            mClassTextView.setText(pi_class);
+        }
+
+//        String deadLine = SharedPreUtil.getString(mActivity, Constants.FLAG.INVENTORY_DC_TIME_CACHE, "");
+//        if (!TextUtils.isEmpty(deadLine)) {
+//            mTagEditText.setText(deadLine);
+//            mBarcodeEditText.requestFocus();
+//        } else {
+//            mTagEditText.requestFocus();
+//        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btn_actionbar_more:
+                showMoreMenu();
+                break;
+            case R.id.pop_inventory_collect_menu_1:
+                closeMenuPopupWindow();
+                Fragment fragment = new InventoryDetailListFragment();
+                Bundle bundle = new Bundle();
+                bundle.putString("pi_inoutno", pi_inoutno);
+                bundle.putString("piid", pi_id);
+                fragment.setArguments(bundle);
+                FragmentUtils.switchFragment(this, fragment);
+                break;
+            case R.id.pop_inventory_collect_menu_2:
+                closeMenuPopupWindow();
+                fragment = new InventorySummaryListFragment();
+                bundle = new Bundle();
+                bundle.putString("pi_inoutno", pi_inoutno);
+                bundle.putString("piid", pi_id);
+                fragment.setArguments(bundle);
+                FragmentUtils.switchFragment(this, fragment);
+                break;
+            case R.id.inventory_collect_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, getString(R.string.no_camera_detected));
+                }
+                break;
+        }
+    }
+
+
+    /**
+     * 展示扩展菜单
+     */
+    private void showMoreMenu() {
+        View view = View.inflate(getActivity(), R.layout.pop_inventory_collect_menu, null);
+        Button detailBtn = (Button) view.findViewById(R.id.pop_inventory_collect_menu_1);
+        Button summaryBtn = (Button) view.findViewById(R.id.pop_inventory_collect_menu_2);
+
+        detailBtn.setOnClickListener(this);
+        summaryBtn.setOnClickListener(this);
+        detailBtn.setVisibility(View.GONE);
+
+        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(getActivity(), 0.5f);
+        mMenuPopupWindow.showAsDropDown(mMoreButton);
+    }
+
+    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()).setTitle("设备周期盘点");
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+            mBarcodeEditText.requestFocus();
+        } else {
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        }
+    }
+
+    @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);
+                mBarcodeEditText.setText(result);
+                mBarcodeEditText.setSelection(result.length());
+            }
+        }
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+    }
+}

+ 455 - 0
app/src/main/java/com/uas/pda_smart_com_lg/fragment/EquipmentCycleCountFragment.java

@@ -0,0 +1,455 @@
+package com.uas.pda_smart_com_lg.fragment;
+
+import android.content.Context;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.uas.pda_smart_com_lg.R;
+import com.uas.pda_smart_com_lg.activity.FunctionActivity;
+import com.uas.pda_smart_com_lg.application.PdaApplication;
+import com.uas.pda_smart_com_lg.bean.IOCOutMakeMaterialFuzzySearch;
+import com.uas.pda_smart_com_lg.bean.StorageInBillBean;
+import com.uas.pda_smart_com_lg.global.GloableParams;
+import com.uas.pda_smart_com_lg.util.CommonUtil;
+import com.uas.pda_smart_com_lg.util.Constants;
+import com.uas.pda_smart_com_lg.util.FastjsonUtil;
+import com.uas.pda_smart_com_lg.util.FragmentUtils;
+import com.uas.pda_smart_com_lg.util.HttpCallback;
+import com.uas.pda_smart_com_lg.util.HttpParams;
+import com.uas.pda_smart_com_lg.util.JsonTools;
+import com.uas.pda_smart_com_lg.util.MyArrayAdapter;
+import com.uas.pda_smart_com_lg.util.VolleyRequest;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.ButterKnife;
+
+/**
+ * Created by RaoMeng on 2019/3/23
+ * Desc: 设备周期盘点
+ */
+public class EquipmentCycleCountFragment extends BaseFragment {
+    private AutoCompleteTextView mNumEdittext;
+    private ImageView mCleanIv;
+    private Button mSubmitButton;
+    private ListView mNumListView;
+    private InputMethodManager mInputMethodManager;
+    private AdapterListView adapterListView;
+    private IOCOutMakeMaterialFuzzySearch fuzzySearchData;
+    private MyArrayAdapter<String> fuzzyStringAdapter;
+    private List<StorageInBillBean> mBillList;
+    private PopupWindow listViewPopupWindow;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_equipment_cycle_count;
+    }
+
+    @Override
+    protected void initViews() {
+        ((FunctionActivity) getActivity()).setTitle("设备周期盘点");
+
+        mNumEdittext = root.findViewById(R.id.inventory_bill_num_et);
+        mCleanIv = root.findViewById(R.id.inventory_bill_clear_iv);
+        mSubmitButton = root.findViewById(R.id.inventory_bill_submit_btn);
+        mNumListView = root.findViewById(R.id.inventory_bill_list_lv);
+
+        //弹出软键盘
+        mInputMethodManager = (InputMethodManager) root.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+        mInputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
+        mNumEdittext.requestFocus();
+        mNumEdittext.setThreshold(1);
+
+        mBillList = (List<StorageInBillBean>) PdaApplication.getDataCacheFromMap(Constants.FLAG.INVENTORY_BILL_LIST_CACHE);
+        if (mBillList == null || mBillList.size() == 0) {
+            mBillList = new ArrayList<>();
+            adapterListView = new AdapterListView(getActivity(), R.layout.item_inventory_bill_list, mBillList);
+            mNumListView.setAdapter(adapterListView);
+        } else {
+            adapterListView = new AdapterListView(getActivity(), R.layout.item_inventory_bill_list, mBillList);
+            mNumListView.setAdapter(adapterListView);
+        }
+    }
+
+    @Override
+    protected void initEvents() {
+        mCleanIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mNumEdittext.setText("");
+            }
+        });
+
+        mNumListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                rowClickEvent(i);
+            }
+        });
+        mNumListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
+            @Override
+            public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
+                //把listView 的item传过去
+                showListPopupWindow(i);
+                return true;
+            }
+        });
+        mNumEdittext.addTextChangedListener(inOutNoTextWatcher);
+
+        mNumEdittext.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                getStockChecks();
+            }
+        });
+
+        mNumEdittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_SEND
+                        || actionId == EditorInfo.IME_ACTION_SEARCH
+                        || actionId == EditorInfo.IME_ACTION_DONE
+                        || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
+                    getStockChecks();
+                    return true;
+                }
+                return false;
+            }
+        });
+
+        mSubmitButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                getStockChecks();
+            }
+        });
+    }
+
+    private void getStockChecks() {
+        if (TextUtils.isEmpty(mNumEdittext.getText().toString().trim())) {
+            CommonUtil.toastNoRepeat(getActivity(), "请输入盘点单号");
+        } else if (CommonUtil.isStringContainsSpecialChar(mNumEdittext.getText().toString().trim())) {
+            CommonUtil.toastNoRepeat(getActivity(), getResources().getString(R.string.barcode_cannot_contain_special));
+        } else {
+            //判断单号和仓库组合是否已经存在于变量orders中
+            boolean isExist = false;
+            for (int i = 0; i < mBillList.size(); i++) {
+                if ((mBillList.get(i).getPI_INOUTNO()).equals(mNumEdittext.getText().toString().trim())) {
+                    isExist = true;
+                    break;
+                }
+            }
+            if (isExist) {
+                Toast.makeText(getActivity(), "单号重复", Toast.LENGTH_SHORT).show();
+                reset();
+            } else {
+                submitBtnClick();
+            }
+        }
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+
+    private TextWatcher inOutNoTextWatcher = new TextWatcher() {
+        @Override
+        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+        }
+
+        @Override
+        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            //当字数超过3个,自动弹出输入提示框
+            if (charSequence.length() >= 3) {
+                if (!charSequence.toString().matches(Constants.REGEX.NO_SYMBOL)) {
+                    CommonUtil.toastNoRepeat(getActivity(), getResources().getString(R.string.note_number_cannot_contain_special));
+                    mNumEdittext.setText(null);
+                    mNumEdittext.requestFocus();
+                } else {
+                    fuzzySearch();
+                }
+
+            }
+        }
+
+        @Override
+        public void afterTextChanged(Editable editable) {
+            if (mSubmitButton != null) {
+                if (editable.length() == 0) {
+                    mSubmitButton.setEnabled(false);
+                    mCleanIv.setVisibility(View.GONE);
+                } else {
+                    mSubmitButton.setEnabled(true);
+                    mCleanIv.setVisibility(View.VISIBLE);
+                }
+            }
+        }
+    };
+
+    //根据输入字母请求订单号,模糊搜索
+    private void fuzzySearch() {
+        String url = null;
+        try {
+            url = GloableParams.ADDRESS_BARSTOCK_FUZZYSEARCH;
+//                    + "?inoutNo=" + URLEncoder.encode(mNumEdittext.getText().toString().toLowerCase(), "utf-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(url)
+                .tag(TAG + "fuzzysearch")
+                .flag(0)
+                .addParam("inoutNo",mNumEdittext.getText().toString().toLowerCase())
+                .addParam("caller","DeviceBatch")
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                String result = o.toString();
+                List<String> autoStrings = new ArrayList<>();
+                fuzzySearchData = JsonTools.parseJsonToBean(result, IOCOutMakeMaterialFuzzySearch.class);
+                if (fuzzySearchData.getData() == null) {
+                } else {
+                    autoStrings.clear();
+                    fuzzyStringAdapter = new MyArrayAdapter<String>(mActivity, android.R.layout.simple_dropdown_item_1line, autoStrings);
+                    if (mNumEdittext != null) {
+                        mNumEdittext.setAdapter(fuzzyStringAdapter);
+                    }
+                    for (int i = 0; i < fuzzySearchData.getData().size(); i++) {
+                        fuzzyStringAdapter.add(fuzzySearchData.getData().get(i).getPI_INOUTNO());
+                    }
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                reset();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
+    }
+
+    private void submitBtnClick() {
+        progressDialog.show();
+        String inOutNoString = mNumEdittext.getText().toString();
+        if (TextUtils.isEmpty(mNumEdittext.getText().toString())) {
+            return;
+        }
+
+        //发送请求至服务器进行确认
+        String url = null;
+        try {
+            url = GloableParams.ADDRESS_BARSTOCK_GETSTOCKCHECKS
+                    + "?inoutNo=" + URLEncoder.encode(inOutNoString, "utf-8");
+        } catch (UnsupportedEncodingException e) {
+            url = GloableParams.ADDRESS_BARSTOCK_GETSTOCKCHECKS
+                    + "?inoutNo=" + inOutNoString;
+            e.printStackTrace();
+        }
+
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(url)
+                .tag(TAG + "getprodout")
+                .flag(0)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray dataArray = resultObject.getJSONArray("data");
+                    if (dataArray == null || dataArray.size() <= 0) {
+                        return;
+                    }
+                    JSONObject dataObject = dataArray.getJSONObject(0);
+                    StorageInBillBean billBean = new StorageInBillBean();
+                    billBean.setPI_INOUTNO(FastjsonUtil.getText(dataObject, "PI_INOUTNO"));
+                    billBean.setPI_CLASS(FastjsonUtil.getText(dataObject, "PI_CLASS"));
+                    billBean.setPI_CARDCODE(FastjsonUtil.getText(dataObject, "PI_CARDCODE"));
+                    billBean.setPI_ID(FastjsonUtil.getLong(dataObject, "PI_ID"));
+                    billBean.setPI_PDASTATUS(FastjsonUtil.getText(dataObject, "PI_PDASTATUS"));
+                    billBean.setPI_STATUS(FastjsonUtil.getText(dataObject, "PI_STATUSCODE"));
+
+                    //判断单号和仓库组合是否已经存在于变量orders中
+                    for (int i = 0; i < mBillList.size(); i++) {
+                        if (!TextUtils.isEmpty(billBean.getPI_INOUTNO())
+                                && billBean.getPI_INOUTNO().equals(mBillList.get(i).getPI_INOUTNO())) {
+                            Toast.makeText(getActivity(), "单号重复", Toast.LENGTH_SHORT).show();
+                            reset();
+                            return;
+                        }
+                    }
+                    mBillList.add(0, billBean);
+                    adapterListView.notifyDataSetChanged();
+                    if (getActivity() != null) {
+                        mNumEdittext.getText().clear();
+                        CommonUtil.closeKeybord(((EditText) mNumEdittext), mActivity);
+                        if (progressDialog.isShowing())
+                            progressDialog.dismiss();
+                    }
+
+                } catch (Exception e) {
+
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                if (failStr != null) {
+                    CommonUtil.toastNoRepeat(mActivity, failStr);
+                }
+                reset();
+            }
+        });
+    }
+
+    private void showListPopupWindow(final int i) {
+        //点击删除移除ataList.get(i)数据
+        View view = LayoutInflater.from(getActivity()).inflate(R.layout.popupwindow_ioc_out_make_material_listview, null);
+        Button deleteBtn = (Button) view.findViewById(R.id.delete);
+        Button againBtn = (Button) view.findViewById(R.id.again);
+        againBtn.setVisibility(View.GONE);
+        deleteBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                deleteEvent(i);
+                closeListPopupWindow();
+            }
+        });
+        listViewPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        listViewPopupWindow.setAnimationStyle(R.style.MenuAnimationFade);
+        listViewPopupWindow.setBackgroundDrawable(new BitmapDrawable());
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+        listViewPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeListPopupWindow();
+            }
+        });
+        listViewPopupWindow.showAtLocation(mSubmitButton, Gravity.CENTER, 0, 0);
+    }
+
+    //关闭listView的PopupWindow
+    private void closeListPopupWindow() {
+        if (listViewPopupWindow != null) {
+            listViewPopupWindow.dismiss();
+            listViewPopupWindow = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+    }
+
+    /**
+     * 删除单据
+     *
+     * @param position
+     */
+    private void deleteEvent(final int position) {
+        try {
+            mBillList.remove(position);
+            adapterListView.notifyDataSetChanged();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    private void rowClickEvent(final int i) {
+        String pi_inoutno = mBillList.get(i).getPI_INOUTNO();
+        long pi_id = mBillList.get(i).getPI_ID();
+        String pi_class = mBillList.get(i).getPI_CLASS();
+        EquipmentCollectFragment collectFragment = new EquipmentCollectFragment();
+
+        Bundle bundle = new Bundle();
+        bundle.putString("pi_inoutno", pi_inoutno);
+        bundle.putString("pi_id", pi_id + "");
+        bundle.putString("pi_class", pi_class);
+
+        collectFragment.setArguments(bundle);
+
+        FragmentUtils.switchFragment(EquipmentCycleCountFragment.this, collectFragment);
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+
+        CommonUtil.closeKeybord(((EditText) mNumEdittext), mActivity);
+        ButterKnife.unbind(this);
+        PdaApplication.putDataCache2Map(Constants.FLAG.INVENTORY_BILL_LIST_CACHE, mBillList);
+    }
+
+    public void reset() {
+        if (getActivity() != null) {
+            mNumEdittext.getText().clear();
+            CommonUtil.editTextGetFocus(mNumEdittext);
+            CommonUtil.openKeybord(((EditText) mNumEdittext), mActivity);
+            if (progressDialog.isShowing())
+                progressDialog.dismiss();
+        }
+    }
+
+    /**
+     * 页面listview 设置适配器
+     */
+    private class AdapterListView extends ArrayAdapter<StorageInBillBean> {
+        private int resourceId;
+
+        public AdapterListView(Context context, int resource, List<StorageInBillBean> objects) {
+            super(context, resource, objects);
+            resourceId = resource;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            StorageInBillBean data = getItem(position);
+            convertView = LayoutInflater.from(getContext()).inflate(resourceId, null);
+
+            ((TextView) convertView.findViewById(R.id.item_inventory_bill_num_tv)).setText(data.getPI_INOUTNO());
+
+            return convertView;
+        }
+
+    }
+}

+ 25 - 6
app/src/main/java/com/uas/pda_smart_com_lg/fragment/IOCOutMakeMaterialOper.java

@@ -68,6 +68,7 @@ import com.uas.pda_smart_com_lg.tools.VolleyUtil;
 import com.uas.pda_smart_com_lg.util.CameraUtil;
 import com.uas.pda_smart_com_lg.util.CommonUtil;
 import com.uas.pda_smart_com_lg.util.Constants;
+import com.uas.pda_smart_com_lg.util.FastjsonUtil;
 import com.uas.pda_smart_com_lg.util.FileUtils;
 import com.uas.pda_smart_com_lg.util.FragmentUtils;
 import com.uas.pda_smart_com_lg.util.HttpCallback;
@@ -259,6 +260,7 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                             return;
                         }
                         JSONObject messageObject = dataObject.optJSONObject("barcode");
+                        com.alibaba.fastjson.JSONObject messagenextObject = FastjsonUtil.getJSONObject(dataObject.toString(), "next");
                         if (messageObject == null) {
                             return;
                         }
@@ -284,7 +286,9 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                             mCollectResultTextView.setText(null);
                             JSONArray listArray = dataObject.optJSONArray("nolist");
                             if (mCollectType.equals("byBarcode") || mCollectType.equals("byBatchcode")) {
-                                String barcodeResult = "采集成功;" + JsonUtils.optStringNotNull(dataObject, "finishno")
+                                String barcodeResult = "采集成功;" + ";\n出货数量:" + messagenextObject.getString("PD_OUTQTY")
+                                        + ";待采集数:" + messagenextObject.getString("PD_RESTQTY")
+                                        +"\n"+ JsonUtils.optStringNotNull(dataObject, "finishno")
                                         + "\n条码:" + JsonUtils.optStringNotNull(messageObject, "BAR_CODE")
                                         + ";数量:" + CommonUtil.doubleFormat(messageObject.optDouble("BAR_REMAIN"))
                                         + ";批号:" + JsonUtils.optStringNotNull(messageObject, "BAR_BATCHCODE")
@@ -329,7 +333,10 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
 
                                 PdaApplication.putDataCache2Map(Constants.FLAG.MATERIAL_COLLECT_BARCODE_RESULT + pi_inoutno, mResults);
                             } else if (false) {
-                                String boxResult = "采集成功;" + JsonUtils.optStringNotNull(dataObject, "finishno")
+                                String boxResult = "采集成功;"
+                                        + ";\n出货数量:" + JsonUtils.optStringNotNull(messageObject, "PD_OUTQTY")
+                                        + ";待采集数:" + JsonUtils.optStringNotNull(messageObject, "PD_RESTQTY")
+                                        + "\n"+JsonUtils.optStringNotNull(dataObject, "finishno")
                                         + "\n箱号:" + JsonUtils.optStringNotNull(messageObject, "BAR_OUTBOXCODE1")
                                         + ";数量:" + CommonUtil.doubleFormat(messageObject.optDouble("BAR_REMAIN"))
                                         + ";批号:" + JsonUtils.optStringNotNull(messageObject, "BAR_BATCHCODE")
@@ -803,6 +810,8 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                         return;
                     }
                     JSONObject messageObject = dataObject.getJSONObject("barcode");
+//                    JSONObject messagenextObject = dataObject.getJSONObject("next");
+                    com.alibaba.fastjson.JSONObject messagenextObject = FastjsonUtil.getJSONObject(dataObject.toString(), "next");
 
                     if (messageObject.has("IFOVER") && messageObject.optBoolean("IFOVER")) {
                         new AlertDialog.Builder(mActivity)
@@ -839,7 +848,9 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                         mCollectResultTextView.setText(null);
                         JSONArray listArray = dataObject.optJSONArray("nolist");
                         if (mCollectType.equals("byBarcode") || mCollectType.equals("byBatchcode")) {
-                            String barcodeResult = "采集成功;" + JsonUtils.optStringNotNull(dataObject, "finishno")
+                            String barcodeResult = "采集成功;" + "\n出货数量:" + messagenextObject.getString("PD_OUTQTY")
+                                    + ";待采集数:" +  messagenextObject.getString("PD_RESTQTY")
+                                    + "\n"+JsonUtils.optStringNotNull(dataObject, "finishno")
                                     + "\n条码:" + JsonUtils.optStringNotNull(messageObject, "BAR_CODE")
                                     + ";数量:" + CommonUtil.doubleFormat(messageObject.optDouble("BAR_REMAIN"))
                                     + ";批号:" + JsonUtils.optStringNotNull(messageObject, "BAR_BATCHCODE")
@@ -888,7 +899,9 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                     + ";批号:" + JsonUtils.optStringNotNull(messageObject, "BAR_BATCHCODE")
                                     + ";料号:" + JsonUtils.optStringNotNull(messageObject, "BAR_PRODCODE")
                                     + ";名称规格:" + JsonUtils.optStringNotNull(messageObject, "PR_DETAIL")
-                                    + "  " + JsonUtils.optStringNotNull(messageObject, "PR_SPEC");
+                                    + "  " + JsonUtils.optStringNotNull(messageObject, "PR_SPEC")
+                                    + ";\n出货数量:" + JsonUtils.optStringNotNull(messageObject, "PD_OUTQTY")
+                                    + ";待采集数:" + JsonUtils.optStringNotNull(messageObject, "PD_RESTQTY");
 
 
                             if (listArray != null && listArray.length() > 0) {
@@ -1585,6 +1598,8 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                         return;
                     }
                     JSONObject messageObject = dataObject.optJSONObject("barcode");
+//                    JSONObject messagenextObject = dataObject.getJSONObject("next");
+                    com.alibaba.fastjson.JSONObject messagenextObject = FastjsonUtil.getJSONObject(dataObject.toString(), "next");
                     if (messageObject == null) {
                         return;
                     }
@@ -1617,7 +1632,9 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                     + ";料号:" + JsonUtils.optStringNotNull(messageObject, "BAR_PRODCODE")
                                     + ";名称规格:" + messageObject.optString("PR_DETAIL")
                                     + "  " + JsonUtils.optStringNotNull(messageObject, "PR_SPEC")
-                                    + ";仓位:" + JsonUtils.optStringNotNull(messageObject, "BAR_LOCATION");
+                                    + ";仓位:" + JsonUtils.optStringNotNull(messageObject, "BAR_LOCATION")
+                                    + ";\n出货数量:" + messagenextObject.getString("PD_OUTQTY")
+                                    + ";待采集数:" + messagenextObject.getString("PD_RESTQTY");
 
                             if (listArray != null && listArray.length() > 0) {
                                 for (int i = 0; i < listArray.length(); i++) {
@@ -1665,7 +1682,9 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                     + ";批号:" + JsonUtils.optStringNotNull(messageObject, "BAR_BATCHCODE")
                                     + ";料号:" + JsonUtils.optStringNotNull(messageObject, "BAR_PRODCODE")
                                     + ";名称规格:" + JsonUtils.optStringNotNull(messageObject, "PR_DETAIL")
-                                    + "  " + JsonUtils.optStringNotNull(messageObject, "PR_SPEC");
+                                    + "  " + JsonUtils.optStringNotNull(messageObject, "PR_SPEC")
+                                    + ";\n出货数量:" + JsonUtils.optStringNotNull(messageObject, "PD_OUTQTY")
+                                    + ";待采集数:" + JsonUtils.optStringNotNull(messageObject, "PD_RESTQTY");
 
 
                             if (listArray != null && listArray.length() > 0) {

+ 5 - 0
app/src/main/java/com/uas/pda_smart_com_lg/fragment/IndexWareHouseContentFragment.java

@@ -154,6 +154,11 @@ public class IndexWareHouseContentFragment extends BaseFragment implements Adapt
                     getFragmentManager().beginTransaction().addToBackStack(null)
                             .replace(R.id.container_function_fragment, fragment).commit();
                     break;
+                case GloableParams.GRIDNAME_EQUIPMENT_CYCLECOUNT_OUTBOUND://设备周期盘点
+                    fragment = new EquipmentCycleCountFragment();
+                    getFragmentManager().beginTransaction().addToBackStack(null)
+                            .replace(R.id.container_function_fragment, fragment).commit();
+                    break;
             }
         }
     }

+ 5 - 1
app/src/main/java/com/uas/pda_smart_com_lg/fragment/NewBePutInStorageOrderDetailFragment.java

@@ -59,6 +59,7 @@ public class NewBePutInStorageOrderDetailFragment extends BaseFragment{
     private RadioButton radiobutton0;
     private RadioButton radiobutton1;
     private RadioButton radiobutton2;
+    private RadioButton radiobig;
 
     @Override
     protected int getLayout() {
@@ -80,7 +81,8 @@ public class NewBePutInStorageOrderDetailFragment extends BaseFragment{
         radiobutton1 = root.findViewById(R.id.radiobutton1);
         radiobutton0 = root.findViewById(R.id.radiobutton0);
         radiobutton2 = root.findViewById(R.id.radiobutton2);
-        radiobutton0.setChecked(true);
+        radiobig = root.findViewById(R.id.radiobig);
+        radiobig.setChecked(true);
 
         mTypeColumn = new Column<String>("类型", "PIM_TYPE");
         mcontentColumn = new Column<String>("内容", "CONTENT");
@@ -224,6 +226,8 @@ public class NewBePutInStorageOrderDetailFragment extends BaseFragment{
             text_radiobutton="SN";
         }else if (radiobutton0.isChecked()==true){
             text_radiobutton="PALLTE";
+        }else if (radiobig.isChecked()==true){
+            text_radiobutton="bigbox";
         }else {
             text_radiobutton="";
         }

+ 5 - 1
app/src/main/java/com/uas/pda_smart_com_lg/fragment/NewOutboundDeliveryorderDetailFragment.java

@@ -59,6 +59,7 @@ public class NewOutboundDeliveryorderDetailFragment extends BaseFragment{
     private RadioButton radiobutton0;
     private RadioButton radiobutton1;
     private RadioButton radiobutton2;
+    private RadioButton radiobig;
     private TextView tv_qty;
 
     @Override
@@ -79,8 +80,9 @@ public class NewOutboundDeliveryorderDetailFragment extends BaseFragment{
         radiobutton0 = root.findViewById(R.id.radiobutton0);
         radiobutton1 = root.findViewById(R.id.radiobutton1);
         radiobutton2 = root.findViewById(R.id.radiobutton2);
+        radiobig = root.findViewById(R.id.radiobig);
         tv_qty = root.findViewById(R.id.tv_qty);
-        radiobutton0.setChecked(true);
+        radiobig.setChecked(true);
 
 
         mTypeColumn = new Column<String>("类型", "PIM_TYPE");
@@ -225,6 +227,8 @@ public class NewOutboundDeliveryorderDetailFragment extends BaseFragment{
             text_radiobutton="SN";
         }else if (radiobutton0.isChecked()==true){
             text_radiobutton="PALLTE";
+        }else if (radiobig.isChecked()==true){
+            text_radiobutton="bigbox";
         }else {
             text_radiobutton="";
         }

+ 13 - 2
app/src/main/java/com/uas/pda_smart_com_lg/global/GloableParams.java

@@ -252,6 +252,7 @@ public class GloableParams {
     public static String ADDRESS_DOCUMENTLIBRARY_DETAIL_OUTBOUNDLISTS;
     public static String ADDRESS_DOCUMENTLIBRARY_DETAIL_OUTBOUNDLIST;
     public static String ADDRESS_DOCUMENTLIBRARY_SAVE_OUTBOUNDLIST;
+    public static String ADDRESS_DOCUMENTLIBRARY_SAVE_GETBARCODEINFODEVICE;
 
     //连接服务器请求地址
     private static final String ADDRESSTAIL_CONNECT_SERVER = "/api/pda/getAllMasters.action";
@@ -290,6 +291,11 @@ public class GloableParams {
     private static final String ADDRESSTAIL_BARSTOCK_DELETEBARCODEIO = "/api/pda/barStock/deleteBarcodeIo.action";
     private static final String ADDRESSTAIL_BARSTOCK_GETPRODINOUTQTYSUM = "/api/pda/barStock/getProdInoutQtySum.action";
 
+    /**
+     * 设备周期盘点
+     */
+    private static final String ADDRESSTAIL_BARSTOCK_GETBARCODEINFODEVICE = "/api/pda/barStock/getBarcodeInfoDevice.action";
+
     /**
      * 成品检验
      */
@@ -756,17 +762,21 @@ public class GloableParams {
     public static final String MENU_STORAGE_STOCK_INFO_COLLECT = "库存条码绑定";
     public static final String GRIDNAME_FINISHED_PRODUCT_STORAGE = "成品入库";
     public static final String GRIDNAME_FINISHED_PRODUCT_OUTBOUND = "成品出库";
+    public static final String GRIDNAME_EQUIPMENT_CYCLECOUNT_OUTBOUND = "设备周期盘点";
     public static final String[] storageGridNames = {GRIDNAME_GOOD_SEARCH, GRIDNAME_BATCH_OPRATION,
             GRIDNAME_STORAGE_TRANSFER, GRIDNAME_MODIFY_QUANTITY, GRIDNAME_WORK_INVENTORY, GRIDNAME_BOM_CHECK,MENU_STORAGE_STOCK_INFO_COLLECT,
             GRIDNAME_FINISHED_PRODUCT_STORAGE,
-            GRIDNAME_FINISHED_PRODUCT_OUTBOUND};
+            GRIDNAME_FINISHED_PRODUCT_OUTBOUND,
+            GRIDNAME_EQUIPMENT_CYCLECOUNT_OUTBOUND};
     public static final int[] storageGridImgs = {R.drawable.storage_good_search,
             R.drawable.storage_bach_operation, R.drawable.storage_transfer,
             R.drawable.storage_work_inventory,
             R.drawable.ic_modify_quantity, R.drawable.storage_msd_manager,
             R.drawable.storage_transfer,
             R.drawable.ic_finished_product_storage,
-            R.drawable.ic_finished_product_outbound};
+            R.drawable.ic_finished_product_outbound,
+            R.drawable.equipment
+    };
     //DETAIL:搜索备料单号,下拉列表
     public static final String SPINNER_PREPARE_SEARCH = "搜索备料单号";
     public static final String SPINNER_MAKECODE_SEARCH = "搜索制造单号";
@@ -1105,6 +1115,7 @@ public class GloableParams {
         GloableParams.ADDRESS_DOCUMENTLIBRARY_DETAIL_OUTBOUNDLISTS= uriHead + GloableParams.ADDRESSTAIL_DETAIL_OUTBOUNDLISTS;
         GloableParams.ADDRESS_DOCUMENTLIBRARY_DETAIL_OUTBOUNDLIST= uriHead + GloableParams.ADDRESSTAIL_DETAIL_OUTBOUNDLIST;
         GloableParams.ADDRESS_DOCUMENTLIBRARY_SAVE_OUTBOUNDLIST= uriHead + GloableParams.ADDRESSTAIL_SAVVE_OUTBOUNDLIST;
+        GloableParams.ADDRESS_DOCUMENTLIBRARY_SAVE_GETBARCODEINFODEVICE= uriHead + GloableParams.ADDRESSTAIL_BARSTOCK_GETBARCODEINFODEVICE;
 
 
 

BIN
app/src/main/res/drawable-xhdpi/equipment.png


+ 180 - 0
app/src/main/res/layout/equipment_collect.xml

@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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:orientation="vertical"
+    android:padding="16dp">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:id="@+id/inventory_collect_num_tv"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:textColor="#333333"
+            tools:text="YSl2340898080" />
+
+        <TextView
+            android:id="@+id/inventory_collect_class_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="#333333"
+            tools:text="设备盘点单" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:orientation="horizontal"
+        android:visibility="gone">
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="低于" />
+
+        <com.uas.pda_smart_com_lg.view.ClearableEditText
+            android:id="@+id/inventory_collect_tag_et"
+            style="@style/inputItemValue"
+            android:hint="请输入" />
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:paddingLeft="10dp"
+            android:paddingRight="10dp"
+            android:text="DC的物料不记录" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingLeft="15dp">
+        <CheckBox
+            android:id="@+id/cb_caiji"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="#333333"
+            android:textSize="14sp"
+            android:text="取消采集"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:orientation="horizontal">
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="设备编号" />
+
+        <com.uas.pda_smart_com_lg.view.ClearableEditText
+            android:id="@+id/inventory_collect_barcode_et"
+            style="@style/inputItemValue"
+            android:hint="请采集设备编号" />
+
+        <ImageView
+            android:id="@+id/inventory_collect_scan_iv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginRight="10dp"
+            android:background="@color/white"
+            android:clickable="false"
+            android:src="@drawable/ic_edittext_scan" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:orientation="horizontal">
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="储位" />
+
+        <com.uas.pda_smart_com_lg.view.ClearableEditText
+            android:id="@+id/inventory_cuwei"
+            style="@style/inputItemValue"
+            android:hint="请输入储位" />
+
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:orientation="horizontal">
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="使用部门" />
+
+        <com.uas.pda_smart_com_lg.view.ClearableEditText
+            android:id="@+id/ce_shiyong"
+            style="@style/inputItemValue"
+            android:hint="" />
+
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:orientation="horizontal">
+
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="负责人" />
+
+        <com.uas.pda_smart_com_lg.view.ClearableEditText
+            android:id="@+id/ce_fuzeren"
+            style="@style/inputItemValue"
+            android:hint="" />
+
+    </LinearLayout>
+    <LinearLayout
+        android:layout_marginTop="5dp"
+        android:orientation="horizontal"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content">
+        <TextView
+            android:layout_gravity="center"
+            style="@style/inputItemCaption"
+            android:text="使用部门" />
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/bg_line_edittext"
+            android:orientation="horizontal">
+
+            <Spinner
+                android:id="@+id/spinner02"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:gravity="center">
+            </Spinner>
+
+        </LinearLayout>
+    </LinearLayout>
+
+
+
+
+    <TextView
+        android:id="@+id/inventory_collect_result_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacing_big"
+        android:background="@drawable/shape_msg_block"
+        android:padding="10dp"
+        android:textColor="@color/text_normal"
+        android:visibility="gone"
+        tools:text="采集成功,条码:786528238;数量:2;料号:209837;名称规格:瓶子" />
+
+</LinearLayout>

+ 62 - 0
app/src/main/res/layout/fragment_equipment_cycle_count.xml

@@ -0,0 +1,62 @@
+<LinearLayout 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:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:orientation="vertical"
+        android:padding="@dimen/padding_normal">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <FrameLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="5">
+
+                <AutoCompleteTextView
+                    android:id="@+id/inventory_bill_num_et"
+                    style="@style/Search"
+                    android:layout_height="35dp"
+                    android:background="@drawable/shape_from_edit"
+                    android:hint="盘点单号"
+                    android:imeOptions="actionSend"
+                    android:padding="6dp" />
+
+                <ImageView
+                    android:id="@+id/inventory_bill_clear_iv"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center|right"
+                    android:layout_marginRight="13dp"
+                    android:src="@drawable/wrong"
+                    android:visibility="gone" />
+            </FrameLayout>
+
+            <Button
+                android:id="@+id/inventory_bill_submit_btn"
+                style="@style/ButtonStyle"
+                android:layout_width="0dp"
+                android:layout_height="35dp"
+                android:layout_marginLeft="0dp"
+                android:layout_marginTop="0dp"
+                android:layout_weight="2"
+                android:enabled="false"
+                android:text="@string/confirm" />
+        </LinearLayout>
+
+        <ListView
+            android:id="@+id/inventory_bill_list_lv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+
+    </LinearLayout>
+</LinearLayout>

+ 14 - 0
app/src/main/res/layout/item_sapinnerstr.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Login页面Spanner下拉的每一个item-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal" android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <TextView
+        android:id="@+id/text_spinner"
+        style="@style/SpinnerItemStyle"
+        android:layout_marginLeft="5dp"
+        android:layout_marginRight="5dp"
+        android:gravity="center"
+        android:textColor="@color/black"/>
+</LinearLayout>

+ 13 - 6
app/src/main/res/layout/newbeputinstorageorderdetail_fragment.xml

@@ -69,17 +69,13 @@
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
             android:orientation="horizontal">
-            <RadioButton
-                android:id="@+id/radiobutton0"
-                android:layout_height="wrap_content"
-                android:layout_width="wrap_content"
-                android:text="栈板" />
+
             <RadioButton
                 android:id="@+id/radiobutton1"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_marginLeft="10dp"
-                android:text="箱号" />
+                android:text="卡通箱号" />
 
             <RadioButton
                 android:id="@+id/radiobutton2"
@@ -87,6 +83,17 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:text="单台序列号" />
+            <RadioButton
+                android:id="@+id/radiobig"
+                android:layout_marginLeft="@dimen/dp_10"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:text="大箱号" />
+            <RadioButton
+                android:id="@+id/radiobutton0"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:text="栈板号" />
 
         </RadioGroup>
 

+ 13 - 6
app/src/main/res/layout/newoutbounddeliveryorderdetail_fragment.xml

@@ -70,17 +70,13 @@
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
             android:orientation="horizontal">
-            <RadioButton
-                android:id="@+id/radiobutton0"
-                android:layout_height="wrap_content"
-                android:layout_width="wrap_content"
-                android:text="栈板" />
+
             <RadioButton
                 android:id="@+id/radiobutton1"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_marginLeft="@dimen/dp_10"
-                android:text="箱号" />
+                android:text="卡通箱号" />
 
             <RadioButton
                 android:id="@+id/radiobutton2"
@@ -88,6 +84,17 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:text="单台序列号" />
+            <RadioButton
+                android:id="@+id/radiobig"
+                android:layout_marginLeft="@dimen/dp_10"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:text="大箱号" />
+            <RadioButton
+                android:id="@+id/radiobutton0"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:text="栈板号" />
 
         </RadioGroup>
 

+ 2 - 2
build.gradle

@@ -43,8 +43,8 @@ ext {
             targetSdkVersion : 28,
             compileSdkVersion: 28,
             buildToolsVersion: "28.0.3",
-            versionCode      : 25,
-            versionName      : "v2.3.2"
+            versionCode      : 30,
+            versionName      : "v2.3.7"
     ]
 
     depsVersion = [