Пример #1
0
  public FacturaAlmacen actualiza(FacturaAlmacen otraFactura, Usuario usuario)
      throws NoEstaAbiertaException {
    FacturaAlmacen factura =
        (FacturaAlmacen) currentSession().get(FacturaAlmacen.class, otraFactura.getId());
    switch (factura.getEstatus().getNombre()) {
      case Constantes.ABIERTA:
        Session session = currentSession();
        factura.setVersion(otraFactura.getVersion());
        factura.setFecha(otraFactura.getFecha());
        factura.setComentarios(otraFactura.getComentarios());
        factura.setIva(otraFactura.getIva());
        factura.setTotal(otraFactura.getTotal());
        factura.setCliente(otraFactura.getCliente());
        Date fecha = new Date();
        factura.setFechaModificacion(fecha);
        session.update(factura);

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

        session.flush();
        return factura;
      default:
        throw new NoEstaAbiertaException("No se puede actualizar una factura que no este abierta");
    }
  }
Пример #2
0
 private void audita(FacturaAlmacen factura, Usuario usuario, String actividad, Date fecha) {
   XFacturaAlmacen xfactura = new XFacturaAlmacen();
   BeanUtils.copyProperties(factura, xfactura);
   xfactura.setId(null);
   xfactura.setFacturaAlmacenId(factura.getId());
   xfactura.setAlmacenId(factura.getAlmacen().getId());
   xfactura.setClienteId(factura.getCliente().getId());
   xfactura.setEstatusId(factura.getEstatus().getId());
   xfactura.setFechaCreacion(fecha);
   xfactura.setActividad(actividad);
   xfactura.setCreador((usuario != null) ? usuario.getUsername() : "sistema");
   currentSession().save(xfactura);
 }