private int actualizarItemsPedidoDespachados() throws Exception {
    int cantidadAActualizar = 0;
    DetallePedidoDAO detallePedidoDAO = new DetallePedidoDAO(getApplicationContext());
    Object requestObject;
    String result;
    //        AlarmPedidoDespaSharedPref.save(mPrefAlarmDespachos, Funciones.getCurrentTimeStamp());
    long timeStamp =
        mPrefAlarmDespachos.getLong(
            AlarmPedidoDespaSharedPref.FECHA_ULTIMA_SINCRONIZACION,
            Funciones.addDays(-1).getTime());
    String fechaHora = String.valueOf(timeStamp);
    // fechaHora = URLEncoder.encode(fechaHora, "utf-8");
    Log.d(DBHelper.TAG, "LAST TIMESTAMP SAVED:" + fechaHora);

    String GET_URI =
        mUrlServer
            + "restaurante/ObtenerPedidosDespachados/?codMozo=%s&codCia=%s&fechaAux=%s&cadenaConexion=%s";
    String url = String.format(GET_URI, mCodMozo, mCodCia, fechaHora, mAmbiente);

    Log.d(DBHelper.TAG, url);
    if (Funciones.hasActiveInternetConnection(getApplicationContext())) {
      RestConnector restConnector = RestUtil.obtainGetConnection(url);
      requestObject = restConnector.doRequest(url);

      if (requestObject instanceof String) {
        // Only if the request was successful parse the returned value otherwise re-throw the
        // exception
        result = (String) requestObject;
        Gson gson = new Gson();

        JsonArray jsonArrayResponse = gson.fromJson(result, JsonArray.class);
        cantidadAActualizar = jsonArrayResponse.size();
        if (cantidadAActualizar > 0) {
          detallePedidoDAO.updateEstadoItemsPedido(jsonArrayResponse, 1, 2);
          Log.d(DBHelper.TAG, "NEW TIMESTAMP SAVED: " + Funciones.getCurrentTimeStamp());
          AlarmPedidoDespaSharedPref.save(mPrefAlarmDespachos, Funciones.getCurrentTimeStamp());
        }

      } else if (requestObject instanceof Exception) {
        Log.d(
            DBHelper.TAG,
            "Error al guardar data de sincronizacion: " + ((Exception) requestObject).getMessage());
        throw new Exception(((Exception) requestObject).getMessage());
      }
    }

    return cantidadAActualizar;
  }
  @Override
  protected void doWakefulWork(Intent intent) {

    // get SharedPreferences
    mPrefConfig =
        getApplicationContext()
            .getSharedPreferences(LoginActivity.PREF_CONFIG, Context.MODE_PRIVATE);
    mPrefLogin =
        getApplicationContext().getSharedPreferences(LoginSharedPref.NAME, Context.MODE_PRIVATE);
    mPrefConexion =
        getApplicationContext().getSharedPreferences(ConexionSharedPref.NAME, Context.MODE_PRIVATE);
    mPrefAlarmDespachos =
        getApplicationContext()
            .getSharedPreferences(AlarmPedidoDespaSharedPref.NAME, Context.MODE_PRIVATE);

    mAmbiente = mPrefConexion.getString(ConexionSharedPref.AMBIENTE, "");
    mCodCia = mPrefConfig.getString("CodCia", "");
    mCodMozo = mPrefConfig.getString("CodMozo", "");
    mUrlServer = RestUtil.obtainURLServer(getApplicationContext());
    int cantidadActualizar = 0;
    try {
      mAmbiente = URLEncoder.encode(mAmbiente, "utf-8");
      Log.d(
          DBHelper.TAG,
          "Llamada a  ObtenerPedidosDespachados: "
              + Funciones.getCurrentDate("yyyy/MM/dd hh:mm:ss"));
      cantidadActualizar = actualizarItemsPedidoDespachados();
    } catch (Exception e) {
      mensaje = e.getMessage();
      exito = false;
    }

    Intent event = new Intent(ConsultarPedidosRecogerService.ACTION_CHECK_READY_ORDERS);

    //        --update local data with data retrieved from cocina
    // TODO: Considerar una fecha 'fecha listo' para que esa fecha se establezca la unica vez que
    // debo actualizar
    // el estado a despachado de cocina para luego mostrar en la lista los que llegaron primero osea
    // ordernarlos x
    // fecha y hora DESC
    // sera necesario agregar fecha para esto y creo que tb para confirmarRecivido

    event.putExtra(PedidosARecogerActivity.EXTRA_CANTIDAD_ACTUALIZAR, cantidadActualizar);

    if (!LocalBroadcastManager.getInstance(this).sendBroadcast(event)) {
      if (cantidadActualizar > 0) {
        Log.d(getClass().getSimpleName(), "I only run when I have to show a notification!");
        NotificationCompat.Builder b = new NotificationCompat.Builder(this);
        Intent ui = new Intent(this, PedidosARecogerActivity.class);

        b.setAutoCancel(true)
            .setDefaults(Notification.DEFAULT_SOUND)
            .setContentTitle(getString(R.string.notif_title))
            .setContentText(String.valueOf(cantidadActualizar))
            .setContentText(Integer.toHexString(1))
            .setSmallIcon(android.R.drawable.stat_notify_more)
            .setTicker(getString(R.string.notif_title))
            .setContentIntent(PendingIntent.getActivity(this, 0, ui, 0));

        NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        mgr.notify(NOTIFY_ID, b.build());
      }
    }
  }