public Time getTimeModificado(Time time, int min) {
   Calendar calendar = Calendar.getInstance();
   int year = calendar.get(Calendar.YEAR);
   int month = calendar.get(Calendar.MONTH);
   int day = calendar.get(Calendar.DAY_OF_MONTH);
   calendar.set(year, month, day, time.getHours(), time.getMinutes(), time.getSeconds());
   calendar.add(Calendar.MINUTE, min);
   Time time_modificado = new Time(calendar.getTimeInMillis());
   return time_modificado;
 }
예제 #2
0
  @SuppressWarnings("deprecation")
  @Test
  public void time() throws SQLException {
    connectWithJulianDayModeActivated();
    Time d1 = new Time(System.currentTimeMillis());

    stat.execute("create table t (c1);");
    PreparedStatement prep = conn.prepareStatement("insert into t values (?);");
    prep.setTime(1, d1);
    prep.executeUpdate();

    ResultSet rs = stat.executeQuery("select c1 from t;");
    assertTrue(rs.next());
    assertEquals(d1.getHours(), rs.getTime(1).getHours());
    assertEquals(d1.getMinutes(), rs.getTime(1).getMinutes());
    assertEquals(d1.getSeconds(), rs.getTime(1).getSeconds());
  }
  public void generarDatos() {
    //		HA = horaSalida.getHours();
    //		HE = horaEntrada.getHours();
    //		MA = horaSalida.getMinutes();
    //		ME = horaEntrada.getMinutes();

    int HSalida = horaActualSalida.getHours();
    int HIngreso = horaIngreso.getHours();
    int MinSalida = horaActualSalida.getMinutes();
    int MinIngreso = horaIngreso.getMinutes();

    if (getDiferenciaDias() == 0) {
      if (HSalida == HIngreso) {
        vistaTiempo.append(tiempo).append(MinSalida - MinIngreso).append(" Min.");
        this.tiempoDia = 1;
      } else if ((HSalida - HIngreso) == 1) {
        if (MinSalida < MinIngreso) {
          vistaTiempo.append(tiempo).append(60 - (MinIngreso - MinSalida)).append(" Min.");
          this.tiempoDia = (HSalida - HIngreso);
        } else if (MinSalida == MinIngreso) {
          this.tiempoDia = (HSalida - HIngreso);
          vistaTiempo.append(tiempo).append(HSalida - HIngreso).append(" Hr.");
        } else if (MinSalida > MinIngreso) {
          vistaTiempo
              .append(tiempo)
              .append(HSalida - HIngreso)
              .append(" Hr. y ")
              .append(MinSalida - MinIngreso)
              .append(" Min.");
          if ((MinSalida - MinIngreso) <= tolerancia) {
            this.tiempoDia = (HSalida - HIngreso);
          } else {
            this.tiempoDia = (HSalida - HIngreso) + 1;
          }
        }
      } else if ((HSalida - HIngreso) > 1) {
        if (MinSalida < MinIngreso) {
          vistaTiempo
              .append(tiempo)
              .append((HSalida - HIngreso) - 1)
              .append(" Hrs. y ")
              .append(60 - (MinIngreso - MinSalida))
              .append(" Min.");
          if ((60 - (MinIngreso - MinSalida)) <= tolerancia) {
            this.tiempoDia = (HSalida - HIngreso) - 1;
          } else {
            this.tiempoDia = (HSalida - HIngreso);
          }
        } else if (MinSalida == MinIngreso) {
          vistaTiempo.append(tiempo).append(HSalida - HIngreso).append(" Hrs.");
          this.tiempoDia = (HSalida - HIngreso);
        } else if (MinSalida > MinIngreso) {
          vistaTiempo
              .append(tiempo)
              .append(HSalida - HIngreso)
              .append(" Hrs. y ")
              .append(MinSalida - MinIngreso)
              .append(" Min.");
          if ((MinSalida - MinIngreso) <= tolerancia) {
            this.tiempoDia = (HSalida - HIngreso);
          } else {
            this.tiempoDia = (HSalida - HIngreso) + 1;
          }
        }
      }
    } else if (getDiferenciaDias() == 1) {
      this.cantNoche = 1;
      int hora_inicio_dia = horaInicioDia.getHours();
      int min_inicio_dia = horaInicioDia.getMinutes();

      if (HIngreso >= horaInicioNoche.getHours()) {
        if (HSalida < hora_inicio_dia) {
          vistaTiempo.append(tiempo).append("1 sola noche");
        } else if (HSalida == hora_inicio_dia) {
          if (MinSalida <= min_inicio_dia + tolerancia) {
            this.tiempoDia = 0;
            vistaTiempo.append(tiempo).append("1 sola noche");
          } else {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            this.tiempoDia = 1;
          }
        } else if ((HSalida - hora_inicio_dia) == 1) {
          if (MinSalida < min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, y ")
                .append(60 - (min_inicio_dia - MinSalida))
                .append(" Min.");
            this.tiempoDia = HSalida - hora_inicio_dia;
          } else if (MinSalida == min_inicio_dia) {
            this.tiempoDia = (HSalida - hora_inicio_dia);
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, y ")
                .append(HSalida - hora_inicio_dia)
                .append(" Hr.");
          } else if (MinSalida > min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, ")
                .append(HSalida - hora_inicio_dia)
                .append(" Hrs. y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            if ((MinSalida - min_inicio_dia) <= tolerancia) {
              this.tiempoDia = HSalida - hora_inicio_dia;
            } else {
              this.tiempoDia = (HSalida - hora_inicio_dia) + 1;
            }
          }
        } else if ((HSalida - hora_inicio_dia) > 1) {
          if (MinSalida < min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, ")
                .append((HSalida - hora_inicio_dia) - 1)
                .append(" Hrs. y ")
                .append(60 - (min_inicio_dia - MinSalida))
                .append(" Hr.");
            if ((60 - (min_inicio_dia - MinSalida)) <= tolerancia) {
              this.tiempoDia = (HSalida - hora_inicio_dia) - 1;
            } else {
              this.tiempoDia = (HSalida - hora_inicio_dia);
            }
          } else if (MinSalida == min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, y ")
                .append(HSalida - hora_inicio_dia)
                .append(" Hrs.");
            this.tiempoDia = (HSalida - hora_inicio_dia);
          } else if (MinSalida > min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append("1 Noche, ")
                .append(HSalida - hora_inicio_dia)
                .append(" Hrs. y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            if ((MinSalida - min_inicio_dia) <= tolerancia) {
              this.tiempoDia = (HSalida - hora_inicio_dia);
            } else {
              this.tiempoDia = (HSalida - hora_inicio_dia) + 1;
            }
          }
        }
      } else if (HIngreso < horaInicioNoche.getHours()) {
        int mins_antes = 0;
        int hrs_antes = 0;
        if (MinIngreso > 0) {
          mins_antes = 60 - MinIngreso;
          hrs_antes = (horaFinDia.getHours() - HIngreso) - 1;
        } else {
          mins_antes = 0;
          hrs_antes = (horaFinDia.getHours() - HIngreso);
        }
        int mins_hoy = 0;
        int hrs_hoy = 0;
        if (HSalida > hora_inicio_dia && MinSalida >= min_inicio_dia) {
          mins_hoy = MinSalida - min_inicio_dia;
          hrs_hoy = (HSalida - hora_inicio_dia);
        } else if (HSalida == hora_inicio_dia) {
          if (MinSalida < min_inicio_dia) {
            mins_hoy = 60 - (min_inicio_dia - MinSalida);
          } else if (MinSalida >= min_inicio_dia) {
            mins_hoy = MinSalida - min_inicio_dia;
          }
        }
        Time time_antes = new Time(hrs_antes, mins_antes, 0);
        Time time_actual = getTimeModificado(time_antes, mins_hoy + (60 * hrs_hoy));
        vistaTiempo
            .append(tiempo)
            .append("1 Noche, ")
            .append(time_actual.getHours())
            .append(" Hrs. y ")
            .append(time_actual.getMinutes())
            .append(" Min.");
        if (time_actual.getMinutes() <= tolerancia) {
          this.tiempoDia = time_actual.getHours();
        } else {
          this.tiempoDia = time_actual.getHours() + 1;
        }
      }
    } else if (getDiferenciaDias() > 1) {
      int noches_pasados = (int) getDiferenciaDias();
      this.cantNoche = noches_pasados;
      // TODO aqui recalcular bien la hora dia cuando empiece 07:30 o 08:00
      int cant_horas_dia = (horaFinDia.getHours() - horaInicioDia.getHours()) * noches_pasados;

      int hora_inicio_dia = horaInicioDia.getHours();
      int min_inicio_dia = horaInicioDia.getMinutes();
      if (HIngreso >= horaInicioNoche.getHours()) {
        if (HSalida < hora_inicio_dia) {
          vistaTiempo.append(tiempo).append(noches_pasados).append(" Noches");
        } else if (HSalida == hora_inicio_dia) {
          if (MinSalida <= min_inicio_dia + tolerancia) {
            this.tiempoDia = cant_horas_dia;
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia)
                .append(" Hrs.");
          } else {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia)
                .append(" Hrs. y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            this.tiempoDia = cant_horas_dia + 1;
          }
        } else if ((HSalida - hora_inicio_dia) == 1) {
          if (MinSalida < min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia + (HSalida - hora_inicio_dia))
                .append(" Hrs. y ")
                .append(60 - (min_inicio_dia - MinSalida))
                .append(" Min.");
            this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
          } else if (MinSalida == min_inicio_dia) {
            this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia + (HSalida - hora_inicio_dia))
                .append(" Hrs.");
          } else if (MinSalida > min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia + (HSalida - hora_inicio_dia))
                .append(" Hrs. y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            if ((MinSalida - min_inicio_dia) <= tolerancia) {
              this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
            } else {
              this.tiempoDia = cant_horas_dia + ((HSalida - hora_inicio_dia) + 1);
            }
          }
        } else if ((HSalida - hora_inicio_dia) > 1) {
          if (MinSalida < min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append((cant_horas_dia + (HSalida - hora_inicio_dia)) - 1)
                .append(" Hrs. y ")
                .append(60 - (min_inicio_dia - MinSalida))
                .append(" Min.");
            if ((60 - (min_inicio_dia - MinSalida)) <= tolerancia) {
              this.tiempoDia = (cant_horas_dia + (HSalida - hora_inicio_dia)) - 1;
            } else {
              this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
            }
          } else if (MinSalida == min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia + (HSalida - hora_inicio_dia))
                .append(" Hrs.");
            this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
          } else if (MinSalida > min_inicio_dia) {
            vistaTiempo
                .append(tiempo)
                .append(noches_pasados)
                .append(" Noches, ")
                .append(cant_horas_dia + (HSalida - hora_inicio_dia))
                .append(" Hrs. y ")
                .append(MinSalida - min_inicio_dia)
                .append(" Min.");
            if ((MinSalida - min_inicio_dia) <= tolerancia) {
              this.tiempoDia = cant_horas_dia + (HSalida - hora_inicio_dia);
            } else {
              this.tiempoDia = cant_horas_dia + ((HSalida - hora_inicio_dia) + 1);
            }
          }
        }
      } else if (HIngreso < horaInicioNoche.getHours()) {
        int mins_antes = 0;
        int hrs_antes = 0;
        if (MinIngreso > 0) {
          mins_antes = 60 - MinIngreso;
          hrs_antes = (horaFinDia.getHours() - HIngreso) - 1;
        } else {
          mins_antes = 0;
          hrs_antes = (horaFinDia.getHours() - HIngreso);
        }
        int mins_hoy = 0;
        int hrs_hoy = 0;
        if (HSalida > hora_inicio_dia && MinSalida >= min_inicio_dia) {
          mins_hoy = MinSalida - min_inicio_dia;
          hrs_hoy = (HSalida - hora_inicio_dia);
        } else if (HSalida == hora_inicio_dia) {
          if (MinSalida < min_inicio_dia) {
            mins_hoy = 60 - (min_inicio_dia - MinSalida);
          } else if (MinSalida >= min_inicio_dia) {
            mins_hoy = MinSalida - min_inicio_dia;
          }
        }
        Time time_antes = new Time(hrs_antes, mins_antes, 0);
        Time time_actual = getTimeModificado(time_antes, mins_hoy + (60 * hrs_hoy));
        vistaTiempo
            .append(tiempo)
            .append(noches_pasados)
            .append(" Noches, ")
            .append(cant_horas_dia + time_actual.getHours())
            .append(" Hrs. y ")
            .append(time_actual.getMinutes())
            .append(" Min.");
        if (time_actual.getMinutes() <= tolerancia) {
          this.tiempoDia = cant_horas_dia + time_actual.getHours();
        } else {
          this.tiempoDia = cant_horas_dia + (time_actual.getHours() + 1);
        }
      }
    }
  }