Example #1
0
 // El número de factura para una factura nueva
 private String getCodigo() {
   // Usamos inicialización vaga
   if (codigo == null) {
     // Una consulta JPA para obtener el último número
     Query query =
         getManager().createQuery("select max(f.codigo) from Factura f where f.ano = :ano");
     // Dates es una utilidad de OpenXava
     query.setParameter("ano", Dates.getYear(new Date()));
     Integer lastNumber = (Integer) query.getSingleResult();
     if (lastNumber == null) lastNumber = 0;
     // Añadimos 1 al último número de factura
     codigo = Integer.toString(lastNumber + 1);
   }
   return codigo;
 }