コード例 #1
0
  @RequestMapping(value = "/prueba", method = RequestMethod.POST)
  public String create(
      @Valid @ModelAttribute("prueba") Prueba prueba,
      BindingResult result,
      ModelMap modelMap,
      SessionStatus status,
      HttpServletRequest request) {
    if (prueba == null) throw new IllegalArgumentException("A prueba is required");

    if ((prueba.getPorcentajeCompletitud() < 0) || (prueba.getPorcentajeCompletitud() > 100)) {
      result.addError(
          new FieldError(
              result.getObjectName(),
              "porcentajeCompletitud",
              "El pocentaje debe estar entre 0 y 100"));
    }

    // Metodo para traer los usuario de la UAI de una institucion en
    // especifico
    Util util = new Util();
    Query query = Auditor.findAuditorsById_OrganismoEnte(util.traerIdRif());
    List<Auditor> todos = query.getResultList();
    List<Auditor> losQueSon = new LinkedList<Auditor>();
    for (Auditor a : todos) {
      List<Usuario> usuarios = Usuario.findUsuariosByLogin(a.getLogin()).getResultList();
      for (Usuario u : usuarios) {
        for (RolUsuario r : u.getRoles()) {
          if (r.getNombre().equals("ROLE_UNIDAD_COORDINADOR")) {
            losQueSon.add(a);
            break;
          } else if (r.getNombre().equals("ROLE_UNIDAD_AUDITOR")) {
            losQueSon.add(a);
            break;
          } else if (r.getNombre().equals("ROLE_UNIDAD_GERENTE")) {
            losQueSon.add(a);
            break;
          }
        }
      }
    }

    if (result.hasErrors()) {
      modelMap.addAttribute("prueba", prueba);
      // modelMap.addAttribute("actuacions",
      // Actuacion.findAllActuacions());
      modelMap.addAttribute("auditors", losQueSon);
      modelMap.addAttribute("documentoes", Documento.findAllDocumentoes());
      modelMap.addAttribute(
          "estadoactividadactuacions", EstadoActividadActuacion.findAllEstadoActividadActuacions());
      modelMap.addAttribute(
          "requerimientoes",
          Requerimiento.findRequerimientoesByActuacion(prueba.getCodigoActuacion())
              .getResultList());
      return "prueba/create";
    }

    prueba.persist();
    Util.registrarEntradaEnBitacora(prueba, "Se creó la Prueba ", request.getRemoteAddr());
    status.setComplete();
    return "redirect:/prueba/" + prueba.getId();
  }