/**
   * @param errors
   * @param request
   * @return
   * @throws Exception
   */
  public int validarNumOrden(ActionMessages errors, HttpServletRequest request) throws Exception {
    ActionErrors errorsTemp = null;
    PropertyValidator validar = null;

    ArrayList estadosDetallesPedido = null;
    boolean[] autorizacionesIncorrectas = null;

    if (this.botonGuardarOrdenesCompra != null) {
      validar = new PropertyValidatorImpl();
      autorizacionesIncorrectas = new boolean[this.numerosAutorizaciones.length];

      LogSISPE.getLog().info("Valores arreglo boolean");
      for (boolean a : autorizacionesIncorrectas) {
        LogSISPE.getLog().info("a1: {}", a);
      }

      for (int i = 0; i < this.numerosAutorizaciones.length; i++) {
        if (this.numerosAutorizaciones[i].equals("")
            && this.observacionesNumerosAutorizaciones[i].equals("") == false) {
          errors.add(
              "numerosAutorizaciones",
              new ActionMessage("errors.numeroAutorizacionOrdenCompraObligatorio"));
          autorizacionesIncorrectas[i] = true;
        } else if (this.numerosAutorizaciones[i].equals("") == false
            && this.observacionesNumerosAutorizaciones[i].equals("")) {
          errors.add(
              "observacionesNumerosAutorizaciones",
              new ActionMessage("errors.observacionAutorizacionOrdenCompraObligatorio"));
          autorizacionesIncorrectas[i] = true;
        } else {
          errorsTemp = new ActionErrors();
          validar.validateFormato(
              errorsTemp,
              "numerosAutorizaciones",
              this.numerosAutorizaciones[i],
              false,
              "^(\\d)*$",
              "errors.formato.numeroAutorizacionOrdenCompra",
              "errors.requerido",
              "N\u00FAmero de autorizaci\u00F3n de orden de compra");
          validar.validateFormato(
              errorsTemp,
              "observacionesNumerosAutorizaciones",
              this.observacionesNumerosAutorizaciones[i],
              false,
              "^(.){1,500}$",
              "errors.formato.observacionNumeroAutorizacionOrdenCompra",
              "errors.requerido",
              "Observaci&oacute;n del abono");
          if (errorsTemp.size() > 0) {
            autorizacionesIncorrectas[i] = true;
            for (Iterator j = errorsTemp.get(); j.hasNext(); ) {
              // LogSISPE.getLog().info("ClaseErrorsRegistroOrdenCompra: " + j.next().getClass());
              errors.add("observacionesNumerosAutorizaciones", (ActionMessage) j.next());
            }
          }
        }
      }

      if (errors.size() > 0) {
        if (request.getSession().getAttribute("ec.com.smx.sic.sispe.ordenCompra.detallesPedido")
            != null) {
          estadosDetallesPedido =
              (ArrayList)
                  request
                      .getSession()
                      .getAttribute("ec.com.smx.sic.sispe.ordenCompra.detallesPedido");
          for (int i = 0; i < this.getNumerosAutorizaciones().length; i++) {
            if (this.getNumerosAutorizaciones()[i].equals("") == false) {
              EstadoDetallePedidoDTO estadoDetallePedidoActual =
                  (EstadoDetallePedidoDTO) estadosDetallesPedido.get(i);

              estadoDetallePedidoActual.setNumeroAutorizacionOrdenCompra(
                  this.getNumerosAutorizaciones()[i]);
              estadoDetallePedidoActual.setObservacionAutorizacionOrdenCompra(
                  this.getObservacionesNumerosAutorizaciones()[i]);
              estadoDetallePedidoActual.setNpNumeroAutorizacionOrdenCompraInCorrecto(
                  autorizacionesIncorrectas[i]);
            }
          }
        }
      }
    }

    LogSISPE.getLog().info("numero de errores:{}", errors.size());
    return errors.size();
  }
예제 #2
0
  /**
   * Render the specified error messages if there are any.
   *
   * @exception JspException if a JSP exception has occurred
   */
  public int doStartTag() throws JspException {

    // Were any error messages specified?
    ActionErrors errors = null;
    try {
      errors = RequestUtils.getActionErrors(pageContext, name);
    } catch (JspException e) {
      RequestUtils.saveException(pageContext, e);
      throw e;
    }

    if ((errors == null) || errors.isEmpty()) {
      return (EVAL_BODY_INCLUDE);
    }

    boolean headerPresent = RequestUtils.present(pageContext, bundle, locale, "errors.header");

    boolean footerPresent = RequestUtils.present(pageContext, bundle, locale, "errors.footer");

    boolean prefixPresent = RequestUtils.present(pageContext, bundle, locale, "errors.prefix");

    boolean suffixPresent = RequestUtils.present(pageContext, bundle, locale, "errors.suffix");

    // Render the error messages appropriately
    StringBuffer results = new StringBuffer();
    boolean headerDone = false;
    String message = null;
    Iterator reports = (property == null) ? errors.get() : errors.get(property);

    while (reports.hasNext()) {
      ActionError report = (ActionError) reports.next();
      if (!headerDone) {
        if (headerPresent) {
          message = RequestUtils.message(pageContext, bundle, locale, "errors.header");

          results.append(message);
          results.append(lineEnd);
        }
        headerDone = true;
      }

      if (prefixPresent) {
        message = RequestUtils.message(pageContext, bundle, locale, "errors.prefix");
        results.append(message);
      }

      message =
          RequestUtils.message(pageContext, bundle, locale, report.getKey(), report.getValues());

      if (message != null) {
        results.append(message);
        results.append(lineEnd);
      }

      if (suffixPresent) {
        message = RequestUtils.message(pageContext, bundle, locale, "errors.suffix");
        results.append(message);
      }
    }

    if (headerDone && footerPresent) {
      message = RequestUtils.message(pageContext, bundle, locale, "errors.footer");
      results.append(message);
      results.append(lineEnd);
    }

    ResponseUtils.write(pageContext, results.toString());

    return (EVAL_BODY_INCLUDE);
  }