public void cargarCajas(java.util.Date desde, java.util.Date hasta) {
        if (desde != null && hasta != null) {
            abrirBase();
            listaCajas.setRowCount(0);
            List<Caja> lista = Caja.where("fecha between ? and ?", desde, hasta);
            for (Caja c : lista) {
                totalVentas = 0.0;
                totalOtros = 0.0;
                if (c.get("visible").equals(1)) {
                    List<Transaccion> transacciones = Transaccion.where("caja_id = ?", c.get("id"));
                    for (Transaccion t : transacciones) {
                        if (t.get("cliente_id") == null) {
                            if (t.get("visible").equals(1)) {
                                if (t.get("tipo").equals("Venta")) {
                                    totalVentas += t.getDouble("monto");
                                } else {
                                    totalOtros += t.getDouble("monto");
                                }
                            }
                        }
                    }
                    Object row[] = new Object[5];
                    row[0] = c.get("id");
                    row[1] = c.get("fecha");
                    row[2] = totalVentas;
                    row[3] = totalOtros;
                    row[4] = c.get("saldo");
                    listaCajas.addRow(row);
                }
            }
            if (Base.hasConnection()) {
                Base.close();
            }
        } else {
            JOptionPane.showMessageDialog(getView(), "Error: Falta especificar fechas");
        }

    }