@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (ScanOrdersActivity.RESULT_CODE_LOOK_ORDER == resultCode) {
      // 从订单查看列表页返回
      scanList = data.getStringArrayListExtra(ScanOrdersActivity.EXTRA_ORDER_LIST);
    } else if (OrderExecuteActivity.REQUEST_CODE_EXECUTE_ORDER == resultCode) {
      // 从订单执行提交页返回,清空扫描订单缓存
      scanList.clear();

    } else if (RESULT_CODE_ADD_REPORT == resultCode) {
      // 从异常报告提交页返回,清空扫描订单缓存
      scanList.clear();
    }
    mNewOrder = (ExecuteAction) UtilsJava.depthClone(mNewOrder);
    // 去除重复数据,更新界面提示信息
    Set<String> set = new HashSet<String>();
    set.addAll(scanList);
    mTextScanCount.setText(
        String.format(getString(R.string.barcode_total), PreferencesUtil.ordtitle, set.size()));
    if (scanList.size() == 0) {
      mTextOrderNum.setText("");
      mTextOrderNum.setBackgroundColor(Color.parseColor("#00000000"));
    }
    super.onActivityResult(requestCode, resultCode, data);
  }
  /** 初始化数据显示 */
  private void initDatas() {

    try {
      mOldUserBean =
          (UserModel) getIntent().getSerializableExtra(Constants.IntentData.INTENT_USER_BEAN);
      mNewUserBean = (UserModel) UtilsJava.depthClone(mOldUserBean);
    } catch (Exception e) {
      ErrLogUtils.uploadErrLog(this, ErrLogUtils.toString(e));
    }
  }
  // 二维码判断;
  private boolean QRcodeScan(String jsonQR) {
    // {"cmpid":"8888","itemid":"01",
    // "ordernos":[{"orderno":"1234567890123"},
    // {"orderno":"1234567890123"},
    // {"orderno":"1234567890123"},..]}

    try {
      JSONObject jsonObject = new JSONObject(jsonQR);
      String cmpid = jsonObject.getString("cmpid");
      String itemid = jsonObject.getString("itemid");
      JSONArray jsonOrdernos = jsonObject.getJSONArray("ordernos");
      if (scanList.size() + jsonOrdernos.length() > Constants.Value.SCAN_COUNT) {
        showShortToast(R.string.one_time_add_100);
      } else {
        for (int i = 0; i < jsonOrdernos.length(); i++) {
          JSONObject jsonOrder = (JSONObject) jsonOrdernos.get(i);
          String orderno = jsonOrder.getString("orderno").toUpperCase();
          if (!scanList.contains(orderno.toUpperCase())) {
            scanList.add(0, orderno.toUpperCase());
          }
        }
      }
      mTextScanCount.setText(
          String.format(
              getString(R.string.barcode_total), PreferencesUtil.ordtitle, scanList.size()));
      mTextOrderNum.setText(scanList.get(0));
      //            mTextOrderNum.setBackgroundResource(R.drawable.bg_line);
      mTextOrderNum.setBackgroundColor(Color.parseColor("#313131"));
      if (scanList.size() < Constants.Value.SCAN_COUNT) {
        // 延迟1秒,减少扫描的过分灵敏度
        handler.sendEmptyMessageDelayed(R.id.restart_preview, 1000);
      }

    } catch (Exception ex) {
      handler.sendEmptyMessageDelayed(R.id.restart_preview, 1000);
      String msg =
          String.format(
              getString(R.string.order_scan_error_msg),
              PreferencesUtil.ordtitle + "",
              PreferencesUtil.code_length + "");
      showShortToast(msg);
      ex.printStackTrace();
      String time = UtilsJava.translate2SessionMessageData(System.currentTimeMillis());
      String errorMsg = "Time=" + time + "\n" + jsonQR.toString() + "\n" + ErrLogUtils.toString(ex);
      ErrLogUtils.uploadErrLog(this, errorMsg);
      return false;
    }
    return true;
  }
 private void initBaseData() {
   // test is third party
   isThirdParty = false;
   mThirdOrderList = new ArrayList<String>();
   // init store data;
   if (TextUtils.isEmpty(PreferencesUtil.user_company)) {
     PreferencesUtil.initStoreData();
   }
   // get Order data , copy order data;
   mOrderModel =
       (ExecuteAction) getIntent().getExtras().getSerializable(Constants.Feild.KEY_ACTION);
   mNewOrder = (ExecuteAction) UtilsJava.depthClone(mOrderModel);
   // get Scan Model;
   String options = PreferencesUtil.getValue(Constants.Feild.KEY_OPTIONS);
   if (!TextUtils.isEmpty(options)) {
     try {
       JSONObject jsonObject = new JSONObject(options);
       if (!jsonObject.isNull("scanModel")) mScanModel = jsonObject.getString("scanModel");
     } catch (JSONException e) {
       e.printStackTrace();
     }
   }
 }