private double minutosPermisos(List<DetalleAsistencia> detalles) { double total = 0; int posicion = 0; while (posicion < detalles.size()) { DetalleAsistencia permisoI = detalles.get(posicion); DetalleAsistencia permisoF = detalles.get(posicion + 1); total += (permisoF.getHoraReferencia().getTime() - permisoI.getHoraReferencia().getTime()) / (60 * 1000); posicion += 2; } return total; }
private double obtenerHorasLaboradas(List<DetalleAsistencia> detalles) { double totalHoras = 0; System.out.println("ENTRO A HORAS LABORADAS"); int posicion = 0; while (posicion < detalles.size()) { System.out.println("ENTRO AL WHILE"); DetalleAsistencia ingreso = detalles.get(posicion); DetalleAsistencia salida = detalles.get(posicion + 1); if (!(ingreso.isPermiso() || salida.isPermiso())) { System.out.println("ESTA OBTENIENDO HORAS"); long salidaMilis; // = salida.getHoraEvento() == null ? // salida.getHoraReferencia().getTime() : salida.getHoraEvento().getTime(); long ingresoMilis; // = ingreso.getHoraEvento() == null ? // ingreso.getHoraReferencia().getTime() : ingreso.getHoraEvento().getTime(); if (salida.getHoraEvento() == null) { salidaMilis = salida.getHoraReferencia().getTime(); } else if (FechaUtil.soloHora(salida.getHoraEvento()).compareTo(salida.getHoraReferencia()) > 0) { salidaMilis = salida.getHoraReferencia().getTime(); } else { salidaMilis = FechaUtil.soloHora(salida.getHoraEvento()).getTime(); } if (ingreso.getHoraEvento() == null) { ingresoMilis = ingreso.getHoraReferencia().getTime(); } else if (FechaUtil.soloHora(ingreso.getHoraEvento()) .compareTo(ingreso.getHoraReferencia()) < 0) { ingresoMilis = ingreso.getHoraReferencia().getTime(); } else { ingresoMilis = FechaUtil.soloHora(ingreso.getHoraEvento()).getTime(); } totalHoras += (salidaMilis - ingresoMilis); Date ingresod = new Date(ingresoMilis); Date salidad = new Date(salidaMilis); System.out.println("CONTEO DE: " + ingresod + " - " + salidad); } posicion += 2; } return totalHoras / (60 * 1000 * 60); }