瀏覽代碼

出入库添加筛选条件(单据类型)

RaoMeng 6 年之前
父節點
當前提交
2cabb6b3b8

+ 113 - 11
app/src/main/java/com/uas/pda_wms/fragment/JltStorageInFilterFragment.java

@@ -51,14 +51,14 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
     private static final int REQUEST_START_DATE = 21;
     private static final int REQUEST_END_DATE = 22;
 
-    private ClearableEditText mSupplierEditText, mWhcodeEditText, mSupplierSearchEt, mWhcodeSearchEt;
+    private ClearableEditText mSupplierEditText, mWhcodeEditText, mClassEditText, mSupplierSearchEt, mWhcodeSearchEt, mClassSearchEt;
     private TextView mSupplierTextView, mStartdatTextView, mEnddateTextView;
-    private ImageView mSupplierIv, mWhcodeIv, mStartIv, mEndIv;
+    private ImageView mSupplierIv, mWhcodeIv, mStartIv, mEndIv, mClassIv;
     private Button mConfirmButton;
-    private Dialog mWhcodeDialog, mSupplierDialog;
-    private RecyclerView mWhcodeRecyclerView, mSupplierRecyclerView;
-    private List<WhcodeBean> mWhcodeList, mSupplierList, mAllWhcodeList, mAllSupplierList;
-    private JLTSearchWhcodeAdapter mSearchWhcodeAdapter, mSearchSupplierAdapter;
+    private Dialog mWhcodeDialog, mSupplierDialog, mClassDialog;
+    private RecyclerView mWhcodeRecyclerView, mSupplierRecyclerView, mClassRecyclerView;
+    private List<WhcodeBean> mWhcodeList, mSupplierList, mClassList, mAllWhcodeList, mAllSupplierList, mAllClassList;
+    private JLTSearchWhcodeAdapter mSearchWhcodeAdapter, mSearchSupplierAdapter, mSearchClassAdapter;
     private long mStartDate, mEndDate;
     private OnFilterConfirmListener mOnFilterConfirmListener;
     private String mWhichPage = "IN";
@@ -92,6 +92,8 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
         mSupplierEditText = root.findViewById(R.id.pda_wms_in_filter_supplier_et);
         mSupplierTextView = root.findViewById(R.id.pda_wms_in_filter_supplier_tv);
         mWhcodeEditText = root.findViewById(R.id.pda_wms_in_filter_whcode_et);
+        mClassEditText = root.findViewById(R.id.pda_wms_in_filter_class_et);
+        mClassIv = root.findViewById(R.id.pda_wms_in_filter_class_iv);
         mStartdatTextView = root.findViewById(R.id.pda_wms_in_filter_startdate_et);
         mEnddateTextView = root.findViewById(R.id.pda_wms_in_filter_enddate_et);
         mSupplierIv = root.findViewById(R.id.pda_wms_in_filter_supplier_iv);
@@ -99,15 +101,17 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
         mStartIv = root.findViewById(R.id.pda_wms_in_filter_startdate_iv);
         mEndIv = root.findViewById(R.id.pda_wms_in_filter_enddate_iv);
         mConfirmButton = root.findViewById(R.id.pda_wms_in_filter_confirm_btn);
-        mSupplierEditText.postDelayed(new Runnable() {
+        mClassEditText.postDelayed(new Runnable() {
             @Override
             public void run() {
-                mSupplierEditText.requestFocus();
+                mClassEditText.requestFocus();
             }
         }, 100);
 
         mAllSupplierList = new ArrayList<>();
         mAllWhcodeList = new ArrayList<>();
+        mAllClassList = new ArrayList<>();
+
         View whcodeView = View.inflate(mActivity, R.layout.dialog_jlt_search_whcode, null);
         mWhcodeSearchEt = whcodeView.findViewById(R.id.common_search_et);
         mWhcodeRecyclerView = whcodeView.findViewById(R.id.item_jlt_search_whcode_rv);
@@ -127,12 +131,23 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
         mSearchSupplierAdapter = new JLTSearchWhcodeAdapter(mSupplierList);
         mSupplierRecyclerView.setAdapter(mSearchSupplierAdapter);
         mSupplierDialog = new AlertDialog.Builder(mActivity).setView(supplierView).create();
+
+        View classView = View.inflate(mActivity, R.layout.dialog_jlt_search_whcode, null);
+        mClassSearchEt = classView.findViewById(R.id.common_search_et);
+        mClassRecyclerView = classView.findViewById(R.id.item_jlt_search_whcode_rv);
+        mClassRecyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
+        mClassRecyclerView.addItemDecoration(new RecyclerItemDecoration(1));
+        mClassList = new ArrayList<>();
+        mSearchClassAdapter = new JLTSearchWhcodeAdapter(mClassList);
+        mClassRecyclerView.setAdapter(mSearchClassAdapter);
+        mClassDialog = new AlertDialog.Builder(mActivity).setView(classView).create();
     }
 
     @Override
     protected void initEvents() {
         mSupplierIv.setOnClickListener(this);
         mWhcodeIv.setOnClickListener(this);
+        mClassIv.setOnClickListener(this);
         mStartdatTextView.setOnClickListener(this);
         mStartIv.setOnClickListener(this);
         mEnddateTextView.setOnClickListener(this);
@@ -155,6 +170,14 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
             }
         });
 
+        mSearchClassAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                mClassEditText.setText(mClassList.get(position).getWhCode());
+                mClassDialog.dismiss();
+            }
+        });
+
         mSupplierSearchEt.addTextChangedListener(new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -198,6 +221,28 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
                 mSearchWhcodeAdapter.notifyDataSetChanged();
             }
         });
+
+        mClassSearchEt.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                String text = s.toString().trim();
+                List<WhcodeBean> filterList = getWhcodeBeans(text, mAllClassList);
+
+                mClassList.clear();
+                mClassList.addAll(filterList);
+                mSearchClassAdapter.notifyDataSetChanged();
+            }
+        });
     }
 
     private List<WhcodeBean> getWhcodeBeans(String text, List<WhcodeBean> whcodeList) {
@@ -236,6 +281,7 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
 
         mStartDate = SharedPreUtil.getLong(mActivity, Constants.FLAG.STORAGE_IN_FILTER_STARTTIME, 0);
         mEndDate = SharedPreUtil.getLong(mActivity, Constants.FLAG.STORAGE_IN_FILTER_ENDTIME, 0);
+        mClassEditText.setText(SharedPreUtil.getString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_CLASS, ""));
         mSupplierEditText.setText(SharedPreUtil.getString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_SUPPLIAR, ""));
         mWhcodeEditText.setText(SharedPreUtil.getString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_BOX, ""));
         mStartdatTextView.setText(SharedPreUtil.getString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_STARTDATE, ""));
@@ -255,10 +301,14 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
                 break;
             }
             case R.id.pda_wms_in_filter_whcode_iv: {
-                mWhcodeEditText.setText("");
+                mWhcodeSearchEt.setText("");
                 searchWhcode();
                 break;
             }
+            case R.id.pda_wms_in_filter_class_iv:
+                mClassSearchEt.setText("");
+                searchClass();
+                break;
             case R.id.pda_wms_in_filter_startdate_iv:
             case R.id.pda_wms_in_filter_startdate_et: {
                 dateSelect(REQUEST_START_DATE);
@@ -273,11 +323,13 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
                     CommonUtil.toastNoRepeat(mActivity, "开始日期不能大于结束日期");
                     return;
                 }
+                String mclass = mClassEditText.getText().toString().trim();
                 String supplier = mSupplierEditText.getText().toString().trim();
                 String whcode = mWhcodeEditText.getText().toString().trim();
                 String startDate = mStartdatTextView.getText().toString().trim();
                 String endDate = mEnddateTextView.getText().toString().trim();
 
+                SharedPreUtil.saveString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_CLASS, mclass);
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_BOX, whcode);
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_SUPPLIAR, supplier);
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.STORAGE_IN_FILTER_STARTDATE, startDate);
@@ -286,7 +338,7 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
                 SharedPreUtil.saveLong(mActivity, Constants.FLAG.STORAGE_IN_FILTER_ENDTIME, mEndDate);
 
                 if (mOnFilterConfirmListener != null) {
-                    mOnFilterConfirmListener.onFilterConfirm(supplier, whcode, startDate, endDate);
+                    mOnFilterConfirmListener.onFilterConfirm(mclass, supplier, whcode, startDate, endDate);
                     getActivity().getSupportFragmentManager().popBackStack();
                 }
                 break;
@@ -408,6 +460,56 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
         });
     }
 
+    private void searchClass() {
+        progressDialog.show();
+
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_JLT_RECEIVING_GETPICLASSCOMBO)
+                .method(Request.Method.GET)
+                .tag(TAG + "classsearch")
+                .addParam("type", mWhichPage)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                try {
+                    mClassList.clear();
+                    mAllClassList.clear();
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray dataArray = resultObject.getJSONArray("data");
+                    if (dataArray != null && dataArray.size() > 0) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                WhcodeBean whcodeBean = new WhcodeBean();
+                                whcodeBean.setWhCode(FastjsonUtil.getText(dataObject, "DISPLAYNAME"));
+//                                whcodeBean.setWhDes(FastjsonUtil.getText(dataObject, "REALVALUE"));
+
+                                mClassList.add(whcodeBean);
+                                mAllClassList.add(whcodeBean);
+                            }
+                        }
+                    }
+                    mSearchClassAdapter.notifyDataSetChanged();
+                    if (mClassList.size() == 0) {
+                        CommonUtil.toastNoRepeat(mActivity, "单据类型为空");
+                    } else {
+                        mClassDialog.show();
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
+    }
+
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (resultCode != Activity.RESULT_OK) {
@@ -458,7 +560,7 @@ public class JltStorageInFilterFragment extends BaseFragment implements View.OnC
     }
 
     public interface OnFilterConfirmListener {
-        void onFilterConfirm(String supplier, String whcode, String startDate, String endDate);
+        void onFilterConfirm(String mclass, String supplier, String whcode, String startDate, String endDate);
     }
 
     private class filterTextWatcher implements TextWatcher {

+ 5 - 2
app/src/main/java/com/uas/pda_wms/fragment/JltStorageInFilterListFragment.java

@@ -59,7 +59,7 @@ public class JltStorageInFilterListFragment extends BaseFragment implements JLTS
 
     private List<JLTStorageInBean> mStorageInBeans, mFilterStorageInBeans;
     private boolean mIgnoreChange = false;
-    private String mSupplier = "", mWhcode = "", mStartDate = "", mEndDate = "", mPriorityMode;
+    private String mClass = "", mSupplier = "", mWhcode = "", mStartDate = "", mEndDate = "", mPriorityMode;
     private SmartTable mSmartTable;
     private Column<Boolean> mCheckColumn;
     private Column<Long> mPosColumn;
@@ -271,6 +271,7 @@ public class JltStorageInFilterListFragment extends BaseFragment implements JLTS
     protected void initDatas() {
         Bundle bundle = getArguments();
         if (bundle != null) {
+            mClass = bundle.getString("class", "");
             mSupplier = bundle.getString("supplier", "");
             mWhcode = bundle.getString("whcode", "");
             mStartDate = bundle.getString("startDate", "");
@@ -430,6 +431,7 @@ public class JltStorageInFilterListFragment extends BaseFragment implements JLTS
                 .addParam("pi_whcode", mWhcode)
                 .addParam("pi_startdate", mStartDate)
                 .addParam("pi_enddate", mEndDate)
+                .addParam("pi_class", mClass)
                 .addParam("type", "IN")
                 .build(), new HttpCallback() {
             @Override
@@ -665,7 +667,8 @@ public class JltStorageInFilterListFragment extends BaseFragment implements JLTS
     }
 
     @Override
-    public void onFilterConfirm(String supplier, String whcode, String startDate, String endDate) {
+    public void onFilterConfirm(String mclass, String supplier, String whcode, String startDate, String endDate) {
+        mClass = mclass;
         mSupplier = supplier;
         mWhcode = whcode;
         mStartDate = startDate;

+ 6 - 3
app/src/main/java/com/uas/pda_wms/fragment/StorageOutListFragment.java

@@ -43,7 +43,7 @@ public class StorageOutListFragment extends BaseFragment implements JltStorageIn
     private ClearableEditText mSearchCet;
     private ImageView mFilterImageView;
     private List<JLTStorageInBean> mStorageInBeans, mFilterStorageInBeans;
-    private String mSupplier = "", mWhcode = "", mStartDate = "", mEndDate = "", mPriorityMode;
+    private String mClass = "", mSupplier = "", mWhcode = "", mStartDate = "", mEndDate = "", mPriorityMode;
     private boolean mIsInventory;
     private SmartTable mSmartTable;
     private Column<String> mNumColumn, mClassColumn, mPdaStatusColumn, mWhcodeColumn,
@@ -169,6 +169,7 @@ public class StorageOutListFragment extends BaseFragment implements JltStorageIn
     protected void initDatas() {
         Bundle bundle = getArguments();
         if (bundle != null) {
+            mClass = bundle.getString("class", "");
             mSupplier = bundle.getString("supplier", "");
             mWhcode = bundle.getString("whcode", "");
             mStartDate = bundle.getString("startDate", "");
@@ -179,7 +180,8 @@ public class StorageOutListFragment extends BaseFragment implements JltStorageIn
     }
 
     @Override
-    public void onFilterConfirm(String supplier, String whcode, String startDate, String endDate) {
+    public void onFilterConfirm(String mclass, String supplier, String whcode, String startDate, String endDate) {
+        mClass = mclass;
         mSupplier = supplier;
         mWhcode = whcode;
         mStartDate = startDate;
@@ -215,6 +217,7 @@ public class StorageOutListFragment extends BaseFragment implements JltStorageIn
                 .addParam("pi_whcode", mWhcode)
                 .addParam("pi_startdate", mStartDate)
                 .addParam("pi_enddate", mEndDate)
+                .addParam("pi_class", mClass)
                 .addParam("type", "OUT")
                 .build(), new HttpCallback() {
             @Override
@@ -304,7 +307,7 @@ public class StorageOutListFragment extends BaseFragment implements JltStorageIn
 
     private void setFilterTableData(List<JLTStorageInBean> filterTableData) {
         mTableData = new TableData<JLTStorageInBean>("出库单列表", filterTableData,
-                mNumColumn, mClassColumn,mPdaStatusColumn, mSupplierColumn, mWhcodeDesColumn);
+                mNumColumn, mClassColumn, mPdaStatusColumn, mSupplierColumn, mWhcodeDesColumn);
         mSmartTable.setTableData(mTableData);
         mSmartTable.postDelayed(new Runnable() {
             @Override

+ 4 - 0
app/src/main/java/com/uas/pda_wms/global/GloableParams.java

@@ -251,6 +251,7 @@ public class GloableParams {
     public static String ADDRESS_BARSTOCK_SUMSTOCKDETAIL;
     public static String ADDRESS_BARSTOCK_DELETESTOCKDETAIL;
     public static String ADDRESS_BARSTOCK_SAVEBARCODESTOCK;
+    public static String ADDRESS_JLT_RECEIVING_GETPICLASSCOMBO;
 
     /**
      * WMS标准版
@@ -267,6 +268,8 @@ public class GloableParams {
     private static final String ADDRESSTAIL_JLT_RECEIVING_GETINDATALIST = "/api/pda/common/getInOutDataList.action";
     //删除入库单
     private static final String ADDRESSTAIL_BARIN_DELETEINOUTANDDETAIL = "/api/pda/barIn/deleteInoutAndDetail.action";
+    //获取单据类型列表
+    private static final String ADDRESSTAIL_JLT_RECEIVING_GETPICLASSCOMBO = "/api/pda/common/getPiclasscombo.action";
     //获取供应商列表
     private static final String ADDRESSTAIL_JLT_RECEIVING_VENDORSEARCH = "/api/pda/common/VCSearch.action";
     //获取仓库列表
@@ -1091,5 +1094,6 @@ public class GloableParams {
         GloableParams.ADDRESS_BARSTOCK_SUMSTOCKDETAIL = uriHead + GloableParams.ADDRESSTAIL_BARSTOCK_SUMSTOCKDETAIL;
         GloableParams.ADDRESS_BARSTOCK_DELETESTOCKDETAIL = uriHead + GloableParams.ADDRESSTAIL_BARSTOCK_DELETESTOCKDETAIL;
         GloableParams.ADDRESS_BARSTOCK_SAVEBARCODESTOCK = uriHead + GloableParams.ADDRESSTAIL_BARSTOCK_SAVEBARCODESTOCK;
+        GloableParams.ADDRESS_JLT_RECEIVING_GETPICLASSCOMBO = uriHead + GloableParams.ADDRESSTAIL_JLT_RECEIVING_GETPICLASSCOMBO;
     }
 }

+ 2 - 0
app/src/main/java/com/uas/pda_wms/util/Constants.java

@@ -128,6 +128,8 @@ public interface Constants {
         String JLT_UPPER_SHELF_BOX = "jlt_upper_shelf_box";
         //入库筛选-仓库缓存
         String STORAGE_IN_FILTER_BOX = "storage_in_filter_box";
+        //入库筛选-单据类型缓存
+        String STORAGE_IN_FILTER_CLASS = "storage_in_filter_class";
         //入库筛选-供应商缓存
         String STORAGE_IN_FILTER_SUPPLIAR = "storage_in_filter_suppliar";
         //入库筛选-开始日期缓存

+ 25 - 0
app/src/main/res/layout/fragment_pda_wms_in_filter.xml

@@ -12,6 +12,31 @@
         android:gravity="center_vertical"
         android:orientation="horizontal">
 
+        <TextView
+            style="@style/inputItemCaption"
+            android:text="单据类型" />
+
+        <com.uas.pda_wms.view.ClearableEditText
+            android:id="@+id/pda_wms_in_filter_class_et"
+            style="@style/inputItemValue"
+            android:hint="请输入单据类型" />
+
+        <ImageView
+            android:id="@+id/pda_wms_in_filter_class_iv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:background="@color/white"
+            android:padding="10dp"
+            android:src="@drawable/icon_search" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
         <TextView
             android:id="@+id/pda_wms_in_filter_supplier_tv"
             style="@style/inputItemCaption"