Ejemplo n.º 1
0
 @Override
 public void actionPerformed(ActionEvent arg0) {
   if (Entrada.getText().trim() != "") {
     Salida.setText(Salida.getText() + Entrada.getText().trim() + "\n");
     Entrada.setText("");
   }
 }
  /*
   * saleVehiculo desocupa una plaza del array con un coche
   * y registra el movimiento.
   */
  public boolean saleVehiculo(String matricula) {

    boolean salir = true;
    Vehiculo v = new Vehiculo(matricula);

    // Bucle para ver la primera posicion libre del vector plazas
    for (int i = 0; i < plazas.size() && salir; i++) {

      if (plazas.get(i).equals(v)) {
        v = plazas.get(i).obtenerVehiculo();
        /*Hay sacar el vehiculo de la plaza para poder modificarlo
         * y usar su metodo desocupar.*/
        if (v.haPagado()) {
          plazas.get(i).desocupar();

          Salida nuevaSalida = new Salida(v, i);
          nuevaSalida.registrar();
        } else {
          System.out.println("No ha podido salir " + "porque el vehiculo todavia no ha pagado.");
        }
        salir = false;
      } else {
        System.out.println("El vehiculo no esta en el parking.");
      }
    }

    /*
     * retornara true siempre haya entrado un vehiculo porque cuando salir
     * es falso, si no ha podido entrar el vehiculo salir seguira a true
     * entonces la comparación dara false
     */
    return salir == false;
  }
Ejemplo n.º 3
0
  @Override
  /** Hace el trabajo pesado en segundo plano */
  protected String doInBackground() {
    try {
      // Lector y Escritor
      publish("Leyendo archivos...");
      Proceso proc = new Proceso(this, rutaDespacho, rutaImpresos, rutaData, bd);
      Salida salida = new Salida(this, rutaTramaAuto, rutaTramaMan);

      // Leer todos los datos
      publish("Analizando datos...");
      List<Poliza> listaPolizas = proc.procesarPolizas();

      // Escribir también
      publish("Construyendo tramas...");
      salida.generarDosTramas(listaPolizas);

      fin = salida.getResultado();
      publish(fin);
      return fin;

    } catch (Throwable e) {
      e.printStackTrace();
      error = true;
      if (e.getMessage() == null) fin = "Error. " + e + ". Contáctese con el desarrollador.";
      else fin = e.getMessage();
      publish(fin);
      return fin;
    }
  }
Ejemplo n.º 4
0
  public FacturaAlmacen cierra(FacturaAlmacen factura, Usuario usuario)
      throws NoSePuedeCerrarException, NoSePuedeCerrarEnCeroException, NoEstaAbiertaException {
    if (factura != null) {
      if (factura.getEstatus().getNombre().equals(Constantes.ABIERTA)) {
        if (usuario != null) {
          factura.setAlmacen(usuario.getAlmacen());
        }

        Date fecha = new Date();
        factura.setIva(BigDecimal.ZERO);
        factura.setTotal(BigDecimal.ZERO);
        Query query =
            currentSession().createQuery("select e from Estatus e where e.nombre = :nombre");
        query.setString("nombre", Constantes.FACTURADA);
        Estatus facturada = (Estatus) query.uniqueResult();
        for (Salida salida : factura.getSalidas()) {
          salida.setEstatus(facturada);
          salida.setFechaModificacion(fecha);
          currentSession().update(salida);
          audita(salida, usuario, Constantes.FACTURADA, fecha);
          factura.setIva(factura.getIva().add(salida.getIva()));
          factura.setTotal(factura.getTotal().add(salida.getTotal()));
        }

        for (Entrada entrada : factura.getEntradas()) {
          entrada.setEstatus(facturada);
          entrada.setFechaModificacion(fecha);
          currentSession().update(entrada);
          audita(entrada, usuario, Constantes.FACTURADA, fecha);
          factura.setIva(factura.getIva().subtract(entrada.getIva()));
          factura.setTotal(factura.getTotal().subtract(entrada.getTotal()));
        }

        query.setString("nombre", Constantes.CERRADA);
        Estatus estatus = (Estatus) query.uniqueResult();
        factura.setEstatus(estatus);
        factura.setFolio(getFolio(factura.getAlmacen()));
        factura.setFechaModificacion(fecha);

        currentSession().update(factura);

        audita(factura, usuario, Constantes.ACTUALIZAR, fecha);

        currentSession().flush();
        return factura;
      } else {
        throw new NoEstaAbiertaException("No se puede actualizar una factura que no este abierta");
      }
    } else {
      throw new NoSePuedeCerrarException("No se puede cerrar la factura pues no existe");
    }
  }
Ejemplo n.º 5
0
 private void audita(Salida salida, Usuario usuario, String actividad, Date fecha) {
   XSalida xsalida = new XSalida();
   BeanUtils.copyProperties(salida, xsalida);
   xsalida.setId(null);
   xsalida.setSalidaId(salida.getId());
   xsalida.setAlmacenId(salida.getAlmacen().getId());
   xsalida.setClienteId(salida.getCliente().getId());
   xsalida.setEstatusId(salida.getEstatus().getId());
   xsalida.setFechaCreacion(fecha);
   xsalida.setActividad(actividad);
   xsalida.setCreador((usuario != null) ? usuario.getUsername() : "sistema");
   currentSession().save(xsalida);
 }
Ejemplo n.º 6
0
  public FacturaAlmacen cancelar(Long id, Usuario usuario)
      throws NoEstaCerradaException, NoSePuedeCancelarException {
    FacturaAlmacen factura = (FacturaAlmacen) currentSession().get(FacturaAlmacen.class, id);
    if (factura != null) {
      if (factura.getEstatus().getNombre().equals(Constantes.CERRADA)) {
        Query query =
            currentSession().createQuery("select e from Estatus e where e.nombre = :nombre");
        query.setString("nombre", Constantes.CERRADA);
        Estatus cerrada = (Estatus) query.uniqueResult();

        Date fecha = new Date();
        for (Entrada entrada : factura.getEntradas()) {
          entrada.setEstatus(cerrada);
          entrada.setFechaModificacion(fecha);
          currentSession().update(entrada);

          audita(entrada, usuario, Constantes.ACTUALIZAR, fecha);
        }

        for (Salida salida : factura.getSalidas()) {
          salida.setEstatus(cerrada);
          salida.setFechaModificacion(fecha);
          currentSession().update(salida);

          audita(salida, usuario, Constantes.ACTUALIZAR, fecha);
        }

        query.setString("nombre", Constantes.CANCELADA);
        Estatus cancelada = (Estatus) query.uniqueResult();
        factura.setFechaModificacion(new Date());
        factura.setEstatus(cancelada);
        currentSession().update(factura);
        currentSession().flush();
        return factura;
      } else {
        throw new NoEstaCerradaException(
            "No se puede actualizar una factura que no este cerrada", factura);
      }
    } else {
      throw new NoSePuedeCancelarException(
          "No se puede cancelar la factura porque no existe", factura);
    }
  }