public boolean isCedulaValida() {
   if (licenciaComercializacion.getNumeroDocumento() != null) {
     if (licenciaComercializacion.getNumeroDocumento().length() >= 10) {
       if (licenciaComercializacion.getNumeroDocumento().length() == 13) {
         String nuevaCed =
             licenciaComercializacion
                 .getNumeroDocumento()
                 .substring(0, licenciaComercializacion.getNumeroDocumento().length() - 3);
         // licenciaComercializacion.setNumeroDocumento(nuevaCed);
         if (CedulaValidator.validate(nuevaCed)) {
           return true;
         } else {
           licenciaComercializacion.setNumeroDocumento(null);
           FacesContext.getCurrentInstance()
               .addMessage(
                   null,
                   new FacesMessage(FacesMessage.SEVERITY_WARN, "Número de ruc inválido", null));
           return false;
         }
       }
       if (CedulaValidator.validate(licenciaComercializacion.getNumeroDocumento())) {
         cedulaValida = true;
       } else {
         cedulaValida = false;
         licenciaComercializacion.setNumeroDocumento(null);
         FacesContext.getCurrentInstance()
             .addMessage(
                 null,
                 new FacesMessage(FacesMessage.SEVERITY_WARN, "Número de cédula inválida", null));
       }
     } else {
       licenciaComercializacion.setNumeroDocumento(null);
       FacesContext.getCurrentInstance()
           .addMessage(
               null,
               new FacesMessage(FacesMessage.SEVERITY_WARN, "Número de cédula inválida", null));
     }
   }
   return cedulaValida;
 }
 public void guardarPersonaNatural() {
   Usuario us = usuarioDao.obtenerPorLogin(login.getUserName());
   licenciaComercializacion.setNumeroDocumento(personaNatural.getNumeroDocumento());
   licenciaComercializacion.setNombre(personaNatural.getNombre());
   licenciaComercializacion.setApellido(personaNatural.getApellido());
   licenciaComercializacion.setDireccion(personaNatural.getDireccion());
   licenciaComercializacion.setTelefono(personaNatural.getTelefono());
   licenciaComercializacion.setCorreoElectronico(personaNatural.getEmail());
   licenciaComercializacion.setCasilleroJudicial(personaNatural.getCasilleroJudicial());
   PersonaNatural pn =
       personaNaturalServicio.findByNumeroDocumento(personaNatural.getNumeroDocumento());
   try {
     if (pn == null) {
       personaNatural.setFechaCreacion(new Date());
       personaNatural.setUsuarioCreacion(BigInteger.valueOf(us.getCodigoUsuario()));
       personaNaturalServicio.create(personaNatural);
       Auditoria auditoria = new Auditoria();
       auditoria.setAccion("INSERT");
       auditoria.setFecha(getCurrentTimeStamp());
       auditoria.setUsuario(BigInteger.valueOf(us.getCodigoUsuario()));
       auditoria.setDetalleAnterior(personaNatural.toString());
       auditoriaServicio.create(auditoria);
       FacesContext.getCurrentInstance()
           .addMessage(
               null,
               new FacesMessage(FacesMessage.SEVERITY_INFO, "Se ha guardado la persona", null));
       RequestContext.getCurrentInstance().execute("PF('dlgPerNat').hide()");
     } else {
       personaNatural.setFechaModificacion(new Date());
       personaNatural.setUsuarioModificacion(BigInteger.valueOf(us.getCodigoUsuario()));
       personaNaturalServicio.actualizarPersonaNatural(personaNatural);
       Auditoria auditoria = new Auditoria();
       auditoria.setAccion("UPDATE");
       auditoria.setFecha(getCurrentTimeStamp());
       auditoria.setUsuario(BigInteger.valueOf(us.getCodigoUsuario()));
       auditoria.setDetalleAnterior(pn.toString());
       auditoria.setDetalleCambios(personaNatural.toString());
       auditoriaServicio.create(auditoria);
       FacesContext.getCurrentInstance()
           .addMessage(
               null,
               new FacesMessage(FacesMessage.SEVERITY_INFO, "Se ha actualizado la persona", null));
       RequestContext.getCurrentInstance().execute("PF('dlgPerNat').hide()");
     }
   } catch (Exception ex) {
     FacesContext.getCurrentInstance()
         .addMessage(
             null,
             new FacesMessage(
                 FacesMessage.SEVERITY_ERROR, "No se pudo guardar la persona", ex.getMessage()));
   }
 }
  public void guardarPersonaJuridica() {
    Usuario us = usuarioDao.obtenerPorLogin(login.getUserName());

    licenciaComercializacion.setNumeroDocumento(personaJuridica.getRuc());
    licenciaComercializacion.setNombre(personaJuridica.getNombreLegal());
    licenciaComercializacion.setApellido(personaJuridica.getNombreComercial());
    licenciaComercializacion.setDireccion(personaJuridica.getDireccion());
    licenciaComercializacion.setTelefono(personaJuridica.getCelular());
    licenciaComercializacion.setCorreoElectronico(personaJuridica.getEmail());
    licenciaComercializacion.setCasilleroJudicial(personaJuridica.getCasilleroJudicial());
    PersonaJuridica pj = personaJuridicaServicio.findByRuc(personaJuridica.getRuc());
    try {
      if (pj == null) {
        personaJuridica.setFechaCreacion(new Date());
        personaJuridica.setUsuarioCreacion(BigInteger.valueOf(us.getCodigoUsuario()));
        Localidad localidad = new Localidad();
        localidad.setCodigoLocalidad(Long.valueOf("5"));
        personaJuridica.setCodigoLocalidad(null);
        CatalogoDetalle catalogoDetalle = new CatalogoDetalle();
        catalogoDetalle.setCodigoCatalogoDetalle(132L);
        personaJuridica.setClasePersona(catalogoDetalle);
        personaJuridicaServicio.create(personaJuridica);
        Auditoria auditoria = new Auditoria();
        auditoria.setAccion("INSERT");
        auditoria.setFecha(getCurrentTimeStamp());
        auditoria.setUsuario(BigInteger.valueOf(us.getCodigoUsuario()));
        auditoria.setDetalleAnterior(personaJuridica.toString());
        auditoriaServicio.create(auditoria);
        FacesContext.getCurrentInstance()
            .addMessage(
                null,
                new FacesMessage(FacesMessage.SEVERITY_INFO, "Se ha guardado la persona", null));
        RequestContext.getCurrentInstance().execute("PF('dlgPerJur').hide()");
      } else {
        personaJuridica.setFechaModificacion(new Date());
        personaJuridica.setUsuarioModificacion(BigInteger.valueOf(us.getCodigoUsuario()));
        Localidad localidad = new Localidad();
        localidad.setCodigoLocalidad(Long.valueOf("5"));
        personaJuridica.setCodigoLocalidad(null);
        CatalogoDetalle catalogoDetalle = new CatalogoDetalle();
        catalogoDetalle.setCodigoCatalogoDetalle(132L);
        personaJuridica.setClasePersona(catalogoDetalle);
        personaJuridicaServicio.actualizarPersonaJuridica(personaJuridica);
        Auditoria auditoria = new Auditoria();
        auditoria.setAccion("UPDATE");
        auditoria.setFecha(getCurrentTimeStamp());
        auditoria.setUsuario(BigInteger.valueOf(us.getCodigoUsuario()));
        auditoria.setDetalleAnterior(pj.toString());
        auditoria.setDetalleCambios(personaJuridica.toString());
        auditoriaServicio.create(auditoria);
        FacesContext.getCurrentInstance()
            .addMessage(
                null,
                new FacesMessage(FacesMessage.SEVERITY_INFO, "Se ha actualizado la persona", null));
        RequestContext.getCurrentInstance().execute("PF('dlgPerJur').hide()");
      }
    } catch (Exception ex) {
      FacesContext.getCurrentInstance()
          .addMessage(
              null,
              new FacesMessage(
                  FacesMessage.SEVERITY_ERROR, "No se pudo guardar la persona", ex.getMessage()));
      System.out.println("ex.getMessage()" + ex.getMessage());
      ex.printStackTrace();
    }
  }