Browse Source

调试收料“新增收料单列表”问题,接口调试
更改入库入口后界面,新增出库单入口
新增“出库收料单列表,“新增收料单列表”

ChengJH 3 years ago
parent
commit
bd0d918a17

+ 3 - 2
app/src/main/java/com/uas/uas_mes_zb_p/activity/FunctionActivity.java

@@ -13,12 +13,12 @@ import android.widget.TextView;
 
 import com.uas.uas_mes_zb_p.R;
 import com.uas.uas_mes_zb_p.fragment.BaseFragment;
-import com.uas.uas_mes_zb_p.fragment.IOCOutMakeMaterial;
 import com.uas.uas_mes_zb_p.fragment.IndexInOutContentFragment;
 import com.uas.uas_mes_zb_p.fragment.IndexSettingFragment;
 import com.uas.uas_mes_zb_p.fragment.IndexShopContentFragment;
 import com.uas.uas_mes_zb_p.fragment.IndexWareHouseContentFragment;
 import com.uas.uas_mes_zb_p.fragment.MSDManageFragment;
+import com.uas.uas_mes_zb_p.fragment.OutboundListFragment;
 import com.uas.uas_mes_zb_p.fragment.SCSMTFragment;
 import com.uas.uas_mes_zb_p.fragment.SolderPasteManageFragment;
 import com.uas.uas_mes_zb_p.fragment.StorageInFragment;
@@ -79,7 +79,8 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                     break;
                 //出库
                 case GloableParams.GRIDNAME_OUT_STORAGE:
-                    fragment = new IOCOutMakeMaterial();
+//                    fragment = new IOCOutMakeMaterial();
+                    fragment = new OutboundListFragment();
                     break;
                 //车间管理
                 case GloableParams.GRIDNAME_SHOPCONTENT:

+ 7 - 0
app/src/main/java/com/uas/uas_mes_zb_p/bean/MessageEvents.java

@@ -0,0 +1,7 @@
+package com.uas.uas_mes_zb_p.bean;
+
+public class MessageEvents {
+    public MessageEvents(String s) {
+
+    }
+}

+ 11 - 1
app/src/main/java/com/uas/uas_mes_zb_p/bean/StoragerechargeAddCommitBean.java

@@ -15,12 +15,13 @@ public class StoragerechargeAddCommitBean {
     private String VA_VENDNAME;
     private String VA_STATUSCODE;
     private String VA_ID;
+    private String VA_SENDCODE;
 
     public StoragerechargeAddCommitBean(){
 
     }
 
-    public StoragerechargeAddCommitBean(String VAD_DETNO, String VAD_PUCODE, String VAD_PUDETNO, String VAD_PRODCODE, String VAD_QTY, String PR_DETAIL, String VA_CODE, String VA_VENDCODE, String VA_VENDNAME, String VA_STATUSCODE, String VA_ID) {
+    public StoragerechargeAddCommitBean(String VAD_DETNO, String VAD_PUCODE, String VAD_PUDETNO, String VAD_PRODCODE, String VAD_QTY, String PR_DETAIL, String VA_CODE, String VA_VENDCODE, String VA_VENDNAME, String VA_STATUSCODE, String VA_ID,String VA_SENDCODE) {
         this.VAD_DETNO = VAD_DETNO;
         this.VAD_PUCODE = VAD_PUCODE;
         this.VAD_PUDETNO = VAD_PUDETNO;
@@ -32,6 +33,15 @@ public class StoragerechargeAddCommitBean {
         this.VA_VENDNAME = VA_VENDNAME;
         this.VA_STATUSCODE = VA_STATUSCODE;
         this.VA_ID = VA_ID;
+        this.VA_SENDCODE=VA_SENDCODE;
+    }
+
+    public String getVA_SENDCODE() {
+        return VA_SENDCODE;
+    }
+
+    public void setVA_SENDCODE(String VA_SENDCODE) {
+        this.VA_SENDCODE = VA_SENDCODE;
     }
 
     public String getVAD_DETNO() {

+ 460 - 0
app/src/main/java/com/uas/uas_mes_zb_p/fragment/OutboundListAdd_Fragment.java

@@ -0,0 +1,460 @@
+package com.uas.uas_mes_zb_p.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.v4.content.ContextCompat;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.WindowManager;
+import android.view.inputmethod.EditorInfo;
+import android.widget.Button;
+import android.widget.ImageView;
+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.bin.david.form.core.SmartTable;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.CellInfo;
+import com.bin.david.form.data.column.Column;
+import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat;
+import com.bin.david.form.data.style.FontStyle;
+import com.bin.david.form.data.table.TableData;
+import com.bin.david.form.listener.OnColumnItemClickListener;
+import com.uas.uas_mes_zb_p.R;
+import com.uas.uas_mes_zb_p.activity.FunctionActivity;
+import com.uas.uas_mes_zb_p.bean.MessageEvents;
+import com.uas.uas_mes_zb_p.bean.StoragerechargeAddCommitBean;
+import com.uas.uas_mes_zb_p.global.GloableParams;
+import com.uas.uas_mes_zb_p.tools.SharedPreUtil;
+import com.uas.uas_mes_zb_p.util.CameraUtil;
+import com.uas.uas_mes_zb_p.util.CommonUtil;
+import com.uas.uas_mes_zb_p.util.Constants;
+import com.uas.uas_mes_zb_p.util.FastjsonUtil;
+import com.uas.uas_mes_zb_p.util.HttpCallback;
+import com.uas.uas_mes_zb_p.util.HttpParams;
+import com.uas.uas_mes_zb_p.util.StringUtil;
+import com.uas.uas_mes_zb_p.util.VolleyRequest;
+import com.uas.uas_mes_zb_p.view.ClearableEditText;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+import org.greenrobot.eventbus.EventBus;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by jsxiaoshui on 2022-10-09
+ */
+public class OutboundListAdd_Fragment extends BaseFragment implements OnColumnItemClickListener<String>, View.OnClickListener {
+
+    private ClearableEditText storage_recharge_collect_ets;
+    private ImageView storage_recharge_scan_ivs;
+    private ClearableEditText tv_supplier_code;
+    private ClearableEditText tv_supplier_name;
+    private ClearableEditText tv_delivery_code;
+    private SmartTable mSmartTable;
+    private Button jlt_storage_in_barcode_save_btn;
+    private TextView tv_documents_code;
+    private static final int SCAN_BARCODE_CODE = 111;
+    private int mFocusId;
+    private Column<String> va_detnoColumn,va_pucodeCoulmn,va_pudetnoColumn,va_prodcodeColumn,va_qtyColumn,va_detailColumn;
+    private TableData<StoragerechargeAddCommitBean> mTableData;
+    private List<StoragerechargeAddCommitBean> mFilterStorageInBeans;
+    private String va_ids;
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_outboundlistadd;
+    }
+
+    @Override
+    protected void initViews() {
+        FunctionActivity.setTitle(getString(R.string.title_storage_rechargeadd));
+        storage_recharge_collect_ets = mActivity.findViewById(R.id.storage_recharge_collect_ets);
+        storage_recharge_scan_ivs = mActivity.findViewById(R.id.storage_recharge_scan_ivs);
+
+        tv_documents_code = mActivity.findViewById(R.id.tv_documents_code);
+        tv_supplier_code = mActivity.findViewById(R.id.tv_supplier_code);
+        tv_supplier_name = mActivity.findViewById(R.id.tv_supplier_name);
+        tv_delivery_code = mActivity.findViewById(R.id.tv_delivery_code);
+        mSmartTable = mActivity.findViewById(R.id.jlt_storage_in_filter_list_sts);
+        jlt_storage_in_barcode_save_btn = mActivity.findViewById(R.id.jlt_storage_in_barcode_save_btn);
+    }
+
+    @Override
+    protected void initEvents() {
+
+        SharedPreUtil.removeString(mActivity,Constants.STORAGEERECHADD);
+
+        storage_recharge_scan_ivs.setOnClickListener(this);
+        jlt_storage_in_barcode_save_btn.setOnClickListener(this);
+        storage_recharge_collect_ets.requestFocus();
+        storage_recharge_collect_ets.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 data = storage_recharge_collect_ets.getText().toString().trim();
+                    getDatalistCodes(data);
+                    return true;
+                }
+                return false;
+            }
+        });
+        mFilterStorageInBeans = new ArrayList<>();
+        va_detnoColumn = new Column<String>("序号", "VAD_DETNO");
+        va_detnoColumn.setFixed(true);
+        va_pucodeCoulmn = new Column<String>("采购单号", "VAD_PUCODE");
+        va_pudetnoColumn = new Column<String>("采购序号", "VAD_PUDETNO");
+        va_prodcodeColumn = new Column<String>("料号", "VAD_PRODCODE");
+        va_qtyColumn = new Column<String>("数量", "VAD_QTY");
+        va_detailColumn = new Column<String>("名称", "PR_DETAIL");
+
+        va_detnoColumn.setOnColumnItemClickListener(this);
+        va_pucodeCoulmn.setOnColumnItemClickListener(this);
+        va_pudetnoColumn.setOnColumnItemClickListener(this);
+        va_prodcodeColumn.setOnColumnItemClickListener(this);
+        va_qtyColumn.setOnColumnItemClickListener(this);
+        va_detailColumn.setOnColumnItemClickListener(this);
+        jlt_storage_in_barcode_save_btn.setEnabled(false);
+
+
+    }
+
+    @Override
+    protected void initDatas() {
+        WindowManager wm = mActivity.getWindowManager();
+        int screenWith = wm.getDefaultDisplay().getWidth();
+        mSmartTable.getConfig().setMinTableWidth(screenWith)
+                .setShowXSequence(false)
+                .setShowYSequence(false)
+                .setShowTableTitle(false)
+                .setFixedTitle(true)
+                .setVerticalPadding(CommonUtil.dip2px(mActivity, 12))
+                .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 12))
+                .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 15), Color.parseColor("#000000")))
+                .setContentCellBackgroundFormat(new BaseCellBackgroundFormat<CellInfo>() {
+                    @Override
+                    public int getBackGroundColor(CellInfo cellInfo) {
+                        if (cellInfo.row % 2 == 0) {
+                            return ContextCompat.getColor(mActivity, R.color.blue_50);
+                        }
+                        return TableConfig.INVALID_COLOR;
+                    }
+                });
+
+
+        Bundle bundle = getArguments();
+        if (bundle != null) {
+            va_ids = bundle.getString("va_id");
+            String va_vendcode = bundle.getString("va_vendcode");
+            String va_vendname = bundle.getString("va_vendname");
+            String va_sendcode = bundle.getString("va_sendcode");
+            String va_codes = bundle.getString("va_code");
+            String va_status = bundle.getString("va_status");
+
+            tv_supplier_code.setText(va_vendcode);
+            tv_supplier_name.setText(va_vendname);
+            tv_delivery_code.setText(va_sendcode);
+            tv_documents_code.setText(va_codes);
+            if (va_status.equals("在录入")){
+                jlt_storage_in_barcode_save_btn.setEnabled(true);
+                try {
+                    getDataCommitList(va_ids);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+
+    }
+
+    /**
+     * 请求条码
+     * @param data
+     */
+    private void getDatalistCodes(String data) {
+        if (data.isEmpty()) {
+            CommonUtil.toastNoRepeat(mActivity, "条码号不可为空");
+            return;
+        }
+        String string_va_id = SharedPreUtil.getString(mActivity, Constants.STORAGEERECHADD, null);
+        if (!StringUtil.isEmpty(va_ids)){
+            string_va_id=va_ids;
+        }
+
+        String tv_delivery_codetext = this.tv_delivery_code.getText().toString().trim();
+        String finalString_va_id = string_va_id;
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_CODETWO_ADD)
+                .method(Request.Method.GET)
+                .tag(TAG + "getindatalist")
+                .flag(0)
+                .addParam("data", data)
+                .addParam("va_id", string_va_id)
+                .addParam("va_sendcode", tv_delivery_codetext)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                storage_recharge_collect_ets.setText("");
+                String result = o.toString();
+                JSONObject resultObject = JSON.parseObject(result);
+                JSONObject dataObject = resultObject.getJSONObject("data");
+                if (dataObject != null) {
+                    String va_id = FastjsonUtil.getText(dataObject, "va_id");
+                    if (StringUtil.isEmpty(finalString_va_id)) {
+                        SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, va_id);
+                    }
+//                    String va_code = FastjsonUtil.getText(dataObject, "va_code");
+//                    String va_vendcode = FastjsonUtil.getText(dataObject, "va_vendcode");
+//                    String va_vendname = FastjsonUtil.getText(dataObject, "va_vendname");
+//                    String va_sendcode = FastjsonUtil.getText(dataObject, "va_sendcode");
+//                    String va_statuscode = FastjsonUtil.getText(dataObject, "va_statuscode");
+
+
+                    getDataCommitList(va_id);
+                }
+
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+
+            }
+        });
+    }
+
+    private void commitDataCodes(){
+        if (tv_delivery_code.getText().toString().trim().isEmpty()){
+            CommonUtil.toastNoRepeat(mActivity,"请填写送货单号");
+            return;
+        }
+        String string_va_id = SharedPreUtil.getString(mActivity, Constants.STORAGEERECHADD, null);
+        if (!StringUtil.isEmpty(va_ids)){
+            string_va_id=va_ids;
+        }
+        String finalString_va_id = string_va_id;
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_CODETWO_COMMIT)
+                .method(Request.Method.GET)
+                .tag(TAG + "getindatalist")
+                .flag(0)
+                .addParam("id",string_va_id)
+                .addParam("caller","VerifyApply")
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                getDataCommitList(finalString_va_id);
+                EventBus.getDefault().post(new MessageEvents("提交单据后刷新列表"));
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+
+            }
+        });
+    }
+
+    //列表数据
+    private void getDataCommitList(String va_id){
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_CODETWO_COMMIT_LIST)
+                .method(Request.Method.GET)
+                .tag(TAG + "datalist")
+                .flag(0)
+                .addParam("va_id",va_id)
+                .build(), new HttpCallback() {
+
+            private String va_sendcode;
+            private String va_vendname;
+            private String va_vendcode;
+            private String va_code;
+            private String va_statuscode;
+
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    mFilterStorageInBeans.clear();
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray dataArray = resultObject.getJSONArray("data");
+                    List<StoragerechargeAddCommitBean> list = new ArrayList<>();
+                    list.clear();
+                    if (dataArray != null && dataArray.size() > 0) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                StoragerechargeAddCommitBean jltStorageInBean = new StoragerechargeAddCommitBean();
+                                jltStorageInBean.setVAD_DETNO(FastjsonUtil.getText(dataObject, "VAD_DETNO"));
+                                jltStorageInBean.setVAD_PUCODE(FastjsonUtil.getText(dataObject, "VAD_PUCODE"));
+                                jltStorageInBean.setVAD_PUDETNO(FastjsonUtil.getText(dataObject, "VAD_PUDETNO"));
+                                jltStorageInBean.setVAD_PRODCODE(FastjsonUtil.getText(dataObject, "VAD_PRODCODE"));
+                                jltStorageInBean.setVAD_QTY(FastjsonUtil.getText(dataObject, "VAD_QTY"));
+                                jltStorageInBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
+                                jltStorageInBean.setVA_STATUSCODE(FastjsonUtil.getText(dataObject, "VA_STATUSCODE"));
+
+                                jltStorageInBean.setVA_CODE(FastjsonUtil.getText(dataObject, "VA_CODE"));
+                                jltStorageInBean.setVA_VENDCODE(FastjsonUtil.getText(dataObject, "VA_VENDCODE"));
+                                jltStorageInBean.setVA_VENDNAME(FastjsonUtil.getText(dataObject, "VA_VENDNAME"));
+
+                                jltStorageInBean.setVA_SENDCODE(FastjsonUtil.getText(dataObject, "VA_SENDCODE"));
+
+                                list.add(jltStorageInBean);
+                                va_statuscode = jltStorageInBean.getVA_STATUSCODE();
+                                va_code = jltStorageInBean.getVA_CODE();
+                                va_vendcode = jltStorageInBean.getVA_VENDCODE();
+                                va_vendname = jltStorageInBean.getVA_VENDNAME();
+                                va_sendcode = jltStorageInBean.getVA_SENDCODE();
+
+
+                            }
+                        }
+                        tv_documents_code.setText(va_code);
+                        tv_supplier_code.setText(va_vendcode);
+                        tv_supplier_name.setText(va_vendname);
+                        tv_delivery_code.setText(va_sendcode);
+                        if (va_statuscode.equals("ENTERING")) {
+                            jlt_storage_in_barcode_save_btn.setEnabled(true);
+                        }else {
+                            jlt_storage_in_barcode_save_btn.setEnabled(false);
+                        }
+                    }
+//                    mFilterStorageInBeans = list;
+
+                    mFilterStorageInBeans = list;//PI_INOUTNO
+                    setFilterTableData(mFilterStorageInBeans);
+
+
+                    progressDialog.dismiss();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    progressDialog.dismiss();
+                }
+            }
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                setFilterTableData(new ArrayList<>());
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+                setFilterTableData(mFilterStorageInBeans);
+            }
+        });
+    }
+
+
+
+
+    private void setFilterTableData(List<StoragerechargeAddCommitBean> filterTableData) {
+        mTableData = new TableData<StoragerechargeAddCommitBean>("列表", filterTableData,
+                va_detnoColumn,va_pucodeCoulmn,va_pudetnoColumn,va_prodcodeColumn,va_qtyColumn,va_detailColumn);
+        mSmartTable.setTableData(mTableData);
+//        mSmartTable.requestLayout();
+        mSmartTable.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mSmartTable.postInvalidate();
+            }
+        }, 100);
+
+    }
+
+
+
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.storage_recharge_scan_ivs:
+                if (CameraUtil.hasCamera()) {
+                    if (root.findFocus() != null) {
+                        mFocusId = root.findFocus().getId();
+                        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.jlt_storage_in_barcode_save_btn:
+                commitDataCodes();
+                break;
+            }
+        }
+
+        @Override
+        public void onClick (Column < String > column, String value, String s,int position){
+
+        }
+    @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);
+                if (mFocusId == R.id.storage_recharge_collect_et) {
+                    storage_recharge_collect_ets.setText(result);
+                    storage_recharge_collect_ets.setSelection(result.length());
+
+                    getDatalistCodes(result);
+                }
+            }
+        }
+    }
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        CommonUtil.closeKeybord(storage_recharge_collect_ets, mActivity);
+        ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(getString(R.string.title_storage_rechargeadd));
+        SharedPreUtil.removeString(mActivity,Constants.STORAGEERECHADD);
+    }
+    @Override
+    public void onHiddenChanged(boolean hidden) {
+        super.onHiddenChanged(hidden);
+        if (hidden) {
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        } else {
+            FunctionActivity.setTitle(getString(R.string.title_storage_rechargeadd));
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        SharedPreUtil.removeString(mActivity,Constants.STORAGEERECHADD);
+    }
+}

+ 436 - 0
app/src/main/java/com/uas/uas_mes_zb_p/fragment/OutboundListFragment.java

@@ -0,0 +1,436 @@
+package com.uas.uas_mes_zb_p.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.os.Handler;
+import android.support.v4.app.Fragment;
+import android.support.v4.content.ContextCompat;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.WindowManager;
+import android.view.inputmethod.EditorInfo;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+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.bin.david.form.core.SmartTable;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.CellInfo;
+import com.bin.david.form.data.column.Column;
+import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat;
+import com.bin.david.form.data.style.FontStyle;
+import com.bin.david.form.data.table.TableData;
+import com.bin.david.form.listener.OnColumnItemClickListener;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.uas.uas_mes_zb_p.R;
+import com.uas.uas_mes_zb_p.activity.FunctionActivity;
+import com.uas.uas_mes_zb_p.bean.MessageEvents;
+import com.uas.uas_mes_zb_p.bean.StoragerechargeTwoBean;
+import com.uas.uas_mes_zb_p.global.GloableParams;
+import com.uas.uas_mes_zb_p.util.CameraUtil;
+import com.uas.uas_mes_zb_p.util.CommonUtil;
+import com.uas.uas_mes_zb_p.util.FastjsonUtil;
+import com.uas.uas_mes_zb_p.util.FragmentUtils;
+import com.uas.uas_mes_zb_p.util.HttpCallback;
+import com.uas.uas_mes_zb_p.util.HttpParams;
+import com.uas.uas_mes_zb_p.util.VolleyRequest;
+import com.uas.uas_mes_zb_p.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.ArrayList;
+import java.util.List;
+
+/**
+ * Created by cjh on 2022-10-09
+ */
+public class OutboundListFragment extends BaseFragment implements OnColumnItemClickListener<String>, View.OnClickListener {
+
+    private ClearableEditText storage_recharge_collect_et;
+    private Fragment mFragment;
+    private RefreshLayout mRefreshLayout;
+    private SmartTable mSmartTable;
+    private Column<String> va_classColumn,va_codeColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn;
+    private TableData<StoragerechargeTwoBean> mTableData;
+    private int mPageIndex = 1, mPageSize = 20;
+    private List<StoragerechargeTwoBean> mFilterStorageInBeans;
+    private ImageView mScanImageView;
+    private Button mMenuButton;
+    private static final int SCAN_BARCODE_CODE = 111;
+    private int mFocusId;
+    private Button btnActionbarRight;
+    private PopupWindow listPopupWindow;
+    @Override
+    protected int getLayout() {
+        return R.layout.outboundlist_fragment;
+    }
+
+    @Override
+    protected void initViews() {
+        FunctionActivity.setTitle(getString(R.string.title_storage_rechargetwo));
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+        storage_recharge_collect_et = mActivity.findViewById(R.id.storage_recharge_collect_et);
+        mRefreshLayout = mActivity.findViewById(R.id.pda_wms_in_filter_list_srl);
+        mSmartTable = mActivity.findViewById(R.id.jlt_storage_in_filter_list_st);
+        mScanImageView = (ImageView) mActivity.findViewById(R.id.storage_recharge_scan_iv);
+
+        mMenuButton = (Button) mActivity.findViewById(R.id.btn_actionbar_more);
+        btnActionbarRight = (Button) getActivity().findViewById(R.id.btn_actionbar_more);
+
+    }
+
+    @Override
+    protected void initEvents() {
+        storage_recharge_collect_et.requestFocus();
+        storage_recharge_collect_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 va_code = storage_recharge_collect_et.getText().toString().trim();
+                    getDatalistCodes(va_code);
+                    return true;
+                }
+                return false;
+            }
+        });
+        mFilterStorageInBeans = new ArrayList<>();
+        getDatalistCodes(storage_recharge_collect_et.getText().toString().trim());
+    }
+
+    @Override
+    protected void initDatas() {
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this);
+        }
+        WindowManager wm = mActivity.getWindowManager();
+        int screenWith = wm.getDefaultDisplay().getWidth();
+        mSmartTable.getConfig().setMinTableWidth(screenWith)
+                .setShowXSequence(false)
+                .setShowYSequence(false)
+                .setShowTableTitle(false)
+                .setFixedTitle(true)
+                .setVerticalPadding(CommonUtil.dip2px(mActivity, 12))
+                .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 12))
+                .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 15), Color.parseColor("#000000")))
+                .setContentCellBackgroundFormat(new BaseCellBackgroundFormat<CellInfo>() {
+                    @Override
+                    public int getBackGroundColor(CellInfo cellInfo) {
+                        if (cellInfo.row % 2 == 0) {
+                            return ContextCompat.getColor(mActivity, R.color.blue_50);
+                        }
+                        return TableConfig.INVALID_COLOR;
+                    }
+                });
+
+
+
+        va_classColumn = new Column<String>("单据类型", "VA_CLASS");
+        va_classColumn.setFixed(true);
+        va_codeColumn = new Column<String>("单据编号", "VA_CODE");
+        va_statusColumn = new Column<String>("状态", "VA_STATUS");
+        va_vendnameColumn = new Column<String>("供应商名称", "VA_VENDNAME");
+        va_vendcodeColumn = new Column<String>("供应商编号", "VA_VENDCODE");
+        va_sendcodeColumn = new Column<String>("送货单号", "VA_SENDCODE");
+
+        va_classColumn.setOnColumnItemClickListener(this);
+        va_codeColumn.setOnColumnItemClickListener(this);
+        va_statusColumn.setOnColumnItemClickListener(this);
+        va_vendnameColumn.setOnColumnItemClickListener(this);
+        va_vendcodeColumn.setOnColumnItemClickListener(this);
+        va_sendcodeColumn.setOnColumnItemClickListener(this);
+        mScanImageView.setOnClickListener(this);
+        mMenuButton.setOnClickListener(this);
+        btnActionbarRight.setOnClickListener(this);
+
+        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(RefreshLayout refreshLayout) {
+                mPageIndex = 1;
+                getDatalistCodes(storage_recharge_collect_et.getText().toString().trim());
+            }
+        });
+
+        mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+            @Override
+            public void onLoadMore(RefreshLayout refreshLayout) {
+                mPageIndex++;
+                getDatalistCodes(storage_recharge_collect_et.getText().toString().trim());
+            }
+        });
+
+
+    }
+
+    private void getDatalistCodes(String va_code){
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_CODETWO)
+                .method(Request.Method.GET)
+                .tag(TAG + "getindatalist")
+                .flag(0)
+                .addParam("va_code",va_code)
+                .addParam("page",mPageIndex+"")
+                .addParam("pageSize",mPageSize+"")
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    if (mPageIndex == 1) {
+                        mFilterStorageInBeans.clear();
+                    }
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray dataArray = resultObject.getJSONArray("data");
+                    List<StoragerechargeTwoBean> list=new ArrayList<>();
+                    if (dataArray != null && dataArray.size() > 0) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                StoragerechargeTwoBean jltStorageInBean = new StoragerechargeTwoBean();
+                                jltStorageInBean.setVA_CODE(FastjsonUtil.getText(dataObject, "VA_CODE"));
+                                jltStorageInBean.setVA_ID(FastjsonUtil.getText(dataObject, "VA_ID"));
+                                jltStorageInBean.setVA_CLASS(FastjsonUtil.getText(dataObject, "VA_CLASS"));
+                                jltStorageInBean.setVA_STATUS(FastjsonUtil.getText(dataObject, "VA_STATUS"));
+                                jltStorageInBean.setVA_VENDNAME(FastjsonUtil.getText(dataObject, "VA_VENDNAME"));
+                                jltStorageInBean.setVA_VENDCODE(FastjsonUtil.getText(dataObject, "VA_VENDCODE"));
+                                jltStorageInBean.setVA_SENDCODE(FastjsonUtil.getText(dataObject, "VA_SENDCODE"));
+                                jltStorageInBean.setRN(FastjsonUtil.getText(dataObject, "RN"));
+                                list.add(jltStorageInBean);
+                            }
+                        }
+                    }
+                    if (mPageIndex == 1) {
+                        mFilterStorageInBeans = list;//PI_INOUTNO
+                        setFilterTableData(mFilterStorageInBeans);
+                    }else if (list.size() > 0) {
+                        mFilterStorageInBeans.addAll(list);
+                        mSmartTable.addData(list, true);
+                        new Handler().postDelayed(new Runnable() {
+                            @Override
+                            public void run() {
+                                mSmartTable.postInvalidate();
+                            }
+                        }, 100);
+//                        filterAllSelect();
+                    } else {
+                        mPageIndex--;
+                    }
+                    progressDialog.dismiss();
+                    mRefreshLayout.finishRefresh(0);
+                    mRefreshLayout.finishLoadMore(0);
+
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    progressDialog.dismiss();
+                    mRefreshLayout.finishRefresh(0);
+                    mRefreshLayout.finishLoadMore(0);
+                }
+
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                mRefreshLayout.finishRefresh(0);
+                mRefreshLayout.finishLoadMore(0);
+                if (mPageIndex > 1) {
+                    mPageIndex--;
+                } else {
+                    setFilterTableData(new ArrayList<>());
+                }
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+
+                setFilterTableData(mFilterStorageInBeans);
+            }
+        });
+    }
+
+
+    private void setFilterTableData(List<StoragerechargeTwoBean> filterTableData) {
+        mTableData = new TableData<StoragerechargeTwoBean>("收料单列表", filterTableData,
+                va_classColumn,va_codeColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn);
+        mSmartTable.setTableData(mTableData);
+//        mSmartTable.requestLayout();
+        mSmartTable.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mSmartTable.postInvalidate();
+            }
+        }, 100);
+
+    }
+
+
+    private void closeListPopupWindow() {
+        if (listPopupWindow != null) {
+            listPopupWindow.dismiss();
+            listPopupWindow = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+
+    }
+    private void clickToFragment(BaseFragment baseFragment) {
+        mFragment = baseFragment;
+        FragmentUtils.switchFragment(this, mFragment);
+    }
+
+    @Subscribe
+    public void onMessageEvent(MessageEvents event) {
+        getDatalistCodes(storage_recharge_collect_et.getText().toString().trim());
+    }
+
+
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+    @Override
+    public void onHiddenChanged(boolean hidden) {
+        super.onHiddenChanged(hidden);
+        if (hidden) {
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        } else {
+            FunctionActivity.setTitle(getString(R.string.outboundlist));
+            ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
+        }
+    }
+
+    @Override
+    public void onClick(Column<String> column, String value, String s, int position) {
+        String va_id = mFilterStorageInBeans.get(position).getVA_ID();
+        String va_vendcode = mFilterStorageInBeans.get(position).getVA_VENDCODE();
+        String va_vendname = mFilterStorageInBeans.get(position).getVA_VENDNAME();
+        String va_sendcode = mFilterStorageInBeans.get(position).getVA_SENDCODE();
+        String vacodes = mFilterStorageInBeans.get(position).getVA_CODE();
+        String va_status = mFilterStorageInBeans.get(position).getVA_STATUS();
+        StoragerechargeAdd_Fragment jltStorageInBarcodeFragment = new StoragerechargeAdd_Fragment();
+        Bundle bundle = new Bundle();
+        bundle.putString("va_id", va_id);
+        bundle.putString("va_vendcode", va_vendcode);
+        bundle.putString("va_vendname", va_vendname);
+        bundle.putString("va_sendcode", va_sendcode);
+        bundle.putString("va_code", vacodes);
+        bundle.putString("va_status", va_status);
+
+        jltStorageInBarcodeFragment.setArguments(bundle);
+        FragmentUtils.switchFragment(OutboundListFragment.this, jltStorageInBarcodeFragment);
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+        CommonUtil.closeKeybord(storage_recharge_collect_et, mActivity);
+        ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(getString(R.string.outboundlist));
+    }
+
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.storage_recharge_scan_iv:
+                if (CameraUtil.hasCamera()) {
+                    if (root.findFocus() != null) {
+                        mFocusId = root.findFocus().getId();
+                        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:
+                View materialOutMoreView = View.inflate(getActivity(), R.layout.pop_outboundlist_out_menu, null);
+                Button stockTaskBtn = (Button) materialOutMoreView.findViewById(R.id.pop_material_out_menu_1);
+                Button stockAlreadyBtn = (Button) materialOutMoreView.findViewById(R.id.pop_material_out_menu_2);
+
+                stockTaskBtn.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        closeListPopupWindow();
+                        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+                        ((FunctionActivity) getActivity()).setScanIvVisible(false);
+                        clickToFragment(new IOCOutMakeMaterial());
+                    }
+                });
+
+                stockAlreadyBtn.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        closeListPopupWindow();
+                        ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
+                        ((FunctionActivity) getActivity()).setScanIvVisible(false);
+                        clickToFragment(new OutboundListAdd_Fragment());
+                    }
+                });
+
+
+
+                listPopupWindow = new PopupWindow(materialOutMoreView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+                listPopupWindow.setBackgroundDrawable(new BitmapDrawable());
+                listPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+                    @Override
+                    public void onDismiss() {
+                        closeListPopupWindow();
+                    }
+                });
+                CommonUtil.setBackgroundAlpha(getActivity(), 0.5f);
+                listPopupWindow.showAsDropDown(btnActionbarRight);
+                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);
+                if (mFocusId == R.id.storage_recharge_collect_et) {
+                    storage_recharge_collect_et.setText(result);
+                    storage_recharge_collect_et.setSelection(result.length());
+
+                    getDatalistCodes(result);
+                }
+            }
+        }
+    }
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        // 注销
+        EventBus.getDefault().unregister(this);
+    }
+
+}

+ 87 - 60
app/src/main/java/com/uas/uas_mes_zb_p/fragment/StoragerechargeAdd_Fragment.java

@@ -4,7 +4,6 @@ import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Color;
 import android.os.Bundle;
-import android.os.Handler;
 import android.support.v4.content.ContextCompat;
 import android.view.KeyEvent;
 import android.view.View;
@@ -26,9 +25,9 @@ import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat;
 import com.bin.david.form.data.style.FontStyle;
 import com.bin.david.form.data.table.TableData;
 import com.bin.david.form.listener.OnColumnItemClickListener;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.uas.uas_mes_zb_p.R;
 import com.uas.uas_mes_zb_p.activity.FunctionActivity;
+import com.uas.uas_mes_zb_p.bean.MessageEvents;
 import com.uas.uas_mes_zb_p.bean.StoragerechargeAddCommitBean;
 import com.uas.uas_mes_zb_p.global.GloableParams;
 import com.uas.uas_mes_zb_p.tools.SharedPreUtil;
@@ -44,6 +43,8 @@ import com.uas.uas_mes_zb_p.view.ClearableEditText;
 import com.uuzuche.lib_zxing.activity.CaptureActivity;
 import com.uuzuche.lib_zxing.activity.CodeUtils;
 
+import org.greenrobot.eventbus.EventBus;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -66,7 +67,6 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
     private TableData<StoragerechargeAddCommitBean> mTableData;
     private List<StoragerechargeAddCommitBean> mFilterStorageInBeans;
     private String va_ids;
-    private RefreshLayout mRefreshLayout;
     @Override
     protected int getLayout() {
         return R.layout.fragment_storagerechargeadd;
@@ -84,11 +84,11 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
         tv_delivery_code = mActivity.findViewById(R.id.tv_delivery_code);
         mSmartTable = mActivity.findViewById(R.id.jlt_storage_in_filter_list_sts);
         jlt_storage_in_barcode_save_btn = mActivity.findViewById(R.id.jlt_storage_in_barcode_save_btn);
-        mRefreshLayout = mActivity.findViewById(R.id.pda_wms_in_filter_list_srl);
     }
 
     @Override
     protected void initEvents() {
+
         SharedPreUtil.removeString(mActivity,Constants.STORAGEERECHADD);
 
         storage_recharge_scan_ivs.setOnClickListener(this);
@@ -108,13 +108,13 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
             }
         });
         mFilterStorageInBeans = new ArrayList<>();
-        va_detnoColumn = new Column<String>("VAD_DETNO", "序号");
+        va_detnoColumn = new Column<String>("序号", "VAD_DETNO");
         va_detnoColumn.setFixed(true);
-        va_pucodeCoulmn = new Column<String>("VAD_PUCODE", "采购单号");
-        va_pudetnoColumn = new Column<String>("VAD_PUDETNO", "采购序号");
-        va_prodcodeColumn = new Column<String>("VAD_PRODCODE", "料号");
-        va_qtyColumn = new Column<String>("VAD_QTY", "数量");
-        va_detailColumn = new Column<String>("PR_DETAIL", "名称");
+        va_pucodeCoulmn = new Column<String>("采购单号", "VAD_PUCODE");
+        va_pudetnoColumn = new Column<String>("采购序号", "VAD_PUDETNO");
+        va_prodcodeColumn = new Column<String>("料号", "VAD_PRODCODE");
+        va_qtyColumn = new Column<String>("数量", "VAD_QTY");
+        va_detailColumn = new Column<String>("名称", "PR_DETAIL");
 
         va_detnoColumn.setOnColumnItemClickListener(this);
         va_pucodeCoulmn.setOnColumnItemClickListener(this);
@@ -122,6 +122,8 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
         va_prodcodeColumn.setOnColumnItemClickListener(this);
         va_qtyColumn.setOnColumnItemClickListener(this);
         va_detailColumn.setOnColumnItemClickListener(this);
+        jlt_storage_in_barcode_save_btn.setEnabled(false);
+
 
     }
 
@@ -157,19 +159,30 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
             String va_vendcode = bundle.getString("va_vendcode");
             String va_vendname = bundle.getString("va_vendname");
             String va_sendcode = bundle.getString("va_sendcode");
+            String va_codes = bundle.getString("va_code");
+            String va_status = bundle.getString("va_status");
+
             tv_supplier_code.setText(va_vendcode);
             tv_supplier_name.setText(va_vendname);
             tv_delivery_code.setText(va_sendcode);
-            if (va_ids.isEmpty()){
-                jlt_storage_in_barcode_save_btn.setEnabled(false);
-            }else {
+            tv_documents_code.setText(va_codes);
+            if (va_status.equals("在录入")){
                 jlt_storage_in_barcode_save_btn.setEnabled(true);
+                try {
+                    getDataCommitList(va_ids);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         }
 
 
     }
 
+    /**
+     * 请求条码
+     * @param data
+     */
     private void getDatalistCodes(String data) {
         if (data.isEmpty()) {
             CommonUtil.toastNoRepeat(mActivity, "条码号不可为空");
@@ -194,6 +207,7 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
             @Override
             public void onSuccess(int flag, Object o) throws Exception {
                 progressDialog.dismiss();
+                storage_recharge_collect_ets.setText("");
                 String result = o.toString();
                 JSONObject resultObject = JSON.parseObject(result);
                 JSONObject dataObject = resultObject.getJSONObject("data");
@@ -202,23 +216,13 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
                     if (StringUtil.isEmpty(finalString_va_id)) {
                         SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, va_id);
                     }
-                    String va_code = FastjsonUtil.getText(dataObject, "va_code");
-                    String va_vendcode = FastjsonUtil.getText(dataObject, "va_vendcode");
-                    String va_vendname = FastjsonUtil.getText(dataObject, "va_vendname");
-                    String va_sendcode = FastjsonUtil.getText(dataObject, "va_sendcode");
-                    String va_statuscode = FastjsonUtil.getText(dataObject, "va_statuscode");
-                    tv_documents_code.setText(va_code);
-                    tv_supplier_code.setText(va_vendcode);
-                    tv_supplier_code.setSelection(tv_supplier_code.getText().toString().trim().length());
-                    tv_supplier_name.setText(va_vendname);
-                    tv_supplier_name.setSelection(tv_supplier_name.getText().toString().trim().length());
-                    tv_delivery_code.setText(va_sendcode);
-                    tv_delivery_code.setSelection(tv_delivery_code.getText().toString().trim().length());
-                    if (!va_statuscode.isEmpty() && va_statuscode.equals("ENTERING")) {
-                        jlt_storage_in_barcode_save_btn.setEnabled(true);
-                    }else {
-                        jlt_storage_in_barcode_save_btn.setEnabled(false);
-                    }
+//                    String va_code = FastjsonUtil.getText(dataObject, "va_code");
+//                    String va_vendcode = FastjsonUtil.getText(dataObject, "va_vendcode");
+//                    String va_vendname = FastjsonUtil.getText(dataObject, "va_vendname");
+//                    String va_sendcode = FastjsonUtil.getText(dataObject, "va_sendcode");
+//                    String va_statuscode = FastjsonUtil.getText(dataObject, "va_statuscode");
+
+
                     getDataCommitList(va_id);
                 }
 
@@ -239,6 +243,10 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
             return;
         }
         String string_va_id = SharedPreUtil.getString(mActivity, Constants.STORAGEERECHADD, null);
+        if (!StringUtil.isEmpty(va_ids)){
+            string_va_id=va_ids;
+        }
+        String finalString_va_id = string_va_id;
         VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
                 .url(GloableParams.ADDRESS_DOCUMENTLIBRARY_CODETWO_COMMIT)
                 .method(Request.Method.GET)
@@ -250,11 +258,8 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
             @Override
             public void onSuccess(int flag, Object o) throws Exception {
                 progressDialog.dismiss();
-                String string_va_id = SharedPreUtil.getString(mActivity, Constants.STORAGEERECHADD, null);
-                if (!StringUtil.isEmpty(va_ids)){
-                    string_va_id=va_ids;
-                }
-                getDataCommitList(string_va_id);
+                getDataCommitList(finalString_va_id);
+                EventBus.getDefault().post(new MessageEvents("提交单据后刷新列表"));
             }
 
             @Override
@@ -275,6 +280,13 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
                 .flag(0)
                 .addParam("va_id",va_id)
                 .build(), new HttpCallback() {
+
+            private String va_sendcode;
+            private String va_vendname;
+            private String va_vendcode;
+            private String va_code;
+            private String va_statuscode;
+
             @Override
             public void onSuccess(int flag, Object o) throws Exception {
                 progressDialog.dismiss();
@@ -284,40 +296,52 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
                     JSONObject resultObject = JSON.parseObject(result);
                     JSONArray dataArray = resultObject.getJSONArray("data");
                     List<StoragerechargeAddCommitBean> list = new ArrayList<>();
+                    list.clear();
                     if (dataArray != null && dataArray.size() > 0) {
                         for (int i = 0; i < dataArray.size(); i++) {
                             JSONObject dataObject = dataArray.getJSONObject(i);
                             if (dataObject != null) {
                                 StoragerechargeAddCommitBean jltStorageInBean = new StoragerechargeAddCommitBean();
-//                                jltStorageInBean.setVAD_DETNO(FastjsonUtil.getText(dataObject, "VAD_DETNO"));
-//                                jltStorageInBean.setVAD_PUCODE(FastjsonUtil.getText(dataObject, "VAD_PUCODE"));
-//                                jltStorageInBean.setVAD_PUDETNO(FastjsonUtil.getText(dataObject, "VAD_PUDETNO"));
-//                                jltStorageInBean.setVAD_PRODCODE(FastjsonUtil.getText(dataObject, "VAD_PRODCODE"));
-//                                jltStorageInBean.setVAD_QTY(FastjsonUtil.getText(dataObject, "VAD_QTY"));
-//                                jltStorageInBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
-//                                list.add(jltStorageInBean);
+                                jltStorageInBean.setVAD_DETNO(FastjsonUtil.getText(dataObject, "VAD_DETNO"));
+                                jltStorageInBean.setVAD_PUCODE(FastjsonUtil.getText(dataObject, "VAD_PUCODE"));
+                                jltStorageInBean.setVAD_PUDETNO(FastjsonUtil.getText(dataObject, "VAD_PUDETNO"));
+                                jltStorageInBean.setVAD_PRODCODE(FastjsonUtil.getText(dataObject, "VAD_PRODCODE"));
+                                jltStorageInBean.setVAD_QTY(FastjsonUtil.getText(dataObject, "VAD_QTY"));
+                                jltStorageInBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
+                                jltStorageInBean.setVA_STATUSCODE(FastjsonUtil.getText(dataObject, "VA_STATUSCODE"));
+
+                                jltStorageInBean.setVA_CODE(FastjsonUtil.getText(dataObject, "VA_CODE"));
+                                jltStorageInBean.setVA_VENDCODE(FastjsonUtil.getText(dataObject, "VA_VENDCODE"));
+                                jltStorageInBean.setVA_VENDNAME(FastjsonUtil.getText(dataObject, "VA_VENDNAME"));
+
+                                jltStorageInBean.setVA_SENDCODE(FastjsonUtil.getText(dataObject, "VA_SENDCODE"));
+
+                                list.add(jltStorageInBean);
+                                va_statuscode = jltStorageInBean.getVA_STATUSCODE();
+                                va_code = jltStorageInBean.getVA_CODE();
+                                va_vendcode = jltStorageInBean.getVA_VENDCODE();
+                                va_vendname = jltStorageInBean.getVA_VENDNAME();
+                                va_sendcode = jltStorageInBean.getVA_SENDCODE();
+
+
                             }
                         }
-//                        JSONObject dataObjects = resultObject.getJSONObject("data");
-//                        String va_statuscode = FastjsonUtil.getText(dataObjects, "VA_STATUSCODE");
-//                        if (!va_statuscode.isEmpty() && va_statuscode.equals("ENTERING")) {
-//                            jlt_storage_in_barcode_save_btn.setEnabled(true);
-//                        }else {
-//                            jlt_storage_in_barcode_save_btn.setEnabled(false);
-//                        }
+                        tv_documents_code.setText(va_code);
+                        tv_supplier_code.setText(va_vendcode);
+                        tv_supplier_name.setText(va_vendname);
+                        tv_delivery_code.setText(va_sendcode);
+                        if (va_statuscode.equals("ENTERING")) {
+                            jlt_storage_in_barcode_save_btn.setEnabled(true);
+                        }else {
+                            jlt_storage_in_barcode_save_btn.setEnabled(false);
+                        }
                     }
-                    mFilterStorageInBeans = list;
+//                    mFilterStorageInBeans = list;
+
+                    mFilterStorageInBeans = list;//PI_INOUTNO
                     setFilterTableData(mFilterStorageInBeans);
-                    if (list.size() > 0) {
-                        mFilterStorageInBeans.addAll(list);
-                        mSmartTable.addData(list, true);
-                        new Handler().postDelayed(new Runnable() {
-                            @Override
-                            public void run() {
-                                mSmartTable.postInvalidate();
-                            }
-                        }, 100);
-                    }
+
+
                     progressDialog.dismiss();
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -334,6 +358,9 @@ public class StoragerechargeAdd_Fragment extends BaseFragment implements OnColum
         });
     }
 
+
+
+
     private void setFilterTableData(List<StoragerechargeAddCommitBean> filterTableData) {
         mTableData = new TableData<StoragerechargeAddCommitBean>("列表", filterTableData,
                 va_detnoColumn,va_pucodeCoulmn,va_pudetnoColumn,va_prodcodeColumn,va_qtyColumn,va_detailColumn);

+ 26 - 3
app/src/main/java/com/uas/uas_mes_zb_p/fragment/StoragerechargeTwo_fragment.java

@@ -35,6 +35,7 @@ import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
 import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
 import com.uas.uas_mes_zb_p.R;
 import com.uas.uas_mes_zb_p.activity.FunctionActivity;
+import com.uas.uas_mes_zb_p.bean.MessageEvents;
 import com.uas.uas_mes_zb_p.bean.StoragerechargeTwoBean;
 import com.uas.uas_mes_zb_p.global.GloableParams;
 import com.uas.uas_mes_zb_p.util.CameraUtil;
@@ -49,6 +50,9 @@ import com.uas.uas_mes_zb_p.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.ArrayList;
 import java.util.List;
 
@@ -62,7 +66,7 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
     private Fragment mFragment;
     private RefreshLayout mRefreshLayout;
     private SmartTable mSmartTable;
-    private Column<String> va_classColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn;
+    private Column<String> va_classColumn,va_codeColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn;
     private TableData<StoragerechargeTwoBean> mTableData;
     private int mPageIndex = 1, mPageSize = 20;
     private List<StoragerechargeTwoBean> mFilterStorageInBeans;
@@ -113,6 +117,9 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
 
     @Override
     protected void initDatas() {
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this);
+        }
         WindowManager wm = mActivity.getWindowManager();
         int screenWith = wm.getDefaultDisplay().getWidth();
         mSmartTable.getConfig().setMinTableWidth(screenWith)
@@ -140,12 +147,14 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
 
         va_classColumn = new Column<String>("单据类型", "VA_CLASS");
         va_classColumn.setFixed(true);
+        va_codeColumn = new Column<String>("单据编号", "VA_CODE");
         va_statusColumn = new Column<String>("状态", "VA_STATUS");
         va_vendnameColumn = new Column<String>("供应商名称", "VA_VENDNAME");
         va_vendcodeColumn = new Column<String>("供应商编号", "VA_VENDCODE");
         va_sendcodeColumn = new Column<String>("送货单号", "VA_SENDCODE");
 
         va_classColumn.setOnColumnItemClickListener(this);
+        va_codeColumn.setOnColumnItemClickListener(this);
         va_statusColumn.setOnColumnItemClickListener(this);
         va_vendnameColumn.setOnColumnItemClickListener(this);
         va_vendcodeColumn.setOnColumnItemClickListener(this);
@@ -259,7 +268,7 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
 
     private void setFilterTableData(List<StoragerechargeTwoBean> filterTableData) {
         mTableData = new TableData<StoragerechargeTwoBean>("收料单列表", filterTableData,
-                va_classColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn);
+                va_classColumn,va_codeColumn,va_statusColumn,va_vendnameColumn,va_vendcodeColumn,va_sendcodeColumn);
         mSmartTable.setTableData(mTableData);
 //        mSmartTable.requestLayout();
         mSmartTable.postDelayed(new Runnable() {
@@ -342,7 +351,10 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
             CommonUtil.setBackgroundAlpha(mActivity, 1f);
         }
     }
-
+    @Subscribe
+    public void onMessageEvent(MessageEvents event) {
+        getDatalistCodes(storage_recharge_collect_et.getText().toString().trim());
+    }
 
 
 
@@ -373,12 +385,17 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
         String va_vendcode = mFilterStorageInBeans.get(position).getVA_VENDCODE();
         String va_vendname = mFilterStorageInBeans.get(position).getVA_VENDNAME();
         String va_sendcode = mFilterStorageInBeans.get(position).getVA_SENDCODE();
+        String vacodes = mFilterStorageInBeans.get(position).getVA_CODE();
+        String va_status = mFilterStorageInBeans.get(position).getVA_STATUS();
         StoragerechargeAdd_Fragment jltStorageInBarcodeFragment = new StoragerechargeAdd_Fragment();
         Bundle bundle = new Bundle();
         bundle.putString("va_id", va_id);
         bundle.putString("va_vendcode", va_vendcode);
         bundle.putString("va_vendname", va_vendname);
         bundle.putString("va_sendcode", va_sendcode);
+        bundle.putString("va_code", vacodes);
+        bundle.putString("va_status", va_status);
+
         jltStorageInBarcodeFragment.setArguments(bundle);
         FragmentUtils.switchFragment(StoragerechargeTwo_fragment.this, jltStorageInBarcodeFragment);
     }
@@ -434,4 +451,10 @@ public class StoragerechargeTwo_fragment extends BaseFragment implements OnColum
             }
         }
     }
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        // 注销
+        EventBus.getDefault().unregister(this);
+    }
 }

+ 142 - 0
app/src/main/res/layout/fragment_outboundlistadd.xml

@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:padding="@dimen/textsize_16">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/bg_line_edittext">
+
+        <com.uas.uas_mes_zb_p.view.ClearableEditText
+            android:id="@+id/storage_recharge_collect_ets"
+            style="@style/EditTextStyle"
+            android:layout_weight="1"
+            android:background="@null"
+            android:focusable="true"
+            android:lines="1"
+            android:focusableInTouchMode="true"
+            android:hint="请采集条码号/箱号"
+            android:imeOptions="actionSend"
+            android:textColor="@color/black" />
+
+        <ImageView
+            android:id="@+id/storage_recharge_scan_ivs"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginRight="10dp"
+            android:clickable="false"
+            android:src="@drawable/ic_edittext_scan" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="4dp">
+
+        <TextView
+            style="@style/tl_tv_style"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="60dp"
+            android:text="单据编号      "
+            android:textColor="@color/body_text_1"
+            android:textSize="16sp" />
+        <TextView
+            android:id="@+id/tv_documents_code"
+            style="@style/tl_tv_style"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="60dp"
+            android:text=""
+            android:textColor="@color/body_text_1"
+            android:textSize="16sp" />
+
+    </LinearLayout>
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="4dp">
+
+        <TextView
+            style="@style/tl_tv_style"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="60dp"
+            android:text="供应商编号"
+            android:textColor="@color/body_text_1"
+            android:textSize="16sp" />
+
+        <com.uas.uas_mes_zb_p.view.ClearableEditText
+            android:id="@+id/tv_supplier_code"
+            style="@style/EditTextStyle"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:lines="1"
+            android:hint="请输入供应商编号" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="4dp">
+
+        <TextView
+            style="@style/tl_tv_style"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="60dp"
+            android:text="供应商名称"
+            android:textColor="@color/body_text_1"
+            android:textSize="16sp" />
+
+        <com.uas.uas_mes_zb_p.view.ClearableEditText
+            android:id="@+id/tv_supplier_name"
+            style="@style/EditTextStyle"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:lines="1"
+            android:hint="请输入供应商名称" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/jlt_storage_in_barcode_line"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="4dp">
+
+        <TextView
+            style="@style/tl_tv_style"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:minWidth="60dp"
+            android:text="送货单号"
+            android:textColor="@color/body_text_1"
+            android:textSize="16sp" />
+
+        <com.uas.uas_mes_zb_p.view.ClearableEditText
+            android:id="@+id/tv_delivery_code"
+            style="@style/EditTextStyle"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:lines="1"
+            android:hint="请输入送货单号" />
+    </LinearLayout>
+    <com.bin.david.form.core.SmartTable
+        android:layout_marginTop="@dimen/textsize_20"
+        android:id="@+id/jlt_storage_in_filter_list_sts"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_weight="1" />
+
+    <Button
+        android:id="@+id/jlt_storage_in_barcode_save_btn"
+        style="@style/ButtonStyle"
+        android:layout_width="match_parent"
+        android:layout_margin="12dp"
+        android:text="提交"
+        />
+</LinearLayout>

+ 1 - 6
app/src/main/res/layout/fragment_storagerechargeadd.xml

@@ -125,18 +125,13 @@
             android:lines="1"
             android:hint="请输入送货单号" />
     </LinearLayout>
-    <com.scwang.smartrefresh.layout.SmartRefreshLayout
-        android:id="@+id/pda_wms_in_filter_list_srl"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1">
     <com.bin.david.form.core.SmartTable
         android:layout_marginTop="@dimen/textsize_20"
         android:id="@+id/jlt_storage_in_filter_list_sts"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_weight="1" />
-    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+
     <Button
         android:id="@+id/jlt_storage_in_barcode_save_btn"
         style="@style/ButtonStyle"

+ 55 - 0
app/src/main/res/layout/outboundlist_fragment.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:orientation="vertical">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_margin="@dimen/textsize_16"
+        android:background="@drawable/bg_line_edittext">
+
+        <com.uas.uas_mes_zb_p.view.ClearableEditText
+            android:id="@+id/storage_recharge_collect_et"
+            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" />
+
+        <ImageView
+            android:id="@+id/storage_recharge_scan_iv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginRight="10dp"
+            android:clickable="false"
+            android:src="@drawable/ic_edittext_scan" />
+    </LinearLayout>
+    <com.scwang.smartrefresh.layout.SmartRefreshLayout
+        android:id="@+id/pda_wms_in_filter_list_srl"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1">
+
+        <com.scwang.smartrefresh.layout.header.ClassicsHeader
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+        <com.bin.david.form.core.SmartTable
+            android:id="@+id/jlt_storage_in_filter_list_st"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_weight="1" />
+
+        <com.scwang.smartrefresh.layout.footer.ClassicsFooter
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:srlAccentColor="@android:color/darker_gray" />
+    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+
+</LinearLayout>

+ 29 - 0
app/src/main/res/layout/pop_outboundlist_out_menu.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/white"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <Button
+        android:id="@+id/pop_material_out_menu_1"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/transparent"
+        android:text="出库单"
+        android:textSize="@dimen/app_text_size_body_2" />
+
+    <Button
+        android:id="@+id/pop_material_out_menu_2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:background="@color/transparent"
+        android:text="新增"
+        android:textSize="@dimen/app_text_size_body_2" />
+
+</LinearLayout>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -426,7 +426,7 @@
     <string name="title_storage_recharge">收料单</string>
     <string name="title_storage_rechargetwo">收料单列表</string>
     <string name="title_storage_rechargeadd">新增收料单列表</string>
-
+    <string name="outboundlist">出库单列表</string>
     <string-array name="material_collect_menu">
         <item>已采集列表</item>
         <item>未采集明细</item>