|
|
@@ -14,7 +14,6 @@ import android.text.TextUtils;
|
|
|
import android.text.TextWatcher;
|
|
|
import android.text.format.DateFormat;
|
|
|
import android.util.Log;
|
|
|
-import android.view.DisplayCutout;
|
|
|
import android.view.KeyEvent;
|
|
|
import android.view.View;
|
|
|
import android.view.inputmethod.EditorInfo;
|
|
|
@@ -33,9 +32,11 @@ import com.android.volley.Request;
|
|
|
import com.android.volley.Response;
|
|
|
import com.android.volley.VolleyError;
|
|
|
import com.android.volley.toolbox.StringRequest;
|
|
|
+import com.google.gson.Gson;
|
|
|
import com.uas.pda_smart_com.R;
|
|
|
import com.uas.pda_smart_com.activity.FunctionActivity;
|
|
|
import com.uas.pda_smart_com.application.PdaApplication;
|
|
|
+import com.uas.pda_smart_com.bean.DataBean;
|
|
|
import com.uas.pda_smart_com.global.GloableParams;
|
|
|
import com.uas.pda_smart_com.tools.SharedPreUtil;
|
|
|
import com.uas.pda_smart_com.tools.VolleyUtil;
|
|
|
@@ -46,6 +47,7 @@ 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.NullUtil;
|
|
|
import com.uas.pda_smart_com.util.VolleyRequest;
|
|
|
import com.uas.pda_smart_com.view.ClearableEditText;
|
|
|
import com.uuzuche.lib_zxing.activity.CaptureActivity;
|
|
|
@@ -94,8 +96,11 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
private static final int REQUEST_DATE = 0;
|
|
|
private String mSignTosast = "false";
|
|
|
private String mCheckProdcode;
|
|
|
+ private String mBarCode;
|
|
|
private int mFocusId;
|
|
|
private boolean mIgnoreFocusChange = false;
|
|
|
+ JSONObject jsonObject1;
|
|
|
+ ;
|
|
|
|
|
|
@Override
|
|
|
protected int getLayout() {
|
|
|
@@ -118,21 +123,17 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
mInoutno = bundle.getString("pi_inoutno");
|
|
|
mWhcode = bundle.getString("pd_whcode") == null ? "" : bundle.getString("pd_whcode");
|
|
|
mPiid = bundle.getString("pi_id");
|
|
|
-
|
|
|
mIqcJson = bundle.getString(Constants.FLAG.FLAG_IQC_IN_JSON);
|
|
|
if (!TextUtils.isEmpty(mIqcJson) && FastjsonUtil.validate(mIqcJson)) {
|
|
|
try {
|
|
|
com.alibaba.fastjson.JSONObject iqcObject = JSON.parseObject(mIqcJson);
|
|
|
-
|
|
|
mInoutno = FastjsonUtil.getText(iqcObject, "PI_INOUTNO");
|
|
|
mWhcode = FastjsonUtil.getText(iqcObject, "PD_WHCODE");
|
|
|
mPiid = FastjsonUtil.getText(iqcObject, "PI_ID");
|
|
|
} catch (Exception e) {
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
mInoutnoTextView = (TextView) root.findViewById(R.id.material_in_collect_inoutno_tv);
|
|
|
mWhcodeTextView = (TextView) root.findViewById(R.id.material_in_collect_whcode_tv);
|
|
|
mTypeTextView = (TextView) root.findViewById(R.id.material_in_collect_type_tv);
|
|
|
@@ -465,101 +466,136 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
}, 100);
|
|
|
return;
|
|
|
}
|
|
|
- if (!barcode.matches(Constants.REGEX.NO_CN_SYMBOL)) {
|
|
|
- if (mCollectType.equals("barcode")) {
|
|
|
- CommonUtil.toastNoRepeat(mActivity, getString(R.string.barcode_cannot_contain_special));
|
|
|
- } else if (mCollectType.equals("package")) {
|
|
|
- CommonUtil.toastNoRepeat(mActivity, getString(R.string.box_number_cannot_contain_special));
|
|
|
- }
|
|
|
- new Handler().postDelayed(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- mBarcodeEditText.setEnabled(true);
|
|
|
- mBarcodeEditText.setText(null);
|
|
|
- mBarcodeEditText.requestFocus();
|
|
|
- }
|
|
|
- }, 100);
|
|
|
- } else {
|
|
|
- mIgnoreFocusChange = true;
|
|
|
- String url = null;
|
|
|
- try {
|
|
|
+ mIgnoreFocusChange = true;
|
|
|
+ String url = null;
|
|
|
+ DataBean dataBean=new DataBean();
|
|
|
+ if(!TextUtils.isEmpty(mBarCode)){
|
|
|
+ dataBean.setBARCODE(mBarCode);
|
|
|
+ }else{
|
|
|
+ dataBean.setBARCODE(mBarcodeEditText.getText().toString());
|
|
|
+ }
|
|
|
+ dataBean.setPRODCODE(mNumEditText.getText().toString());
|
|
|
+ dataBean.setLOTNO(mLotNoEditText.getText().toString());
|
|
|
+ dataBean.setDATECODE(mDateCodeEditText.getText().toString());
|
|
|
+ dataBean.setLC(mLocationEditText.getText().toString());
|
|
|
+ dataBean.setDC(mDcEditText.getText().toString());
|
|
|
+ String datasJson=new Gson().toJson(dataBean);
|
|
|
+ try {
|
|
|
+ url = GloableParams.ADDRESS_INMATERIAL_GETCODEDATA + "?type=barcode&pi_id=" + mPiid
|
|
|
+ + "&whcode=" + URLEncoder.encode(mWhcode, "utf-8")
|
|
|
+ + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8");
|
|
|
+ if ("barcode".equals(mCollectType)) {
|
|
|
url = GloableParams.ADDRESS_INMATERIAL_GETCODEDATA + "?type=barcode&pi_id=" + mPiid
|
|
|
+ "&whcode=" + URLEncoder.encode(mWhcode, "utf-8")
|
|
|
- + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8");
|
|
|
-
|
|
|
- if ("barocde".equals(mCollectType)) {
|
|
|
- url = GloableParams.ADDRESS_INMATERIAL_GETCODEDATA + "?type=barcode&pi_id=" + mPiid
|
|
|
- + "&whcode=" + URLEncoder.encode(mWhcode, "utf-8")
|
|
|
- + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8");
|
|
|
- } else if ("package".equals(mCollectType)) {
|
|
|
- url = GloableParams.ADDRESS_INMATERIAL_GETCODEDATA + "?type=package&pi_id=" + mPiid
|
|
|
- + "&whcode=" + URLEncoder.encode(mWhcode, "utf-8")
|
|
|
- + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8");
|
|
|
- }
|
|
|
- } catch (UnsupportedEncodingException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8")
|
|
|
+ +"&datas="+URLEncoder.encode(datasJson, "utf-8");
|
|
|
+ } else if ("package".equals(mCollectType)) {
|
|
|
+ url = GloableParams.ADDRESS_INMATERIAL_GETCODEDATA + "?type=package&pi_id=" + mPiid
|
|
|
+ + "&whcode=" + URLEncoder.encode(mWhcode, "utf-8")
|
|
|
+ + "&code=" + URLEncoder.encode(mBarcodeEditText.getText().toString().trim(), "utf-8")
|
|
|
+ +"&datas="+URLEncoder.encode(datasJson, "utf-8");
|
|
|
}
|
|
|
- mResultTextView.setText(null);
|
|
|
- PdaApplication.mRequestQueue.cancelAll(TAG + "codedata");
|
|
|
-
|
|
|
- mStringRequest = new StringRequest(Request.Method.GET, url,
|
|
|
- new Response.Listener<String>() {
|
|
|
- @Override
|
|
|
- public void onResponse(String s) {
|
|
|
- Log.d("materialin", s);
|
|
|
- mBarcodeEditText.setEnabled(true);
|
|
|
-
|
|
|
- mResultTextView.setVisibility(View.GONE);
|
|
|
- try {
|
|
|
- JSONObject jsonObject = new JSONObject(s).getJSONObject("data");
|
|
|
- if (jsonObject != null) {
|
|
|
- mCheckProdcode = jsonObject.getString("PR_CODE");
|
|
|
- }
|
|
|
-
|
|
|
- if (isAllEdit()) {
|
|
|
- confirmEvent();
|
|
|
- } else {
|
|
|
- if (mNumCheck) {
|
|
|
- mNumEditText.requestFocus();
|
|
|
- } else if (mLotnoCheck) {
|
|
|
- mLotNoEditText.requestFocus();
|
|
|
- } else if (mDateCodeCheck) {
|
|
|
- mDateCodeEditText.requestFocus();
|
|
|
- } else if (mOldCheck) {
|
|
|
- mOldEditText.requestFocus();
|
|
|
- } else if (mLocationCheck) {
|
|
|
- mLocationEditText.requestFocus();
|
|
|
- } else if (mDcCheck) {
|
|
|
- mDcEditText.requestFocus();
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ mResultTextView.setText(null);
|
|
|
+ PdaApplication.mRequestQueue.cancelAll(TAG + "codedata");
|
|
|
+ mStringRequest = new StringRequest(Request.Method.GET, url,
|
|
|
+ new Response.Listener<String>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(String s) {
|
|
|
+ Log.d("materialin", s);
|
|
|
+ mBarcodeEditText.setEnabled(true);
|
|
|
+ mResultTextView.setVisibility(View.GONE);
|
|
|
+ try {
|
|
|
+ JSONObject jsonObject = new JSONObject(s).getJSONObject("data");
|
|
|
+ if (jsonObject != null) {
|
|
|
+ mCheckProdcode = jsonObject.getString("PR_CODE");//料号
|
|
|
+ mBarCode = jsonObject.getString("BI_BARCODE");//料号
|
|
|
+ jsonObject1 =jsonObject.getJSONObject("DATAS");
|
|
|
+ if(jsonObject1!=null){
|
|
|
+ //mBarcodeEditText.setText(jsonObject1.getString("BARCODE"));//条码号
|
|
|
+ if(!NullUtil.isNull(jsonObject1.optString("PRODCODE",""))){
|
|
|
+ mNumEditText.setText(jsonObject1.optString("PRODCODE",""));//料号
|
|
|
+ }
|
|
|
+ if(!NullUtil.isNull(jsonObject1.optString("LOTNO",""))){
|
|
|
+ mLotNoEditText.setText(jsonObject1.optString("LOTNO",""));//LotNo号
|
|
|
+ }
|
|
|
+ if(!NullUtil.isNull(jsonObject1.optString("DATECODE",""))){
|
|
|
+ mDateCodeEditText.setText(jsonObject1.optString("DATECODE",""));//日期
|
|
|
+ }
|
|
|
+ if(!NullUtil.isNull(jsonObject1.optString("LC",""))){
|
|
|
+ mLocationEditText.setText(jsonObject1.optString("LC",""));//仓位
|
|
|
+ }
|
|
|
+ if(!NullUtil.isNull(jsonObject1.optString("DC",""))){
|
|
|
+ mDcEditText.setText(jsonObject1.optString("DC",""));//DC值的大小
|
|
|
}
|
|
|
}
|
|
|
- } catch (JSONException e) {
|
|
|
- e.printStackTrace();
|
|
|
}
|
|
|
- mIgnoreFocusChange = false;
|
|
|
- }
|
|
|
- },
|
|
|
- new Response.ErrorListener() {
|
|
|
- @Override
|
|
|
- public void onErrorResponse(VolleyError volleyError) {
|
|
|
- String errorToast = CommonUtil.showErrorToast(volleyError, true);
|
|
|
- mResultTextView.setVisibility(View.VISIBLE);
|
|
|
- mResultTextView.setText(errorToast);
|
|
|
- mBarcodeEditText.setEnabled(true);
|
|
|
- mBarcodeEditText.setText(null);
|
|
|
mBarcodeEditText.requestFocus();
|
|
|
- mIgnoreFocusChange = false;
|
|
|
+ mBarcodeEditText.setSelection(mBarcodeEditText.getText().toString().length());
|
|
|
+// if (isAllEdit()) {
|
|
|
+// confirmEvent();
|
|
|
+// } else {
|
|
|
+// if (mNumCheck) {
|
|
|
+// mNumEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mNumEditText.getText().toString())){
|
|
|
+// mNumEditText.setSelection(mNumEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+//
|
|
|
+// } else if (mLotnoCheck) {
|
|
|
+// mLotNoEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mLotNoEditText.getText().toString())){
|
|
|
+// mLotNoEditText.setSelection(mLotNoEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+// } else if (mDateCodeCheck) {
|
|
|
+// mDateCodeEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mDateCodeEditText.getText().toString())){
|
|
|
+// mDateCodeEditText.setSelection(mDateCodeEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+// } else if (mOldCheck) {
|
|
|
+// mOldEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mOldEditText.getText().toString())){
|
|
|
+// mOldEditText.setSelection(mOldEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+// } else if (mLocationCheck) {
|
|
|
+// mLocationEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mLocationEditText.getText().toString())){
|
|
|
+// mLocationEditText.setSelection(mLocationEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+// } else if (mDcCheck) {
|
|
|
+// mDcEditText.requestFocus();
|
|
|
+// if(!TextUtils.isEmpty(mDcEditText.getText().toString())){
|
|
|
+// mDcEditText.setSelection(mDcEditText.getText().toString().length());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+ } catch (JSONException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- }) {
|
|
|
- @Override
|
|
|
- public Map<String, String> getHeaders() throws AuthFailureError {
|
|
|
- return VolleyUtil.getVolleyUtil().setCookies();
|
|
|
- }
|
|
|
- };
|
|
|
- mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
|
|
|
- mStringRequest.setTag(TAG + "codedata");
|
|
|
- PdaApplication.mRequestQueue.add(mStringRequest);
|
|
|
- }
|
|
|
+ mIgnoreFocusChange = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ new Response.ErrorListener() {
|
|
|
+ @Override
|
|
|
+ public void onErrorResponse(VolleyError volleyError) {
|
|
|
+ String errorToast = CommonUtil.showErrorToast(volleyError, true);
|
|
|
+ mResultTextView.setVisibility(View.VISIBLE);
|
|
|
+ mResultTextView.setText(errorToast);
|
|
|
+ mBarcodeEditText.setEnabled(true);
|
|
|
+ mBarcodeEditText.setText(null);
|
|
|
+ mBarcodeEditText.requestFocus();
|
|
|
+ mIgnoreFocusChange = false;
|
|
|
+ }
|
|
|
+ }) {
|
|
|
+ @Override
|
|
|
+ public Map<String, String> getHeaders() throws AuthFailureError {
|
|
|
+ return VolleyUtil.getVolleyUtil().setCookies();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
|
|
|
+ mStringRequest.setTag(TAG + "codedata");
|
|
|
+ PdaApplication.mRequestQueue.add(mStringRequest);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -798,17 +834,7 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
CommonUtil.toastNoRepeat(mActivity, getString(R.string.please_input_storage_location));
|
|
|
} else if (mDcCheck && TextUtils.isEmpty(dc)) {
|
|
|
CommonUtil.toastNoRepeat(mActivity, getString(R.string.please_input_storage_dc));
|
|
|
- } else if (!barcode.matches(Constants.REGEX.NO_CN_SYMBOL) || (mOldCheck && !old.matches(Constants.REGEX.NO_CN_SYMBOL))) {
|
|
|
- if (mCollectType.equals("barcode"))
|
|
|
- CommonUtil.toastNoRepeat(mActivity, getResources().getString(R.string.barcode_cannot_contain_special));
|
|
|
- else if (mCollectType.equals("package")) {
|
|
|
- CommonUtil.toastNoRepeat(mActivity, getResources().getString(R.string.box_number_cannot_contain_special));
|
|
|
- }
|
|
|
- }
|
|
|
-// else if (mDateCodeCheck && !datecode.matches(Constants.REGEX.IS_DATE) && !datecode.matches(Constants.REGEX.IS_DATE2)) {
|
|
|
-// CommonUtil.toastNoRepeat(mActivity, getString(R.string.date_format_error));
|
|
|
-// }
|
|
|
- else if (mNumCheck && !TextUtils.isEmpty(mNumEditText.getText().toString().trim()) && !num.equals(mCheckProdcode)) {
|
|
|
+ } else if (mNumCheck && !TextUtils.isEmpty(mNumEditText.getText().toString().trim()) && !num.equals(mCheckProdcode)) {
|
|
|
CommonUtil.toastNoRepeat(mActivity, "料号校验不一致");
|
|
|
mNumEditText.setText(null);
|
|
|
mNumEditText.postDelayed(new Runnable() {
|
|
|
@@ -822,16 +848,15 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
mResultTextView.setText(null);
|
|
|
PdaApplication.mRequestQueue.cancelAll(TAG + "submit");
|
|
|
final JSONObject paramsJson = new JSONObject();
|
|
|
-
|
|
|
try {
|
|
|
paramsJson.put("bi_piid", mPiid);
|
|
|
paramsJson.put("bi_whcode", mWhcode);
|
|
|
paramsJson.put("type", mCollectType);
|
|
|
- if ("barcode".equals(mCollectType))
|
|
|
+ if ("barcode".equals(mCollectType)){
|
|
|
paramsJson.put("re_barcode", barcode);
|
|
|
- else if ("package".equals(mCollectType))
|
|
|
+ } else if ("package".equals(mCollectType)){
|
|
|
paramsJson.put("re_outboxcode", barcode);
|
|
|
-
|
|
|
+ }
|
|
|
if (mLotnoCheck) {
|
|
|
paramsJson.put("re_vendbarcode", lotno);
|
|
|
}
|
|
|
@@ -850,7 +875,9 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
if (mDcCheck) {
|
|
|
paramsJson.put("re_dc", dc);
|
|
|
}
|
|
|
-
|
|
|
+ if(jsonObject1!=null){
|
|
|
+ paramsJson.put("DATAS",jsonObject1);
|
|
|
+ }
|
|
|
} catch (JSONException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
@@ -917,7 +944,6 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
mTypeTextView.setText("条码");
|
|
|
SharedPreUtil.saveString(getActivity().getApplicationContext(), Constants.FLAG.MATERIAL_IN_COLLECT_TYPE, "barcode");
|
|
|
mCollectType = "barcode";
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void changeToTypeBox() {
|
|
|
@@ -962,6 +988,7 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
if (mFocusId == R.id.material_in_collect_barcode_et) {
|
|
|
mBarcodeEditText.setText(result);
|
|
|
mBarcodeEditText.setSelection(result.length());
|
|
|
+ getCodeData();
|
|
|
} else if (mFocusId == R.id.material_in_collect_num_et) {
|
|
|
mNumEditText.setText(result);
|
|
|
mNumEditText.setSelection(result.length());
|
|
|
@@ -981,7 +1008,6 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
mDcEditText.setText(result);
|
|
|
mDcEditText.setSelection(result.length());
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1005,25 +1031,24 @@ public class MaterialInCollectFragment extends BaseFragment implements View.OnCl
|
|
|
|
|
|
@Override
|
|
|
public void onFocusChange(View v, boolean hasFocus) {
|
|
|
- switch (v.getId()) {
|
|
|
- case R.id.material_in_collect_barcode_et:
|
|
|
- if (!hasFocus && !TextUtils.isEmpty(mBarcodeEditText.getText().toString().trim()) && isVisible() && !mIgnoreFocusChange)
|
|
|
- getCodeData();
|
|
|
- break;
|
|
|
- case R.id.material_in_collect_num_et:
|
|
|
- if (!hasFocus && mNumCheck && !TextUtils.isEmpty(mNumEditText.getText().toString().trim()) && !mNumEditText.getText().toString().trim().equals(mCheckProdcode)) {
|
|
|
- CommonUtil.toastNoRepeat(mActivity, "料号校验不一致");
|
|
|
- mNumEditText.setText(null);
|
|
|
- mNumEditText.postDelayed(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- mNumEditText.requestFocus();
|
|
|
- }
|
|
|
- }, 100);
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
+// switch (v.getId()) {
|
|
|
+// case R.id.material_in_collect_barcode_et:
|
|
|
+// if (!hasFocus && !TextUtils.isEmpty(mBarcodeEditText.getText().toString().trim()) && isVisible() && !mIgnoreFocusChange)
|
|
|
+// getCodeData();
|
|
|
+// break;
|
|
|
+// case R.id.material_in_collect_num_et:
|
|
|
+// if (!hasFocus && mNumCheck && !TextUtils.isEmpty(mNumEditText.getText().toString().trim()) && !mNumEditText.getText().toString().trim().equals(mCheckProdcode)) {
|
|
|
+// CommonUtil.toastNoRepeat(mActivity, "料号校验不一致");
|
|
|
+// mNumEditText.setText(null);
|
|
|
+// mNumEditText.postDelayed(new Runnable() {
|
|
|
+// @Override
|
|
|
+// public void run() {
|
|
|
+// mNumEditText.requestFocus();
|
|
|
+// }
|
|
|
+// }, 100);
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
@Override
|