Sfoglia il codice sorgente

修改出库采集页,条码信息核查页,储位转移页,数据采集页 修复自动更新, 工序采集页增加工单数量, 未报工数量, 增加设备批量保养功能, 物料库存核查页增加实物库存数和修改表格, 修改配料数据汇总弹窗,修改条码打印功能

songw 1 anno fa
parent
commit
0348c1136c
23 ha cambiato i file con 1039 aggiunte e 107 eliminazioni
  1. 6 2
      app/src/main/AndroidManifest.xml
  2. 80 0
      app/src/main/java/com/uas/pda_smart_com/bean/InventoryCollctBean.java
  3. 19 0
      app/src/main/java/com/uas/pda_smart_com/bean/MaterialInformationBean.java
  4. 89 0
      app/src/main/java/com/uas/pda_smart_com/bean/OutboundTableData.java
  5. 29 0
      app/src/main/java/com/uas/pda_smart_com/bean/WHMakeMaterialProduct.java
  6. 179 2
      app/src/main/java/com/uas/pda_smart_com/fragment/IOCOutMakeMaterialOper.java
  7. 319 82
      app/src/main/java/com/uas/pda_smart_com/fragment/InventoryCollectFragment.java
  8. 34 0
      app/src/main/java/com/uas/pda_smart_com/fragment/NewWHCheckMakeMaterialFragment.java
  9. 2 2
      app/src/main/java/com/uas/pda_smart_com/fragment/VersionUpgradeFragment.java
  10. 6 2
      app/src/main/java/com/uas/pda_smart_com/fragment/WHCheckBarcodeFragment.java
  11. 1 0
      app/src/main/java/com/uas/pda_smart_com/fragment/WHTransferLocationFragment.java
  12. 13 1
      app/src/main/java/com/uas/pda_smart_com/global/GloableParams.java
  13. 1 1
      app/src/main/java/com/uas/pda_smart_com/tools/DataSourceManager.java
  14. 31 1
      app/src/main/java/com/uas/pda_smart_com/util/CommonUtil.java
  15. 36 8
      app/src/main/java/com/uas/pda_smart_com/view/TakePhotoPopWin.java
  16. 31 0
      app/src/main/res/layout/dialog_confirm_quantity.xml
  17. 36 0
      app/src/main/res/layout/fragment_inventory_collect.xml
  18. 90 1
      app/src/main/res/layout/fragment_iocout_make_material_oper.xml
  19. 21 2
      app/src/main/res/layout/fragment_whcheck_barcode.xml
  20. 8 0
      app/src/main/res/layout/fragment_whcheck_makematerial_new.xml
  21. 3 0
      app/src/main/res/values/strings.xml
  22. 3 1
      app/src/main/res/xml/file_paths.xml
  23. 2 2
      build.gradle

+ 6 - 2
app/src/main/AndroidManifest.xml

@@ -16,6 +16,8 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+
     <application
         android:name="com.uas.pda_smart_com.application.PdaApplication"
         android:allowBackup="true"
@@ -62,9 +64,11 @@
 
         <provider
             android:name="android.support.v4.content.FileProvider"
-            android:authorities="com.uas.pda_smart_com"
+            android:authorities="com.uas.pda_smart_com.fileprovider"
             android:exported="false"
-            android:grantUriPermissions="true">
+            android:grantUriPermissions="true"
+            tools:replace="android:authorities"
+            >
             <meta-data
                 android:name="android.support.FILE_PROVIDER_PATHS"
                 android:resource="@xml/file_paths" />

+ 80 - 0
app/src/main/java/com/uas/pda_smart_com/bean/InventoryCollctBean.java

@@ -0,0 +1,80 @@
+package com.uas.pda_smart_com.bean;
+
+public
+        /**
+         * Created by sw on 2024-12-03
+         */
+class InventoryCollctBean {
+
+    //ST_WHCODE 仓库
+    //STD_PRODCODE 料号
+    // PR_DETAIL 名称
+    // BAR_LOCATION 储位
+    //STD_BATCHQTY 账面库存
+    // STD_ACTQTY 实盘库存
+    //PR_SPEC 规格
+
+    private String ST_WHCODE;
+    private String STD_PRODCODE;
+    private String PR_DETAIL;
+    private String BAR_LOCATION;
+    private double STD_BATCHQTY;
+    private double STD_ACTQTY;
+    private String PR_SPEC;
+
+    public String getST_WHCODE() {
+        return ST_WHCODE;
+    }
+
+    public void setST_WHCODE(String ST_WHCODE) {
+        this.ST_WHCODE = ST_WHCODE;
+    }
+
+    public String getSTD_PRODCODE() {
+        return STD_PRODCODE;
+    }
+
+    public void setSTD_PRODCODE(String STD_PRODCODE) {
+        this.STD_PRODCODE = STD_PRODCODE;
+    }
+
+    public String getPR_DETAIL() {
+        return PR_DETAIL;
+    }
+
+    public void setPR_DETAIL(String PR_DETAIL) {
+        this.PR_DETAIL = PR_DETAIL;
+    }
+
+    public String getBAR_LOCATION() {
+        return BAR_LOCATION;
+    }
+
+    public void setBAR_LOCATION(String BAR_LOCATION) {
+        this.BAR_LOCATION = BAR_LOCATION;
+    }
+
+    public double getSTD_BATCHQTY() {
+        return STD_BATCHQTY;
+    }
+
+    public void setSTD_BATCHQTY(double STD_BATCHQTY) {
+        this.STD_BATCHQTY = STD_BATCHQTY;
+    }
+
+    public double getSTD_ACTQTY() {
+        return STD_ACTQTY;
+    }
+
+    public void setSTD_ACTQTY(double STD_ACTQTY) {
+        this.STD_ACTQTY = STD_ACTQTY;
+    }
+
+    public String getPR_SPEC() {
+        return PR_SPEC;
+    }
+
+    public void setPR_SPEC(String PR_SPEC) {
+        this.PR_SPEC = PR_SPEC;
+    }
+}

+ 19 - 0
app/src/main/java/com/uas/pda_smart_com/bean/MaterialInformationBean.java

@@ -55,6 +55,25 @@ public class MaterialInformationBean {
         private double BAR_REMAIN;
         private String DC;
 
+        private String PD_OUQTY;
+        private String PD_WHCODE;
+
+        public String getPD_OUQTY() {
+            return PD_OUQTY;
+        }
+
+        public void setPD_OUQTY(String PD_OUQTY) {
+            this.PD_OUQTY = PD_OUQTY;
+        }
+
+        public String getPD_WHCODE() {
+            return PD_WHCODE;
+        }
+
+        public void setPD_WHCODE(String PD_WHCODE) {
+            this.PD_WHCODE = PD_WHCODE;
+        }
+
         public String getPR_ORISPECCODE() {
             return PR_ORISPECCODE;
         }

+ 89 - 0
app/src/main/java/com/uas/pda_smart_com/bean/OutboundTableData.java

@@ -0,0 +1,89 @@
+package com.uas.pda_smart_com.bean;
+
+/**
+ * Created by sw on 2024-12-03
+ */
+public class OutboundTableData {
+
+    private String PD_WHCODE;
+    private double V_BA_REMAIN;
+    private String V_PW_WHCODE;
+    private double V_PW_ONHAND;
+    private String PR_ORISPECCODE;
+    private String PD_PRODCODE;
+    private String PR_DETAIL;
+    private double PD_OUTQTY;
+    private Object PD_PDAQTY;
+
+    public String getPD_WHCODE() {
+        return PD_WHCODE;
+    }
+
+    public void setPD_WHCODE(String PD_WHCODE) {
+        this.PD_WHCODE = PD_WHCODE;
+    }
+
+    public double getV_BA_REMAIN() {
+        return V_BA_REMAIN;
+    }
+
+    public void setV_BA_REMAIN(double V_BA_REMAIN) {
+        this.V_BA_REMAIN = V_BA_REMAIN;
+    }
+
+    public String getV_PW_WHCODE() {
+        return V_PW_WHCODE;
+    }
+
+    public void setV_PW_WHCODE(String V_PW_WHCODE) {
+        this.V_PW_WHCODE = V_PW_WHCODE;
+    }
+
+    public double getV_PW_ONHAND() {
+        return V_PW_ONHAND;
+    }
+
+    public void setV_PW_ONHAND(double V_PW_ONHAND) {
+        this.V_PW_ONHAND = V_PW_ONHAND;
+    }
+
+    public String getPR_ORISPECCODE() {
+        return PR_ORISPECCODE;
+    }
+
+    public void setPR_ORISPECCODE(String PR_ORISPECCODE) {
+        this.PR_ORISPECCODE = PR_ORISPECCODE;
+    }
+
+    public String getPD_PRODCODE() {
+        return PD_PRODCODE;
+    }
+
+    public void setPD_PRODCODE(String PD_PRODCODE) {
+        this.PD_PRODCODE = PD_PRODCODE;
+    }
+
+    public String getPR_DETAIL() {
+        return PR_DETAIL;
+    }
+
+    public void setPR_DETAIL(String PR_DETAIL) {
+        this.PR_DETAIL = PR_DETAIL;
+    }
+
+    public double getPD_OUTQTY() {
+        return PD_OUTQTY;
+    }
+
+    public void setPD_OUTQTY(double PD_OUTQTY) {
+        this.PD_OUTQTY = PD_OUTQTY;
+    }
+
+    public Object getPD_PDAQTY() {
+        return PD_PDAQTY;
+    }
+
+    public void setPD_PDAQTY(Object PD_PDAQTY) {
+        this.PD_PDAQTY = PD_PDAQTY;
+    }
+}

+ 29 - 0
app/src/main/java/com/uas/pda_smart_com/bean/WHMakeMaterialProduct.java

@@ -9,10 +9,39 @@ public class WHMakeMaterialProduct {
     private String PR_DETAIL;
     private String PR_SPEC;
     private String BAR_LOCATION;
+    private String V_BA_REMAIN;
     private String BAR_WHCODE;
     private String REMAIN;
     private String MADEDATE;
 
+    private String PR_CODE;
+
+    private String QTY;
+
+    public String getQTY() {
+        return QTY;
+    }
+
+    public void setQTY(String QTY) {
+        this.QTY = QTY;
+    }
+
+    public String getV_BA_REMAIN() {
+        return V_BA_REMAIN;
+    }
+
+    public void setV_BA_REMAIN(String v_BA_REMAIN) {
+        V_BA_REMAIN = v_BA_REMAIN;
+    }
+
+    public String getPR_CODE() {
+        return PR_CODE;
+    }
+
+    public void setPR_CODE(String PR_CODE) {
+        this.PR_CODE = PR_CODE;
+    }
+
     public String getREMAIN() {
         return REMAIN;
     }

+ 179 - 2
app/src/main/java/com/uas/pda_smart_com/fragment/IOCOutMakeMaterialOper.java

@@ -27,6 +27,8 @@ import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.BaseAdapter;
 import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -49,19 +51,27 @@ import com.android.volley.VolleyError;
 import com.android.volley.toolbox.HttpHeaderParser;
 import com.android.volley.toolbox.JsonObjectRequest;
 import com.android.volley.toolbox.StringRequest;
+import com.bin.david.form.core.SmartTable;
+import com.bin.david.form.data.column.Column;
+import com.bin.david.form.data.format.IFormat;
+import com.bin.david.form.data.table.TableData;
 import com.uas.pda_smart_com.R;
 import com.uas.pda_smart_com.activity.FunctionActivity;
+import com.uas.pda_smart_com.adapter.PopWinWHCheckMakeMaterialListAdapter;
 import com.uas.pda_smart_com.application.PdaApplication;
 import com.uas.pda_smart_com.bean.ErrorMsg;
 import com.uas.pda_smart_com.bean.IOCOutMakeMaterialOperMsd;
 import com.uas.pda_smart_com.bean.IOCOutmakeMaterialSplitBean;
 import com.uas.pda_smart_com.bean.MaterialInformationBean;
+import com.uas.pda_smart_com.bean.OutboundTableData;
 import com.uas.pda_smart_com.bean.SubmitNotParam;
 import com.uas.pda_smart_com.bean.WHBreakingBatchBreakingBtnClickEvent;
+import com.uas.pda_smart_com.bean.WHMakeMaterialProduct;
 import com.uas.pda_smart_com.database.DBManager;
 import com.uas.pda_smart_com.global.GloableParams;
 import com.uas.pda_smart_com.table.TableLBARCODEIO;
 import com.uas.pda_smart_com.table.TableLPRODIONEEDGET;
+import com.uas.pda_smart_com.tools.DataSourceManager;
 import com.uas.pda_smart_com.tools.SharedPreUtil;
 import com.uas.pda_smart_com.tools.VolleyUtil;
 import com.uas.pda_smart_com.util.CameraUtil;
@@ -102,7 +112,9 @@ import okhttp3.OkHttpClient;
  * Created by RaoMeng on 2016/7/27.
  * 材料出库采集页面
  */
-public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClickListener, RadioGroup.OnCheckedChangeListener, HttpCallback {
+public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClickListener, RadioGroup.OnCheckedChangeListener,
+        HttpCallback ,DataSourceManager.NotifyData,
+        VolleyUtil.VolleyFinishListener{
     private static final int SCAN_BARCODE_CODE = 103;
     private static final int SPLIT_BARCODE_SUCCESS = 104;
     private static final int SPLIT_BARCODE_FAIL = 105;
@@ -420,6 +432,13 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
     private Button btn_oneprint;
     private com.alibaba.fastjson.JSONArray listArray;
 
+    private SmartTable mSmartTable;
+    private Column<String> PD_PRODCODE, PR_DETAIL,PD_PDAQTY,PD_WHCODE,V_PW_WHCODE,PR_ORISPECCODE ;
+    private Column<Double> PD_OUTQTY, V_PW_ONHAND,V_BA_REMAIN;
+    private TableData<OutboundTableData> mTableData;
+    private List<OutboundTableData> mStockTaskMultipleBeans;
+    private CheckBox mCheckBox;
+
     @Override
     protected int getLayout() {
         return R.layout.fragment_iocout_make_material_oper;
@@ -460,6 +479,14 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         mCollectResultTextView = mActivity.findViewById(R.id.iocout_collect_result);
         btn_oneprint = root.findViewById(R.id.btn_oneprint);
 
+//        tv_pd_prodcode = root.findViewById(R.id.tv_pd_prodcode);
+//        tv_pr_detail = root.findViewById(R.id.tv_pr_detail);
+//        tv_pr_spec = root.findViewById(R.id.tv_pr_spec);
+//        lvDetail = root.findViewById(R.id.lv_detail_whmm);
+//        line_tab = root.findViewById(R.id.line_tab);
+//        tv_pd_restqty = root.findViewById(R.id.tv_pd_restqty);
+//        tv_pd_ouqty = root.findViewById(R.id.tv_pd_ouqty);
+
         mDbManager = new DBManager(getActivity().getApplicationContext());
         mOkHttpClient = new OkHttpClient.Builder()
                 .sslSocketFactory(FileUtils.createSSLSocketFactory(), new FileUtils.TrustAllCerts())
@@ -522,10 +549,66 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         isConnected = (SharedPreUtil.getInt(mActivity, "printConnect", 0) == 1);
         mOldAddress = SharedPreUtil.getString(mActivity, "printAddress", "");
         mPrintDpi = SharedPreUtil.getInt(mActivity, "printDpi", 203);
+
+
+        mCheckBox = root.findViewById(R.id.stock_data_summary_cb);
+        mSmartTable = root.findViewById(R.id.st_data);
+        CommonUtil.getDefaultTable(mActivity, mSmartTable);
+        PD_PRODCODE = new Column<String>("物料编号", "PD_PRODCODE");
+        PR_DETAIL = new Column<String>("物料名称", "PR_DETAIL");
+        PD_PDAQTY = new Column<String>("已采集数量", "PD_PDAQTY");
+        PD_WHCODE = new Column<String>("仓库", "PD_WHCODE");
+        V_PW_WHCODE = new Column<String>("仓位", "V_PW_WHCODE");
+        PR_ORISPECCODE = new Column<String>("型号", "PR_ORISPECCODE");
+        PD_OUTQTY = new Column<Double>("出库数量", "PD_OUTQTY", new IFormat<Double>() {
+            @Override
+            public String format(Double aDouble) {
+                return CommonUtil.doubleFormat(aDouble);
+            }
+        });
+        V_PW_ONHAND = new Column<Double>("实物库存", "V_PW_ONHAND", new IFormat<Double>() {
+            @Override
+            public String format(Double aDouble) {
+                return CommonUtil.doubleFormat(aDouble);
+            }
+        });
+        V_BA_REMAIN = new Column<Double>("条码库存", "V_BA_REMAIN", new IFormat<Double>() {
+            @Override
+            public String format(Double aDouble) {
+                return CommonUtil.doubleFormat(aDouble);
+            }
+        });
+    }
+
+    private void setTableData(List<OutboundTableData> filterTableData) {
+        //		物料编号pr_code,物料名称pr_detail,出库数量pd_outqty,已采集数量pd_pdaqty,'
+        //				仓库pd_whcode,仓位V_PW_WHCODE,实物库存V_PW_ONHAND,
+        //				条码库存V_BA_REMAIN,型号PR_ORISPECCODE
+        mTableData = new TableData<OutboundTableData>("出库单列表", filterTableData,
+                PD_PRODCODE, PR_DETAIL, PD_OUTQTY,PD_PDAQTY, PD_WHCODE,
+                V_PW_WHCODE,V_PW_ONHAND,V_BA_REMAIN,PR_ORISPECCODE);
+        mSmartTable.setTableData(mTableData);
+        mSmartTable.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mSmartTable.postInvalidate();
+            }
+        }, 100);
     }
 
+    int requestType = -1;
+    PopWinWHCheckMakeMaterialListAdapter adapter;
+    List<WHMakeMaterialProduct> detailItemList;
     @Override
     protected void initEvents() {
+        VolleyUtil.getVolleyUtil().setOnVolleyFinishListener(this);
+        DataSourceManager.getDataSourceManager().setNotifyData(this);
+//        detailItemList = DataSourceManager.getDataSourceManager().getMakeMaterialCheckItemList();
+//        adapter = new PopWinWHCheckMakeMaterialListAdapter(detailItemList, mActivity);
+//        lvDetail.setAdapter(adapter);
+
+        requestType = VolleyUtil.FRAGMETN_WHCHECK_PRODUCT_CHECK;
+
         btnActionbarRight.setOnClickListener(this);
         etBarCode.addTextChangedListener(watcher);
         mCollectTypeRadioGroup.setOnCheckedChangeListener(this);
@@ -585,6 +668,13 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                 }
             }
         });
+
+        mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                getDataList();
+            }
+        });
     }
 
     /**
@@ -656,6 +746,64 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
             CommonUtil.toastNoRepeat(mActivity, getString(R.string.net_not_connect));
             mMaterialInforTextView.setText(getString(R.string.net_not_connect));
         }
+
+        mStockTaskMultipleBeans = new ArrayList<>();
+        setTableData(mStockTaskMultipleBeans);
+        getDataList();
+    }
+
+    private void getDataList() {
+        progressDialog.show();
+        mStockTaskMultipleBeans.clear();
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_OUTMATERIAL_GETPREMATERIALLIST)
+                .method(Request.Method.POST)
+                .addParam("ids", pi_id)
+                .addParam("showall", mCheckBox.isChecked() ? "-1" : "0")
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    String result = o.toString();
+                    com.alibaba.fastjson.JSONObject resultObject = JSON.parseObject(result);
+                    com.alibaba.fastjson.JSONArray dataArray = resultObject.getJSONArray("data");
+                    if (dataArray != null && dataArray.size() > 0) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            com.alibaba.fastjson.JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                //物料编号pr_code,物料名称pr_detail,出库数量pd_outqty,已采集数量pd_pdaqty,'
+                                //	仓库pd_whcode,仓位V_PW_WHCODE,实物库存V_PW_ONHAND,
+                                //	条码库存V_BA_REMAIN,型号PR_ORISPECCODE
+                                OutboundTableData outboundTableData = new OutboundTableData();
+                                outboundTableData.setPD_PRODCODE(FastjsonUtil.getText(dataObject, "PD_PRODCODE"));
+                                outboundTableData.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
+                                outboundTableData.setPD_OUTQTY(FastjsonUtil.getDouble(dataObject, "PD_OUTQTY"));
+                                outboundTableData.setPD_PDAQTY(FastjsonUtil.getText(dataObject, "PD_PDAQTY"));
+                                outboundTableData.setPD_WHCODE(FastjsonUtil.getText(dataObject, "PD_WHCODE"));
+                                outboundTableData.setV_PW_WHCODE(FastjsonUtil.getText(dataObject, "V_PW_WHCODE"));
+                                outboundTableData.setV_PW_ONHAND(FastjsonUtil.getDouble(dataObject, "V_PW_ONHAND"));
+                                outboundTableData.setV_BA_REMAIN(FastjsonUtil.getDouble(dataObject, "V_BA_REMAIN"));
+                                outboundTableData.setPR_ORISPECCODE(FastjsonUtil.getText(dataObject, "PR_ORISPECCODE"));
+
+                                mStockTaskMultipleBeans.add(outboundTableData);
+                            }
+                        }
+                    }
+                    setTableData(mStockTaskMultipleBeans);
+                } catch (Exception e) {
+                    setTableData(mStockTaskMultipleBeans);
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                setTableData(mStockTaskMultipleBeans);
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
     }
 
     /**
@@ -701,8 +849,22 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                             if (materialInformationBean.getData().getPD_BATCHCODE() != null) {
                                 materialInfo = materialInfo + "; 批号:" + materialInformationBean.getData().getPD_BATCHCODE();
                             }
+
                             if (mMaterialInforTextView != null)
-                                mMaterialInforTextView.setText(materialInfo);
+                                                                mMaterialInforTextView.setText(materialInfo);
+//                                pd_datawhcode = materialInformationBean.getData().getPD_WHCODE();
+//                            tv_pd_restqty.setText(materialInformationBean.getData().getPD_RESTQTY());
+//                            tv_pd_ouqty.setText(materialInformationBean.getData().getPD_OUTQTY());
+//
+//                            line_tab.setVisibility(View.VISIBLE);
+//                            tv_pd_prodcode.setText(materialInformationBean.getData().getPD_PRODCODE());
+//                            tv_pr_detail.setText("" + materialInformationBean.getData().getPR_DETAIL());
+//                            tv_pr_spec.setText("" + materialInformationBean.getData().getPR_SPEC());
+
+                            //获取表格数据
+//                            VolleyUtil.getVolleyUtil().requestMakeMaterialCheck(mActivity, GloableParams.ADDRESS_WH_PRODUCT, VolleyUtil.METHOD_GET,
+//                                    requestType, materialInformationBean.getData().getPD_PRODCODE(), pd_datawhcode);
+
                         } else {
                             if (mMaterialInforTextView != null)
                                 mMaterialInforTextView.setText("该出库单当前的仓库已经完成备料");
@@ -1121,6 +1283,21 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         }
     }
 
+    @Override
+    public void NotifyDataChanged(int noticeType) {
+        //修改信息显示区域的信息
+        String strDetail = detailItemList.get(0).getPR_DETAIL();
+        String strSpec = detailItemList.get(0).getPR_SPEC();
+
+        //table数据源修改
+        adapter.notifyDataSetChanged();
+    }
+
+    @Override
+    public void onVolleyFinish(int isSuccess, Object result) {
+
+    }
+
     /**
      * popupWindow 设置适配器
      */

+ 319 - 82
app/src/main/java/com/uas/pda_smart_com/fragment/InventoryCollectFragment.java

@@ -5,12 +5,14 @@ import android.content.Intent;
 import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
+import android.support.v7.app.AlertDialog;
 import android.text.TextUtils;
 import android.view.KeyEvent;
 import android.view.View;
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
+import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupWindow;
@@ -19,8 +21,13 @@ import android.widget.TextView;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.android.volley.Request;
+import com.bin.david.form.core.SmartTable;
+import com.bin.david.form.data.column.Column;
+import com.bin.david.form.data.format.IFormat;
+import com.bin.david.form.data.table.TableData;
 import com.uas.pda_smart_com.R;
 import com.uas.pda_smart_com.activity.FunctionActivity;
+import com.uas.pda_smart_com.bean.InventoryCollctBean;
 import com.uas.pda_smart_com.global.GloableParams;
 import com.uas.pda_smart_com.listener.MyEditorActionListener;
 import com.uas.pda_smart_com.util.CameraUtil;
@@ -29,11 +36,15 @@ import com.uas.pda_smart_com.util.FastjsonUtil;
 import com.uas.pda_smart_com.util.FragmentUtils;
 import com.uas.pda_smart_com.util.HttpCallback;
 import com.uas.pda_smart_com.util.HttpParams;
+import com.uas.pda_smart_com.util.StringUtil;
 import com.uas.pda_smart_com.util.VolleyRequest;
 import com.uas.pda_smart_com.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: 盘点采集页面
@@ -42,12 +53,20 @@ public class InventoryCollectFragment extends BaseFragment implements View.OnCli
     private static final int SCAN_BARCODE_CODE = 101;
     private ClearableEditText mTagEditText, mBarcodeEditText;
     private ImageView mScanImageView;
-    private TextView mResultTextView, mNumTextView, mClassTextView;
+    private TextView mResultTextView, mNumTextView, mClassTextView, tvPiInoutno;
     private Button mMoreButton;
     private PopupWindow mMenuPopupWindow;
     private String pi_inoutno, pi_id, pi_class;
     private CheckBox cb_caiji;
-    private boolean isChecked=false;
+    private boolean isChecked = false;
+
+    private SmartTable mSmartTable;
+    private Column<String> ST_WHCODE, STD_PRODCODE, PR_DETAIL, BAR_LOCATION, PR_SPEC;
+    private Column<Double> STD_BATCHQTY, STD_ACTQTY;
+    private TableData<InventoryCollctBean> mTableData;
+    private List<InventoryCollctBean> mStockTaskMultipleBeans;
+    private CheckBox mCheckBox;
+    private String bar_remain;
 
     @Override
     protected int getLayout() {
@@ -66,9 +85,32 @@ public class InventoryCollectFragment extends BaseFragment implements View.OnCli
         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);
+        cb_caiji = root.findViewById(R.id.cb_caiji);
+        tvPiInoutno = mActivity.findViewById(R.id.tv_pi_inoutno);
 
         mBarcodeEditText.requestFocus();
+
+        mCheckBox = root.findViewById(R.id.stock_data_summary_cb);
+        mSmartTable = root.findViewById(R.id.st_data);
+        CommonUtil.getDefaultTable(mActivity, mSmartTable);
+        ST_WHCODE = new Column<String>("仓库", "ST_WHCODE");
+        STD_PRODCODE = new Column<String>("料号", "STD_PRODCODE");
+        PR_DETAIL = new Column<String>("名称", "PR_DETAIL");
+        BAR_LOCATION = new Column<String>("储位", "BAR_LOCATION");
+        STD_BATCHQTY = new Column<Double>("账面库存", "STD_BATCHQTY", new IFormat<Double>() {
+            @Override
+            public String format(Double aDouble) {
+                return CommonUtil.doubleFormat(aDouble);
+            }
+        });
+        STD_ACTQTY = new Column<Double>("实盘库存", "STD_ACTQTY", new IFormat<Double>() {
+            @Override
+            public String format(Double aDouble) {
+                return CommonUtil.doubleFormat(aDouble);
+            }
+        });
+        PR_SPEC = new Column<String>("规格", "PR_SPEC");
+
     }
 
     @Override
@@ -78,99 +120,223 @@ public class InventoryCollectFragment extends BaseFragment implements View.OnCli
         cb_caiji.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                InventoryCollectFragment.this.isChecked=isChecked;
+                InventoryCollectFragment.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);
-//            }
-//        });
+        //        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 deadLine = mTagEditText.getText().toString().trim();
                 String barcode = mBarcodeEditText.getText().toString().trim();
 
-//                if (TextUtils.isEmpty(deadLine)) {
-//                    CommonUtil.toastNoRepeat(mActivity, "请输入临界校验日期");
-//                    return;
-//                }
+                //                if (TextUtils.isEmpty(deadLine)) {
+                //                    CommonUtil.toastNoRepeat(mActivity, "请输入临界校验日期");
+                //                    return;
+                //                }
 
                 if (TextUtils.isEmpty(barcode)) {
                     CommonUtil.toastNoRepeat(mActivity, "请采集条码");
                     return;
                 }
-
                 progressDialog.show();
+                if (isChecked) {
+                    VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                            .url(GloableParams.ADDRESS_BARSTOCK_GETBARCODEINFO)
+                            .method(Request.Method.GET)
+                            .tag(TAG + "getbarcodeinfo")
+                            .flag(0)
+                            .addParam("inoutno", pi_inoutno)
+                            //.addParam("deadline", deadLine)
+                            .addParam("barcode", barcode)
+                            .addParam("iscancel", isChecked + "")
+                            .build(), new HttpCallback() {
+                        @Override
+                        public void onSuccess(int flag, Object o) throws Exception {
+                            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);
+                                    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();
+                            }
+                        }
 
-                VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
-                        .url(GloableParams.ADDRESS_BARSTOCK_GETBARCODEINFO)
-                        .method(Request.Method.GET)
-                        .tag(TAG + "getbarcodeinfo")
-                        .flag(0)
-                        .addParam("inoutno", pi_inoutno)
-//                        .addParam("deadline", deadLine)
-                        .addParam("barcode", barcode)
-                        .addParam("iscancel",isChecked+"")
-                        .build(), new HttpCallback() {
-                    @Override
-                    public void onSuccess(int flag, Object o) throws Exception {
-                        progressDialog.dismiss();
-
-                        try {
+                        @Override
+                        public void onFail(int flag, String failStr) throws Exception {
                             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 = "采集成功!已超期";
+                            progressDialog.dismiss();
+                            CommonUtil.toastNoRepeat(mActivity, failStr);
+                            mResultTextView.setVisibility(View.VISIBLE);
+                            mResultTextView.setText(failStr);
+                        }
+                    });
+                } else {
+                    VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                            .url(GloableParams.ADDRESS_GET_BARCODE_DATA)
+                            .method(Request.Method.GET)
+                            .tag(TAG + "getbarcodeinfo")
+                            .flag(0)
+                            .addParam("barcode", barcode)
+                            .build(), new HttpCallback() {
+                        @Override
+                        public void onSuccess(int flag, Object o) throws Exception {
+                            progressDialog.dismiss();
+                            bar_remain = "";
+                            try {
+                                String result = o.toString();
+                                JSONObject resultObject = JSON.parseObject(result);
+                                JSONObject dataObject = resultObject.getJSONObject("data");
+                                if (dataObject != null) {
+                                    bar_remain = FastjsonUtil.getText(dataObject, "BAR_REMAIN");
                                 }
 
-                                mResultTextView.setVisibility(View.VISIBLE);
-                                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")
-                                );
+                                View dialogView = View.inflate(getActivity(), R.layout.dialog_confirm_quantity, null);
+                                final EditText modifyEditText = dialogView.findViewById(R.id.recharge_modify_et);
+                                final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).setTitle("确认数量")
+                                        .setView(dialogView)
+                                        .setNegativeButton(R.string.cancel, null)
+                                        .setPositiveButton(R.string.confirm, null).create();
+                                alertDialog.show();
+                                modifyEditText.setText(bar_remain);
+                                modifyEditText.setSelection(modifyEditText.getText().length());
+                                alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
+                                    @Override
+                                    public void onClick(View view) {
+                                        if (StringUtil.isEmpty(modifyEditText.getText().toString().trim())) {
+                                            CommonUtil.toastNoRepeat(getActivity(), "请输入条码数量");
+                                            return;
+                                        }
+                                        double quantity = -1;
+                                        try {
+                                            quantity = Double.parseDouble(modifyEditText.getText().toString().trim());
+                                        } catch (Exception e) {
+                                            CommonUtil.toastNoRepeat(getActivity(), "请输入正确的数字");
+                                            return;
+                                        }
+                                        if (quantity <= 0) {
+                                            CommonUtil.toastNoRepeat(getActivity(), "数量必须大于0");
+                                            return;
+                                        }
+                                        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                                                .url(GloableParams.ADDRESS_BARSTOCK_GETBARCODEINFO)
+                                                .method(Request.Method.GET)
+                                                .tag(TAG + "getbarcodeinfo")
+                                                .flag(0)
+                                                .addParam("inoutno", pi_inoutno)
+                                                //.addParam("deadline", deadLine)
+                                                .addParam("barcode", barcode)
+                                                .addParam("iscancel", isChecked + "")
+                                                .addParam("bar_remain", modifyEditText.getText().toString().trim())
+                                                .build(), new HttpCallback() {
+                                            @Override
+                                            public void onSuccess(int flag, Object o) throws Exception {
+                                                alertDialog.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);
+                                                        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 {
+                                                alertDialog.dismiss();
+                                                mBarcodeEditText.setText("");
+                                                progressDialog.dismiss();
+                                                CommonUtil.toastNoRepeat(mActivity, failStr);
+                                                mResultTextView.setVisibility(View.VISIBLE);
+                                                mResultTextView.setText(failStr);
+                                            }
+                                        });
+                                    }
+                                });
+                            } catch (Exception e) {
+                                e.printStackTrace();
                             }
-                        } 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
+                        public void onFail(int flag, String failStr) throws Exception {
+                            mBarcodeEditText.setText("");
+                            progressDialog.dismiss();
+                            CommonUtil.toastNoRepeat(mActivity, failStr);
+                            mResultTextView.setVisibility(View.VISIBLE);
+                            mResultTextView.setText(failStr);
+                        }
+                    });
+
+                }
+            }
+        });
+
+        mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                getDataList();
             }
         });
     }
@@ -187,13 +353,84 @@ public class InventoryCollectFragment extends BaseFragment implements View.OnCli
             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();
-//        }
+        //        String deadLine = SharedPreUtil.getString(mActivity, Constants.FLAG.INVENTORY_DC_TIME_CACHE, "");
+        //        if (!TextUtils.isEmpty(deadLine)) {
+        //            mTagEditText.setText(deadLine);
+        //            mBarcodeEditText.requestFocus();
+        //        } else {
+        //            mTagEditText.requestFocus();
+        //        }
+
+        if (pi_inoutno != null) {
+            tvPiInoutno.setText(pi_inoutno);
+        }
+
+        mStockTaskMultipleBeans = new ArrayList<>();
+        setTableData(mStockTaskMultipleBeans);
+        getDataList();
+    }
+
+    private void getDataList() {
+        progressDialog.show();
+        mStockTaskMultipleBeans.clear();
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_GET_PRE_MATERIAL_LIST)
+                .method(Request.Method.POST)
+                .addParam("code", pi_id)
+                .addParam("showall", mCheckBox.isChecked() ? "-1" : "0")
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    String result = o.toString();
+                    com.alibaba.fastjson.JSONObject resultObject = JSON.parseObject(result);
+                    com.alibaba.fastjson.JSONArray dataArray = resultObject.getJSONArray("data");
+                    if (dataArray != null && dataArray.size() > 0) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            com.alibaba.fastjson.JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                //物料编号pr_code,物料名称pr_detail,出库数量pd_outqty,已采集数量pd_pdaqty,'
+                                //	仓库pd_whcode,仓位V_PW_WHCODE,实物库存V_PW_ONHAND,
+                                //	条码库存V_BA_REMAIN,型号PR_ORISPECCODE
+                                InventoryCollctBean inventoryCollctBean = new InventoryCollctBean();
+                                inventoryCollctBean.setST_WHCODE(FastjsonUtil.getText(dataObject, "ST_WHCODE"));
+                                inventoryCollctBean.setSTD_PRODCODE(FastjsonUtil.getText(dataObject, "STD_PRODCODE"));
+                                inventoryCollctBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
+                                inventoryCollctBean.setBAR_LOCATION(FastjsonUtil.getText(dataObject, "BAR_LOCATION"));
+                                inventoryCollctBean.setSTD_BATCHQTY(FastjsonUtil.getDouble(dataObject, "STD_BATCHQTY"));
+                                inventoryCollctBean.setSTD_ACTQTY(FastjsonUtil.getDouble(dataObject, "STD_ACTQTY"));
+                                inventoryCollctBean.setPR_SPEC(FastjsonUtil.getText(dataObject, "PR_SPEC"));
+                                mStockTaskMultipleBeans.add(inventoryCollctBean);
+                            }
+                        }
+                    }
+                    setTableData(mStockTaskMultipleBeans);
+                } catch (Exception e) {
+                    setTableData(mStockTaskMultipleBeans);
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                setTableData(mStockTaskMultipleBeans);
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
+    }
+
+    private void setTableData(List<InventoryCollctBean> filterTableData) {
+        mTableData = new TableData<InventoryCollctBean>("出库单列表", filterTableData,
+                ST_WHCODE, STD_PRODCODE, PR_DETAIL, BAR_LOCATION, STD_BATCHQTY, STD_ACTQTY, PR_SPEC);
+        mSmartTable.setTableData(mTableData);
+        mSmartTable.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mSmartTable.postInvalidate();
+            }
+        }, 100);
     }
 
     @Override

+ 34 - 0
app/src/main/java/com/uas/pda_smart_com/fragment/NewWHCheckMakeMaterialFragment.java

@@ -18,6 +18,9 @@ import android.widget.ListView;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
+import com.bin.david.form.core.SmartTable;
+import com.bin.david.form.data.column.Column;
+import com.bin.david.form.data.table.TableData;
 import com.google.gson.reflect.TypeToken;
 import com.uas.pda_smart_com.R;
 import com.uas.pda_smart_com.activity.FunctionActivity;
@@ -59,6 +62,11 @@ public class NewWHCheckMakeMaterialFragment extends BaseFragment implements View
     private ImageView mScanImageView;
     private int mFocusId;
 
+    private SmartTable mSmartTable;
+    private Column<String> mPR_CODE,mBAR_WHCODE,mBAR_LOCATION,mV_BA_REMAIN,mREMAIN,mMADEDATE,mPR_SPEC;
+//    private Column<Double> mMADEDATE;
+    private TableData mTableData;
+
     @Override
     protected int getLayout() {
         return R.layout.fragment_whcheck_makematerial_new;
@@ -89,6 +97,17 @@ public class NewWHCheckMakeMaterialFragment extends BaseFragment implements View
         tvPrSpec = (TextView) root.findViewById(R.id.tv_pr_spec);
 
         mScanImageView = (ImageView) mActivity.findViewById(R.id.btn_actionbar_scan_iv);
+        mSmartTable = root.findViewById(R.id.st_smart_table);
+
+        CommonUtil.getLeftDefaultTable(mActivity, mSmartTable);
+        //物料编号,规格,仓库,储位,数量,dc
+        mPR_CODE = new Column<String>("物料编号", "PR_CODE");
+        mBAR_WHCODE = new Column<String>("仓库", "BAR_WHCODE");
+        mBAR_LOCATION = new Column<String>("储位", "BAR_LOCATION");
+        mV_BA_REMAIN = new Column<String>("实物库存数", "V_BA_REMAIN");
+        mREMAIN = new Column<String>("条码数量", "REMAIN");
+        mMADEDATE = new Column<String>("dc", "MADEDATE");
+        mPR_SPEC = new Column<String>("规格", "PR_SPEC");
     }
 
     @Override
@@ -141,6 +160,19 @@ public class NewWHCheckMakeMaterialFragment extends BaseFragment implements View
         //->Actionbar
         ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(R.string.title_makematerial_whmm);
 
+        setTableData(detailItemList);
+    }
+
+    private void setTableData(List<WHMakeMaterialProduct> filterTableData) {
+        mTableData = new TableData<WHMakeMaterialProduct>("出库单列表", filterTableData,
+                mPR_CODE, mBAR_WHCODE,mBAR_LOCATION,mV_BA_REMAIN, mREMAIN,mMADEDATE, mPR_SPEC);
+        mSmartTable.setTableData(mTableData);
+        mSmartTable.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                mSmartTable.postInvalidate();
+            }
+        }, 100);
     }
 
     @Override
@@ -295,6 +327,8 @@ public class NewWHCheckMakeMaterialFragment extends BaseFragment implements View
 
         //table数据源修改
         adapter.notifyDataSetChanged();
+        //修改为新的列表
+        setTableData(detailItemList);
     }
 
     /*=========================监听事件===================================*/

+ 2 - 2
app/src/main/java/com/uas/pda_smart_com/fragment/VersionUpgradeFragment.java

@@ -97,7 +97,6 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
     @Override
     protected void initDatas() {
         mOldVersionTv.setText(AndroidUtil.getVersionName(mActivity));
-
         getNewVersionMsg();
     }
 
@@ -125,6 +124,7 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                         mUpgradeButton.setVisibility(View.GONE);
                     }
                 }
+
             }
 
             @Override
@@ -185,7 +185,7 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                         Intent intent = new Intent(Intent.ACTION_VIEW);
                         if (Build.VERSION.SDK_INT >= 24) {
                             Uri apkUri = FileProvider.getUriForFile(mActivity,
-                                    "com.uas.pda_smart_sa.fileprovider", apk);
+                                    "com.uas.pda_smart_com.fileprovider", apk);
                             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                             intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                             intent.setDataAndType(apkUri, "application/vnd.android.package-archive");

+ 6 - 2
app/src/main/java/com/uas/pda_smart_com/fragment/WHCheckBarcodeFragment.java

@@ -34,7 +34,8 @@ public class WHCheckBarcodeFragment extends BaseFragment implements View.OnClick
     private static final int SCAN_BARCODE_CODE = 402;
     ClearableEditText etCollect;
     TableLayout tlMsg;
-    TextView tvBarcode, tvBarProcode,tv_type_value,tvPrDetail, tvPrSpec, tvVeShortname, tvBarWhcode, tvBarRemain, tvBarLocation, tvStatus;
+    TextView tvBarcode, tvBarProcode,tv_type_value,tvPrDetail, tvPrSpec, tvVeShortname, tvBarWhcode,
+            tvBarRemain, tvBarLocation, tvStatus,tv_batch_number;
     private TextView btnSearch;
     private ImageView mScanImageView;
     private int mFocusId;
@@ -62,6 +63,7 @@ public class WHCheckBarcodeFragment extends BaseFragment implements View.OnClick
         btnSearch = (TextView) root.findViewById(R.id.btn_collect);
         ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(R.string.title_barcode_whmm);
         mScanImageView = (ImageView) mActivity.findViewById(R.id.btn_actionbar_scan_iv);
+        tv_batch_number = (TextView) mActivity.findViewById(R.id.tv_batch_number);
 
     }
 
@@ -190,7 +192,8 @@ public class WHCheckBarcodeFragment extends BaseFragment implements View.OnClick
             String strRemain = changeNulltoBlank(dataJson, "BAR_REMAIN");
             String strLocation = changeNulltoBlank(dataJson, "BAR_LOCATION");
             String strStatus = changeNulltoBlank(dataJson, "BAR_STATUS");
-            String strType=changeNulltoBlank(dataJson,"PR_ORISPECCODE");
+            String strType = changeNulltoBlank(dataJson,"PR_ORISPECCODE");
+            String BAR_BATCHCODE = changeNulltoBlank(dataJson,"BAR_BATCHCODE");  //批次号
 
             //显示数据
             tvBarcode.setText(strBarcode);
@@ -202,6 +205,7 @@ public class WHCheckBarcodeFragment extends BaseFragment implements View.OnClick
             tvBarWhcode.setText(strWhcode);
             tvBarRemain.setText(strRemain);
             tvBarLocation.setText(strLocation);
+            tv_batch_number.setText(BAR_BATCHCODE);     //批次号
             if(strStatus.equals("1")){
                 tvStatus.setText("在库");
             }else if(strStatus.equals("2")){

+ 1 - 0
app/src/main/java/com/uas/pda_smart_com/fragment/WHTransferLocationFragment.java

@@ -109,6 +109,7 @@ public class WHTransferLocationFragment extends BaseFragment implements Compound
                         || actionId == EditorInfo.IME_ACTION_GO
                         || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                     disposeConfirmClickEnter();
+                    etCode.setText("");
                     return true;
                 }
                 return false;

+ 13 - 1
app/src/main/java/com/uas/pda_smart_com/global/GloableParams.java

@@ -249,7 +249,8 @@ public class GloableParams {
     public static String ADDRESS_TURNPURCBARCODE;
     public static String ADDRESS_INVENTORY_DETAILS_QUERY;
 
-
+    public static String ADDRESS_GET_BARCODE_DATA;
+    public static String ADDRESS_GET_PRE_MATERIAL_LIST;
 
 
 
@@ -692,6 +693,13 @@ public class GloableParams {
     //入库明细查询
     private static final String ADDRESSTAIL_INVENTORY_DETAILS_QUERY = "/api/pda/acceptNToVerify/getProdiodetail.action";
 
+    //修改数量弹窗
+    private static final String ADDRESSTAIL_GET_BARCODE_DATA = "/api/pda/outMaterial/getBarcodeData.action";
+
+    private static final String ADDRESSTAIL_GET_PRE_MATERIAL_LIST = "/api/pda/outMaterial/getStockMaterialList.action";
+
+
+
     /***********************************************************************************************/
     /*界面文字和图片资源,控制后续数据一致*/
     //主界面
@@ -1091,6 +1099,10 @@ public class GloableParams {
         GloableParams.ADDRESS_TURNPURCBARCODE= uriHead + GloableParams.ADDRESSTAIL_IQC_GETLIST_TURNPURCBARCODE;
         GloableParams.ADDRESS_INVENTORY_DETAILS_QUERY= uriHead + GloableParams.ADDRESSTAIL_INVENTORY_DETAILS_QUERY;
 
+        GloableParams.ADDRESS_GET_BARCODE_DATA = uriHead + GloableParams.ADDRESSTAIL_GET_BARCODE_DATA;
+        GloableParams.ADDRESS_GET_PRE_MATERIAL_LIST = uriHead + GloableParams.ADDRESSTAIL_GET_PRE_MATERIAL_LIST;
+
+
 
 
     }

+ 1 - 1
app/src/main/java/com/uas/pda_smart_com/tools/DataSourceManager.java

@@ -60,8 +60,8 @@ public class DataSourceManager {
     }
 
     public void setMakeMaterialCheckItemList(String result) {
-        makeMaterialItemList.removeAll(makeMaterialItemList);
         try {
+            makeMaterialItemList.removeAll(makeMaterialItemList);
             JSONObject tmpJson = new JSONObject(result);
 //            String strTarget = tmpJson.getJSONArray("target").toString();
             String strTarget = tmpJson.getJSONArray("data").toString();

+ 31 - 1
app/src/main/java/com/uas/pda_smart_com/util/CommonUtil.java

@@ -6,6 +6,7 @@ import android.content.Intent;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.graphics.Color;
+import android.graphics.Paint;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.os.AsyncTask;
@@ -40,8 +41,8 @@ import android.widget.Toast;
 import com.alibaba.fastjson.JSON;
 import com.android.volley.VolleyError;
 import com.bin.david.form.core.SmartTable;
-import com.bin.david.form.data.CellInfo;
 import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.CellInfo;
 import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat;
 import com.bin.david.form.data.style.FontStyle;
 import com.uas.pda_smart_com.R;
@@ -1018,4 +1019,33 @@ public class CommonUtil {
                     }
                 });
     }
+
+    //表格内容左对齐
+    public static void getLeftDefaultTable(Activity mActivity, SmartTable mSmartTable) {
+        WindowManager wm = mActivity.getWindowManager();
+        int screenWith = wm.getDefaultDisplay().getWidth();
+        FontStyle.setDefaultTextAlign(Paint.Align.LEFT);
+        mSmartTable.getConfig().setMinTableWidth(screenWith)
+                .setShowXSequence(false)
+                .setShowYSequence(false)
+                .setShowTableTitle(false)
+                .setFixedTitle(true)
+                .setVerticalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setContentStyle(new FontStyle(CommonUtil.sp2px(mActivity, 12), Color.parseColor("#333333")))
+                .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 14), 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;
+                    }
+                });
+    }
+
 }

+ 36 - 8
app/src/main/java/com/uas/pda_smart_com/view/TakePhotoPopWin.java

@@ -5,6 +5,7 @@ import android.content.Context;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Build;
 import android.support.annotation.RequiresApi;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
@@ -21,6 +22,7 @@ import com.uas.pda_smart_com.global.GloableParams;
 import com.uas.pda_smart_com.tools.DataSourceManager;
 import com.uas.pda_smart_com.tools.SharedPreUtil;
 import com.uas.pda_smart_com.tools.VolleyUtil;
+import com.uas.pda_smart_com.util.CommonUtil;
 
 import java.util.List;
 
@@ -36,10 +38,12 @@ public class TakePhotoPopWin extends PopupWindow implements DataSourceManager.No
     private ListView lvDetail;
     private final TextView tvPrDetail;
     private final TextView tvPrSpec;
+    private final Context context;
 
     @SuppressLint("SetJavaScriptEnabled")
     @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
     public TakePhotoPopWin(Context mContext, View.OnClickListener itemsOnClick) {
+        context = mContext;
         this.view = LayoutInflater.from(mContext).inflate(R.layout.take_photo_pop, null);
         btn_cancel = (ImageView) view.findViewById(R.id.btn_cancel);
         tv_pd_prodcode = view.findViewById(R.id.tv_pd_prodcode);
@@ -74,12 +78,7 @@ public class TakePhotoPopWin extends PopupWindow implements DataSourceManager.No
         this.setFocusable(true);
 
         // 实例化一个ColorDrawable颜色为半透明
-        ColorDrawable dw = new ColorDrawable(0xb0000000);
-        // 设置弹出窗体的背景
-        this.setBackgroundDrawable(dw);
-
-        // 设置弹出窗体显示时的动画,从底部向上弹出
-        this.setAnimationStyle(R.style.take_photo_anim);
+        ColorDrawable dw = new ColorDrawable(0xb0000000);        this.setAnimationStyle(R.style.take_photo_anim);
         // 取消按钮
         btn_cancel.setOnClickListener(new View.OnClickListener() {
 
@@ -91,11 +90,14 @@ public class TakePhotoPopWin extends PopupWindow implements DataSourceManager.No
         lvDetail = (ListView) view.findViewById(R.id.lv_detail_whmm);
         tvPrDetail = (TextView) view.findViewById(R.id.tv_pr_detail);
         tvPrSpec = (TextView) view.findViewById(R.id.tv_pr_spec);
+        // 设置弹出窗体的背景
+        this.setBackgroundDrawable(dw);
+
+        // 设置弹出窗体显示时的动画,从底部向上弹出
+
         VolleyUtil.getVolleyUtil().setOnVolleyFinishListener(this);
         DataSourceManager.getDataSourceManager().setNotifyData(this);
         detailItemList = DataSourceManager.getDataSourceManager().getMakeMaterialCheckItemList();
-        adapter = new PopWinWHCheckMakeMaterialListAdapter(detailItemList, mContext);
-        lvDetail.setAdapter(adapter);
 
         String pd_prodcode_pop = SharedPreUtil.getString(mContext, "pd_prodcode_pop", null);
         tv_pd_prodcode.setText(pd_prodcode_pop);
@@ -117,12 +119,38 @@ public class TakePhotoPopWin extends PopupWindow implements DataSourceManager.No
         tvPrDetail.setText("" + strDetail);
         tvPrSpec.setText("" + strSpec);
         //table数据源修改
+        adapter = new PopWinWHCheckMakeMaterialListAdapter(detailItemList, context);
+        lvDetail.setAdapter(adapter);
         adapter.notifyDataSetChanged();
     }
 
     @Override
     public void onVolleyFinish(int isSuccess, Object result) {
+        Log.w("aaa", "弹窗结果:" + isSuccess + "---弹窗数据:" + result.toString());
+        switch (isSuccess) {
+            case VolleyUtil.SUCCESS_SUCCESS:
+                disposeVolleySuccess((String) result);
+                break;
+            case VolleyUtil.FAILED_FAILED:
+                disposeVolleyFaild((String) result);
+                break;
+        }
+    }
 
+    //Volley请求响应失败
+    private void disposeVolleyFaild(String result) {
+        CommonUtil.showNotice(result, context);
     }
+
+    //Volley成功
+    private void disposeVolleySuccess(Object result) {
+        String str = (String) result;
+        switch (requestType) {
+            //物料库存核查:Check数据
+            case VolleyUtil.FRAGMETN_WHCHECK_PRODUCT_CHECK:
+                break;
+        }
+    }
+
 }
 

+ 31 - 0
app/src/main/res/layout/dialog_confirm_quantity.xml

@@ -0,0 +1,31 @@
+<?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:orientation="vertical"
+    android:paddingBottom="14dp"
+    android:paddingLeft="24dp"
+    android:paddingRight="24dp"
+    android:paddingTop="14dp">
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="条码数量">
+        </TextView>
+        <EditText
+            android:id="@+id/recharge_modify_et"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/bg_line_edittext"
+            android:inputType="numberDecimal"
+            android:padding="10dp"
+            />
+    </LinearLayout>
+
+</LinearLayout>

+ 36 - 0
app/src/main/res/layout/fragment_inventory_collect.xml

@@ -103,4 +103,40 @@
         android:visibility="gone"
         tools:text="采集成功,条码:786528238;数量:2;料号:209837;名称规格:瓶子" />
 
+    <LinearLayout
+        android:layout_marginTop="10dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="单号:"
+            android:textColor="@color/body_text_1"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/tv_pi_inoutno"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:textColor="@color/body_text_1"
+            android:textSize="14sp"
+            tools:text="YS1506002" />
+
+        <CheckBox
+            android:id="@+id/stock_data_summary_cb"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:checked="true"
+            android:text="未完成" />
+
+    </LinearLayout>
+
+    <com.bin.david.form.core.SmartTable
+        android:id="@+id/st_data"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
 </LinearLayout>

+ 90 - 1
app/src/main/res/layout/fragment_iocout_make_material_oper.xml

@@ -134,6 +134,13 @@
                         android:visibility="gone"
                         tools:text="01" />
 
+                    <CheckBox
+                        android:id="@+id/stock_data_summary_cb"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:checked="true"
+                        android:text="未完成" />
+
                 </LinearLayout>
 
                 <TableLayout
@@ -259,7 +266,8 @@
                     android:padding="10dp"
                     android:stretchColumns="1"
                     android:visibility="gone"
-                    tools:visibility="visible">
+                    tools:visibility="visible"
+                    >
 
                     <TableRow>
 
@@ -337,6 +345,7 @@
                     tools:visibility="visible"/>
 
                 <TextView
+                    android:visibility="gone"
                     android:id="@+id/iocout_next_material_information"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
@@ -347,6 +356,86 @@
             </LinearLayout>
 
         </ScrollView>
+
+        <LinearLayout
+            android:id="@+id/line_tab"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+
+            <TableLayout
+                android:layout_marginTop="@dimen/space_top_8"
+                style="@style/CardWhiteStyle_wrapheight">
+
+                <TableRow>
+                    <TextView
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:text="未备料数"/>
+                    <TextView
+                        android:id="@+id/tv_pd_restqty"
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:textColor="@color/text_search"/>
+                </TableRow>
+
+                <TableRow>
+                    <TextView
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:text="需求数"/>
+                    <TextView
+                        android:id="@+id/tv_pd_ouqty"
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:textColor="@color/text_search"/>
+                </TableRow>
+
+                <TableRow>
+                    <TextView
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:text="@string/text_fragment_whcheck_pd_prodcode"/>
+                    <TextView
+                        android:id="@+id/tv_pd_prodcode"
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:textColor="@color/text_search"/>
+                </TableRow>
+                <TableRow>
+                    <TextView
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:text="@string/text_fragment_whcheck_pr_detail"/>
+                    <TextView
+                        android:id="@+id/tv_pr_detail"
+                        android:textSize="@dimen/textsize_12"
+                        style="@style/CardContentTextStylepopu"
+                        android:textColor="@color/text_search"/>
+                </TableRow>
+                <TableRow>
+                    <TextView
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:text="@string/text_fragment_whcheck_pr_spec" />
+                    <TextView
+                        android:id="@+id/tv_pr_spec"
+                        style="@style/CardContentTextStylepopu"
+                        android:textSize="@dimen/textsize_12"
+                        android:textColor="@color/text_search" />
+                </TableRow>
+            </TableLayout>
+
+            <com.bin.david.form.core.SmartTable
+                android:id="@+id/st_data"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+
+
+        </LinearLayout>
+
+
     </LinearLayout>
 
 </RelativeLayout>

+ 21 - 2
app/src/main/res/layout/fragment_whcheck_barcode.xml

@@ -63,11 +63,19 @@
             <TextView
                 style="@style/Table_li_left"
                 android:text="@string/text_whcheck_pr_spec"/>
+
             <TextView
                 android:layout_width="wrap_content"
                 android:id="@+id/tv_pr_spec"
-                style="@style/Table_li_right"
-                android:textColor="@color/text_search"/>
+                android:gravity="left|center"
+                android:paddingStart="@dimen/space_left_8"
+                android:paddingEnd="@dimen/space_left_8"
+                android:layout_height="wrap_content"
+                android:textSize="17dp"
+                android:textColor="@color/text_search"
+                android:imeOptions="flagNoExtractUi"
+                />
+
         </TableRow>
         <!--供应商-->
         <TableRow>
@@ -113,6 +121,17 @@
                 style="@style/Table_li_right"
                 android:textColor="@color/text_search"/>
         </TableRow>
+        <!--批次号-->
+        <TableRow>
+            <TextView
+                style="@style/Table_li_left"
+                android:text="@string/batch_number"/>
+            <TextView
+                android:layout_width="wrap_content"
+                android:id="@+id/tv_batch_number"
+                style="@style/Table_li_right"
+                android:textColor="@color/text_search"/>
+        </TableRow>
         <!--条码状态-->
         <TableRow>
             <TextView

+ 8 - 0
app/src/main/res/layout/fragment_whcheck_makematerial_new.xml

@@ -66,7 +66,15 @@
         </TableRow>
     </TableLayout>
 
+    <com.bin.david.form.core.SmartTable
+        android:id="@+id/st_smart_table"
+        android:layout_marginStart="10dp"
+        android:layout_marginEnd="10dp"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
     <LinearLayout
+        android:visibility="gone"
         style="@style/CardWhiteSytle_fillheight"
         android:background="@color/white">
         <include layout="@layout/item_list_table"/>

+ 3 - 0
app/src/main/res/values/strings.xml

@@ -429,4 +429,7 @@
         <item>重新采集</item>
         <item>未提交列表</item>
     </string-array>
+
+    <string name="batch_number">批次号</string>
+
 </resources>

+ 3 - 1
app/src/main/res/xml/file_paths.xml

@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <paths xmlns:android="http://schemas.android.com/apk/res/android">
-    <external-path path="Android/data/com.uas.pda_smart_com/"        name="files_root" />
+    <external-path
+        path="Android/data/com.uas.pda_smart_com/"
+        name="files_root" />
     <external-path path="." name="external_storage_root" />
 </paths>

+ 2 - 2
build.gradle

@@ -54,8 +54,8 @@ ext {
             targetSdkVersion : 28,
             compileSdkVersion: 28,
             buildToolsVersion: "28.0.3",
-            versionCode      : 32,
-            versionName      : "v2.3.0"
+            versionCode      : 35,
+            versionName      : "v2.3.3"
     ]
 
     depsVersion = [