Esempio n. 1
0
  private void __alterDbf() throws ExcelReaderException {
    RowRecordIterator rowRecordIterator = excelReader.rowRecordIterator();
    int parsedRecords = 0;
    ValueEqualsRecordPredicate predicate =
        new ValueEqualsLenientRecordPredicateBuilder("CODIGOPROV", providerId).buildStandard();

    while (rowRecordIterator.hasNext()) {
      RowRecord rowRecord = (RowRecord) rowRecordIterator.next();

      try {
        if (rowRecord.isEmpty()) {
          continue;
        }

        Object o_articulo = rowRecord.get(ARTICULO_KEY);
        Object o_preciouni = rowRecord.get(PRECIOUNI_KEY);
        if (StringUtils.nullOrEmpty(o_articulo) || StringUtils.nullOrEmpty(o_preciouni)) {
          continue;
        }

        String s_articulo = o_articulo.toString();
        logger.info("Analizando registro xls " + (parsedRecords++) + " :: " + rowRecord.toString());

        predicate.put(ARTICULO_KEY, s_articulo);
        dbfWriter.setPredicate(predicate);

        //				Double d_preciouni = MoneyUtils.parsePriceAsDouble(o_preciouni);
        Double d_preciouni =
            MoneyUtils.parsePriceAsDouble(o_preciouni, configuration.getNumberLocale());
        dbfWriter.updateRecords(PRECIOUNI_KEY, d_preciouni, true);

      } catch (Exception e) {
        logger.error(
            "Error al leer/actualizar el registro "
                + rowRecord.toString()
                + "::excepcion::"
                + e.toString());
      }
    } // while (rowRecordIterator.hasNext())

    if (parsedRecords == 0) {
      logger.error("NO SE ENCONTRARON REGISTROS VALIDOS EN EL EXCEL. ");
      logger.error("VERIFIQUE FORMATO DEL ARCHIVO EXCEL Y TITULOS DE LAS COLUMNAS. ");
    }
  } // __alterDbf