trucosjakartaee
  • Introduction
  • Creditos
  • Jar to Exe
  • Primefaces security
  • Primefaces Responsive
  • Leer archivos en una linea de codigo
  • Logger Crear archivo JSOn
  • Cifrar Archivos y Licencias
    • Cifrar Archivos y Encriptar Textos
    • Licencias
  • JSON-P Leer arhivos
  • Apache Derby
  • Migrar a Java 11
  • jmoordbjsf
    • 1. Controller
      • 1.1 Definicion
      • 1.2 before/after()
      • 1.3 Parametros internos
      • 1.2 init()
        • 1.2.1 Obtener el action en el init()
        • 1.2.3 Asignar el search en el init()
      • 1.3 searchBy()
      • 1.4 <jmoordbjsf:search>
      • 1.5<jmoordbjsf:searchBetweenDate> Busquedas entre fechas.
        • 1.5.1 <jmoordbjsf:searchBetweenDates con <jmoordbjsf:autocomplete>
      • 1.6 handleSelect de autocomplete en list.xhtml
      • 1.7 <p:selectOneMenu> eventos en list.xhtml
      • 1.8 move()
    • 2. Componentes
      • 2.1 <jmoordbjsf:ccstimeline>
      • 2.2 <jmoordbjsf:paginator>
        • 2.2.1 paginator con impresion
    • 3. Historial de revisión
  • Reportes
    • OpenPDF
      • Enlaces
      • Introduccion
      • Reportes con ReportUtils.java
      • Reporte con ReportUtils y <jmoordbjsf:paginator>
      • Turoriales
      • Informe con 6 columnas
      • Tamaño de pagina
      • Centrar en el reporte
      • Margenes
      • Fuentes en las celdas
      • Formatear Fechas
      • Imagenes
      • grupos
      • subreportes
      • firmar pdf
      • Agregar autor al pdf
      • Reporte simple
    • iReport
    • Imprimir condicional
    • DynamicReports
    • iText
    • PDFBox
    • JaspertReport from code
    • Nerval Reports
    • DynamicJasper
    • Eclipse birt
  • Overview
    • jmoordb web
      • Autoincrementable
        • Autoincrementable
        • Generar autoincrementable para múltiples tiendas relacionadas sin @Referenced
        • Login
          • Login simple
          • Login con Multiples roles
          • Obtener el Ip del cliente
          • Generar el UUID
          • Session Expirada redirigir automaticamente
        • Password
          • Cambiar password
          • Encriptar password
        • Usuario
          • Usuario con un solo Rol
          • Usuario con multiples roles
    • JavaEE
      • Java Security EE
        • Validar paginas
      • Email
        • Enviar emails formateados
        • CompletableFuture para envio de emails
        • Emails con copias cc, bcc
      • JPA
        • <p:autocomplete> con JPA
        • <p:autocomplete> JPA con eventos
        • <p:autocomplete> JPA con Integer
        • <p:autocomplete> JPA con scroll
        • <p:autocomplete> con Converter
    • Java Server Faces
      • eliminar bordes de <p:fieldSet>
      • reset
      • commandButton verdes
      • JsfUtil.updateJSFComponent(componente)
      • <p:growl> Centrado
      • <p:fieldSet>
      • Actualizar componente primefaces desde codigo Java
      • Codigo barra/QR
        • codigosbarra
        • Generar/Leer Codigo QR
        • Scanner un codigo QR con primefaces
      • Barra de progreso y bloqueo para procesos muy largos
      • Dialogo
        • Centrar Dialog
        • Cerrar dialogo desde código
        • Invocar dialogo desde codigo
        • dialogconfirm
        • Cambiar los colores del Dialog
        • Modal
        • Dialogo con <p:schedule>
      • Menu
        • <b:navCommandLink/>
        • Eventos de menu
        • CommandLink con parametros en menu
        • Usar <b:flyOutMenu>
        • Menus dinámicos mediante <p:repeat
        • Filtrar desde el menu dinamico
      • Message
        • Cerrar automaticamente messages
      • inputText
        • inputTextArea Scroll
        • Bloquear tecla Enter inputText
        • Validar rangos
        • Convertir a mayusculas
        • eventos en el inputText
      • outputLabel
        • Mostrar un icono en un outputLabel
      • selectOneMenu
        • <b:selectOneMenu String
        • <b:selectOneMenu> eventos Ajax
        • <p:selectOneMenu eventos
        • <b:selectOneMenu sin converter
        • concatenar String
        • <f:selectItem>
        • <b:selectOneMenu relacionados
        • <b:selectOneMenu> simple
        • <b:selectOneMenu> formulario view.xhtml
        • mesSelectOneMenu
        • Ajustar el tamaño
      • Datatable
        • DataTable Agrupados y rowExpansion
        • Saber que columna se edita
        • tamaño de columnas
        • Marcar como vistos
        • <p:datatable> con <p:autocomplete>
        • <p:repeat> con dataTable
        • <p:repeat> en un componente
        • <p:datatable> con exporter
        • Mostrar un datatable dentro de un dialogo
        • Filas coloreadas
        • Reflexion para contar valores en un datatable
        • Datatable con paginacion
        • <p:datatable> expandableRowGroups
        • <p:datatable> columnas agrupadas
        • color columna
        • <b:datatable> con dialogs
        • Busquedas
        • <b:datatable> con colores en las filas
        • <b:datatable> filtrado por el Agente seleccionado
        • <b:datatable> Filtrado por el usuario logueado
        • <b:dataTable con repeat para atributos List<>
      • Autocomplete
        • autocomplete insertar nuevos valores
        • Componente autocomplete
        • Autocomplete con findRegex() Expresiones Regulares
        • <p:autocomplete> multiple
        • Autocomplete con findText
        • Autocomplete relacionados
        • <p:autocomplete> con Integer y String
        • Autocomplete con dropdwon
        • Autocomplete con minQueryLength=
        • Autocomplete Relacionados con dropdown (Provincia- distrito)
        • Cambiar color <p:autocomplete>
        • <p:autocomplete> Multiples relacionados
        • <p:autocomplete Usuarios por multiples Roles
        • <p:autocomplete> Multiples dropdown="true" relacionados con
        • <p:autocomplete> con lambda stream
        • Autocomplete
        • Con Rangos de fechas
          • Autocomplete con rangos de fechas excluyendo el registro actual
      • Iconos e imagenes
        • <p:commandLink> con imagenes
        • <p:commandButton> con imagenes
        • <h:graphicImage>
      • Paso de parametros
        • Desde un <p:commandLink>
        • Desde un <p:button>
      • Ajax
        • Eventos
        • Eventos al cargar pagina
      • Datagrid
        • Quitar bordes con poseidon
        • <p:datagrid>
      • Tabs
        • Diseñar tabs
      • Notificaciones
        • Notificaciones
        • Notificaciones en la barra
      • Graficas
        • <p:chart> pie
        • <p:char> pie por varios atributos
      • Ommifaces
        • Untitled
        • Ejecutar Comando
    • Formatos y Fechas
      • Formatear fechas y horas en un String para un datatable
      • Formatear decimales
      • Formatear fecha
      • Formateo de fechas y horas por separado
      • outputLabel formateado
    • Fechas
      • Primer/Ultimo dia en fechas del mes
      • Insertar horas minutos y segundos a una fecha
      • validarRangoFechas
      • Determinar el numero de meses entre fechas
      • Descomponener una fecha
      • Obtener el nombre del dia
      • Calcular dias entre fechas
      • Operaciones con fechas
      • Filtrar por dias Atrasados
      • Fecha actual
      • Primer dia y ultimo dia del mes de la fecha actual
      • Sumar mes a fecha actual
      • Fechas null
      • Conocer si alguien esta de vacaciones
      • Formatear una fecha
      • Si cumple años
      • Filtrar cumpleaños en JPA
      • <a:searchBetweenDate> Filtrar entre Fechas
      • Mostrar los que estan de vacaciones en un mes
      • Calcular numero de días de vacaciones del mes
      • Comparar Fechas
      • Mostrar fecha y hora en un datatable
      • Validar que la Hora no sea cero
      • F iltrar entre fechas de un List<Entity>
      • Búsquedas por Día filterDayWithoutHour()
      • Validar fechas y horas
      • Validar meses superiores en Cierre
      • Primera y ultima fecha del Mes
      • <p:calendar>
        • eventos-en-el-pcalendar
        • Eventos en el <p:calendar> /EntreFechas
        • Eventos en el <p:calendar> entre fechas
      • HoraMinutos formato AM/PM de una fecha
        • Google Calendar
    • Rangos de Fechas
      • Encontrar si esta disponible entre dos fechas en rangos de fechas inicial y final con filtro adicion
      • Buscar una fecha y hora en un rango
      • Actualizar las fechas en rango de dos fechas y validar los disponibles excluyendo el entity actual
      • filterBetweenDatePaginationWithoutHour()Buscar en rangos de fechas excluyendo la hora con paginacion
    • Generales
      • Habilitar Empty
    • Mongodb
      • Combinar bases de datos
      • Referencias en bases datos distintas
      • Crear bases de datos en tiempo de ejecucion
      • Agregar campos autoincrementables, renombrar campos
      • Transacciones
    • Controller
      • Filtrar desde el list.xhtml
      • ChoferController.java
      • ReservadoController.java
      • OrdenController.java
      • ModeloController.java
      • Validar null
    • Formularios
      • Relaciones con atributos no Referenciados
      • Maestro-Detalle Orden de Proveedor a Bodega
      • Dos campos como campo llave
      • Crear registros de entitys diferentes en el mismo formulario
      • Formulario con llave secundaria sin mostrar autoincrementable
      • Cambiar numero de cedula
      • Formulario referenciado (Grupoarticulo->Modelo)
      • Usuario
      • Facturas
        • Factura codigo xhtml
        • FacturaController.java
      • Maestro-Detalle Factura
      • Formulario sin componente new
      • Solo formulario new.xhtml no usar list.xhtml ni el view.xhtml
    • JmoordbLanguages
    • JmoordbResourcesFiles
      • Pasarlos a un services
    • list.xtml
      • Filtrar por un entity Referenciado
      • Formularios con Ordenacion
      • Filtrar por atributos referenciados
      • <a:searchYesNo>
    • Entity
    • Services
    • Blogs
      • Java
      • Mongodb
    • Glassfish
    • PDF
      • Download
    • Links
    • Ubuntu
      • Minimizar aplicaciones en Ubuntu con un solo clic
      • Maven
      • Reiniciar GnomeShell
    • Databases
      • Ranking
    • Tutoriales JavaEE 8
    • Busquedas en List<> Embebidos y Referenciados
      • Buscar en un List<> en cualquier posicion usando and y or
      • Buscar elemento en un List<> Embebido/Referenciado
      • Limpiar autocomplete y otros filtros
      • Filtrar embebidos referenciados de forma inversa
      • Buscar en un List<Viaje> dentro de Solicitud
    • Search
    • Eventos
      • Escuchar eventos
      • Eventos
    • Microservicios
      • Microservicios con Java EE Jakarta
    • Java
      • Copiar Beans
      • List
        • Ordenar una List Java 8
        • Filtrar un List<> con Stream
        • Encontrar un elemento en un List con Lambda/Stream
      • List<Object>
      • Método retorna List<Object>
      • Mock
        • Disenos online
      • Brownies Collections
      • Batch
      • Maven
        • Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.3:exploded (default-cli) on proje
      • NetBeans
        • Colapsar codigo
      • Formatear String
      • Lambda/Stream
      • Filtrar de varias listas
      • stream
      • lambda /stream
      • Patrones de Diseño
        • Builder Desing Pattern
    • Primefaces
      • PhotoCam
        • Tomar foto
      • Schedule
        • <p:scheduler> con paginacion
        • <p:schedule> LazyScheduleModel
        • <p:schedule> con filtros autocomplete
        • <p:schedule> con GMT-5 para Panama
        • <p:schedule> con dialogos
        • Colores en <p:schedule>
        • <p:schedule> con dialogos diferentes en el mismo evento
        • <p:schedule con <p:ajax event="viewChange">
        • <p:schedule> imprimir
      • Dashboard
        • Dashboard basico <p:knob
          • <p:knob>
          • Dashboard con link <p:knob
        • Dashboard <p:knob> <b:bagde>
        • Dashboard con Paneles
      • <p:chips>
        • <p:chips> simple
      • <p:dataGrid
    • Entity Configuración
    • Arquitectura
      • Project ejb
      • Proyecto Web
      • Pasos al crear un entity
      • list.xhtml
      • new.xhtml
      • view.xhtml
    • BitBucket/NetBeans
      • Crear Ramas desde Bitbucket
      • Crear rama desde NetBeans
      • Cambiar ramas desde NetBeans
      • Push a una rama
      • Permisos a una rama
      • Clonar una rama
      • Crear un pull request bitbucket
      • Recuperar una revisión git desde Bitbucket
    • Controller
      • Atributos
      • set/get
      • constructor
      • init
      • preRenderView
      • reset
      • prepare
      • showAll
      • isNew
      • save
      • edit
      • delete
      • deleteAll
      • print
      • printAll
      • handleSelect
      • handleAutocompleteOfListXhtml
      • last
      • first
      • next
      • back
      • skip
      • move
      • clear
      • searchBy(String string)
    • Componentes
      • JsfUtil.updateJsfComponent()
    • Genericos implementar en un Controller
    • LambdaMetaFactory
    • Patrones
    • @Producer Reducir Repository
  • Cierre Mensual
    • Cierre mensual
  • fontAwesome Local
    • fontAwesome Local
  • Componentes
    • Componentes JSF
      • <a:paginatorReport>
      • Distribuir componentes Java Server Faces
      • Crear composite distribuible con Maven
      • Clases como parámetros y métodos en el composite
      • Agregar css
  • LambdaMetaFactory
    • LambdaMetaFactory
      • <jmoordbjsf:Ajax Status>
      • Invocar metodos desde un controller
  • Patrones de Diseño
    • Patrones de Diseño
    • Builder
  • @Producer Reducir Repository
    • @Producer Reducir Repository
    • Validar en el inicio del controller con nuevo esquema
    • AdminFaces
      • include
      • template
      • resources
      • web.xml
    • Cargar archivo propiedades
    • Maven Crear arquetipo en base a un proyecto
      • Configurar path maven
      • archivo settings.xml
      • Crear arquetipo desde NetBeans
      • Crear el arquetipo desde consola
      • Crear el proyecto en base al arquetipo
      • Clonar adminfaces archetype
    • PayaraMicro
    • Archivos de propiedades con adminfaces
  • Web Socket
    • WebSocket
      • Web Socket
        • dependencias
        • web.xml
        • Archivos de configuracion
        • Pushsocket
        • index.xhtml
        • reciver.xhtml
        • Ejecutarlo
      • WebSocket en menu con <:remoteCommand>
        • top.xhtml
        • template.xhtml
        • web.xml
        • Clases
        • ConfigurationContoller.java
        • PushSocket.java
        • Mensajes.java
      • WebSocket con Notificaciones en bases de datos
        • pom.xml
        • web.xml
        • template.xthml
        • top.xhtml
        • index.xhtml
        • LoginController.java
        • PushSocket.java
        • JmoordbNotificationsController.java
        • list.xhtml
        • Enviar notificaciones todos los usuarios
    • Pagina de Inicio en Java EE
    • Control de Viajes
      • Generar pasajeros por viajes
        • validarRangoFechas
    • Vehiculos recomendados
  • DBUtils
  • Archivos Properties
  • MICROSERVICES
    • MICROSERVICES
      • Archivos properties con Producer
      • Archivos Properties con @Inject
Powered by GitBook
On this page
  • Formulario con llave secundaria sin mostrar autoincrementable
  • Requerimientos:
  • Definir atributo cedulanueva
  • Deseamos validar por la cédula
  • Mètodo save()
  • Constructor
  • formulario

Was this helpful?

  1. Overview
  2. Formularios

Formulario con llave secundaria sin mostrar autoincrementable

Formulario con llave secundaria sin mostrar autoincrementable

Tenemos un entity en el que tene

public class Cliente {

    @Id
    private Integer idcliente;
    private String cedula;

    private String nombre;

    private Date fechanacimiento;
    private Integer edad;

    private String sexo;

}

Requerimientos:

  • AutoincrementableStoreejbServices

  • init() convertir a Integer el id

  • isNew(): Validar por la cedula

  • save(). Validar por la cédula y generar el autoincrementable

  • Otros metodos convertir a String el idcliente

  • Se debe crear el formulario para cambiar el numero de cedula(campo secundario)

Definir atributo cedulanueva

    private String cedulanueva;

      public String getCedulanueva() {
        return cedulanueva;
    }

    public void setCedulanueva(String cedulanueva) {
        this.cedulanueva = cedulanueva;
    }

Deseamos validar por la cédula

// <editor-fold defaultstate="collapsed" desc="isNew">

    @Override
    public String isNew() {
        try {
            if (JsfUtil.isVacio(cliente.getCedula())) {
                writable = false;
                return "";
            }
            cliente.setCedula(cliente.getCedula().toUpperCase());
            writable = true;
            List<Cliente> list = clienteRepository.findBy(new Document("cedula", cliente.getCedula()));
            if (!list.isEmpty()) {
                writable = false;

                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
                return "";
            } else {
                String id = cliente.getCedula();
                cliente = new Cliente();

                cliente.setCedula(id);

                fiador = new Fiador();
                inicializarCliente();

                clienteSelected = new Cliente();
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("isNew()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

Mètodo save()

// <editor-fold defaultstate="collapsed" desc="save">

    @Override
    public String save() {
        try {
            cliente.setCedula(cliente.getCedula().toUpperCase());
            fiador.setCorregimiento(corregimientoFiador);
            List<Cliente> list = clienteRepository.findBy(new Document("cedula", cliente.getCedula()));
            if (!list.isEmpty()) {
                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
                return null;
            }

            Integer id = autoincrementableStoreejbServices.getContador("cliente");
            cliente.setIdcliente(id);

            cliente.setFiador(fiador);

            if (!validate()) {
                return "";
            }

            //Lo datos del usuario
            cliente.setUserInfo(userInfoServices.generateListUserinfo(loginController.getUsername(), "create"));
            if (clienteRepository.save(cliente)) {
                revisionHistoryStoreejbRepository.save(revisionHistoryServices.getRevisionHistory(cliente.getIdcliente().toString(), loginController.getUsername(),
                        "create", "cliente", clienteRepository.toDocument(cliente).toString()));
                JsfUtil.successMessage(rf.getAppMessage("info.save"));
                reset();
            } else {
                JsfUtil.successMessage("save() " + clienteRepository.getException().toString());
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("save()" + e.getLocalizedMessage());
        }
        return "";
    }// </editor-fold>

Constructor

Convertimos el id de String a Integer

Integer.parseInt(id)
@PostConstruct
    public void init() {
        try {

            esbodega = false;
            estienda = false;
            esganga = false;
            String action = loginController.get("cliente");
            String id = loginController.get("idcliente");
            String pageSession = loginController.get("pagecliente");
            //Search
            loginController.put("searchcliente", "_init");
            writable = false;

            clienteList = new ArrayList<>();
            clienteFiltered = new ArrayList<>();
            cliente = new Cliente();
            clienteDataModel = new ClienteDataModel(clienteList);

            fiador = new Fiador();

            if (id != null) {

                Optional<Cliente> optional = clienteRepository.find("idcliente", Integer.parseInt(id));
                if (optional.isPresent()) {
                    cliente = optional.get();
                    clienteSelected = cliente;
                    fiador = cliente.getFiador();
                    provinciaFiador = fiador.getProvincia();
                    distritoFiador = fiador.getDistrito();
                    corregimientoFiador = fiador.getCorregimiento();

                    writable = true;

                }
            }
            if (action != null && action.equals("gonew")) {

                cliente = new Cliente();
                inicializarCliente();
                clienteSelected = cliente;
                writable = false;

            }
            if (pageSession != null) {
                page = Integer.parseInt(pageSession);
            }
            Integer c = clienteRepository.sizeOfPage(rowPage);
            page = page > c ? c : page;
            move();

        } catch (Exception e) {
            JsfUtil.errorMessage("init() " + e.getLocalizedMessage());
        }
    }// </editor-fold>

formulario

  <a:messages id="msg"/>
  <a:new label="#{msg['field.cedula']}"
         value="#{clienteController.cliente.cedula}"
         disabled="#{clienteController.writable}"
         isnew="#{clienteController.isNew()}"
         new="#{clienteController.prepare('new',clienteController.cliente)}"
         rendererList="#{applicationMenu.cliente.list}"
         list="#{clienteController.prepare('golist',clienteController.cliente)}"

    />
PreviousCrear registros de entitys diferentes en el mismo formularioNextCambiar numero de cedula

Last updated 6 years ago

Was this helpful?