<?php
// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('CA_ESTADO_CAJA', 'doctrine');

/**
 * BaseCA_ESTADO_CAJA
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_estado_caja
 * @property integer $id_punto_venta
 * @property integer $id_caja
 * @property integer $estado
 * @property integer $sesion
 * @property timestamp $fecha_estado
 * @property integer $cajero
 * @property integer $num_factura
 * @property decimal $valor_base
 * @property integer $actual
 * @property CA_CAJA $CA_CAJA
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_3
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_4
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_5
 * @property CA_PUNTO_VENTA $CA_PUNTO_VENTA
 * @property Doctrine_Collection $CA_FACTURA_POS
 * 
 * @method integer             getIdEstadoCaja()          Returns the current record's "id_estado_caja" value
 * @method integer             getIdPuntoVenta()          Returns the current record's "id_punto_venta" value
 * @method integer             getIdCaja()                Returns the current record's "id_caja" value
 * @method integer             getEstado()                Returns the current record's "estado" value
 * @method integer             getSesion()                Returns the current record's "sesion" value
 * @method timestamp           getFechaEstado()           Returns the current record's "fecha_estado" value
 * @method integer             getCajero()                Returns the current record's "cajero" value
 * @method integer             getNumFactura()            Returns the current record's "num_factura" value
 * @method decimal             getValorBase()             Returns the current record's "valor_base" value
 * @method integer             getActual()                Returns the current record's "actual" value
 * @method CA_CAJA             getCACAJA()                Returns the current record's "CA_CAJA" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA()     Returns the current record's "CA_EJECUTIVO_CUENTA" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA3()    Returns the current record's "CA_EJECUTIVO_CUENTA_3" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA4()    Returns the current record's "CA_EJECUTIVO_CUENTA_4" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA5()    Returns the current record's "CA_EJECUTIVO_CUENTA_5" value
 * @method CA_PUNTO_VENTA      getCAPUNTOVENTA()          Returns the current record's "CA_PUNTO_VENTA" value
 * @method Doctrine_Collection getCAFACTURAPOS()          Returns the current record's "CA_FACTURA_POS" collection
 * @method CA_ESTADO_CAJA      setIdEstadoCaja()          Sets the current record's "id_estado_caja" value
 * @method CA_ESTADO_CAJA      setIdPuntoVenta()          Sets the current record's "id_punto_venta" value
 * @method CA_ESTADO_CAJA      setIdCaja()                Sets the current record's "id_caja" value
 * @method CA_ESTADO_CAJA      setEstado()                Sets the current record's "estado" value
 * @method CA_ESTADO_CAJA      setSesion()                Sets the current record's "sesion" value
 * @method CA_ESTADO_CAJA      setFechaEstado()           Sets the current record's "fecha_estado" value
 * @method CA_ESTADO_CAJA      setCajero()                Sets the current record's "cajero" value
 * @method CA_ESTADO_CAJA      setNumFactura()            Sets the current record's "num_factura" value
 * @method CA_ESTADO_CAJA      setValorBase()             Sets the current record's "valor_base" value
 * @method CA_ESTADO_CAJA      setActual()                Sets the current record's "actual" value
 * @method CA_ESTADO_CAJA      setCACAJA()                Sets the current record's "CA_CAJA" value
 * @method CA_ESTADO_CAJA      setCAEJECUTIVOCUENTA()     Sets the current record's "CA_EJECUTIVO_CUENTA" value
 * @method CA_ESTADO_CAJA      setCAEJECUTIVOCUENTA3()    Sets the current record's "CA_EJECUTIVO_CUENTA_3" value
 * @method CA_ESTADO_CAJA      setCAEJECUTIVOCUENTA4()    Sets the current record's "CA_EJECUTIVO_CUENTA_4" value
 * @method CA_ESTADO_CAJA      setCAEJECUTIVOCUENTA5()    Sets the current record's "CA_EJECUTIVO_CUENTA_5" value
 * @method CA_ESTADO_CAJA      setCAPUNTOVENTA()          Sets the current record's "CA_PUNTO_VENTA" value
 * @method CA_ESTADO_CAJA      setCAFACTURAPOS()          Sets the current record's "CA_FACTURA_POS" collection
 * 
 * @package    nomina
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseCA_ESTADO_CAJA extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('CA_ESTADO_CAJA');
        $this->hasColumn('id_estado_caja', 'integer', 20, array(
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 20,
             ));
        $this->hasColumn('id_punto_venta', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('id_caja', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('estado', 'integer', 1, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 1,
             ));
        $this->hasColumn('sesion', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('fecha_estado', 'timestamp', 7, array(
             'notnull' => true,
             'type' => 'timestamp',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 7,
             ));
        $this->hasColumn('cajero', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('num_factura', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('valor_base', 'decimal', 38, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 38,
             ));
        $this->hasColumn('actual', 'integer', 1, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '1
                ',
             'primary' => false,
             'length' => 1,
             ));
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('CA_CAJA', array(
             'local' => 'id_caja',
             'foreign' => 'id_caja'));

        $this->hasOne('CA_EJECUTIVO_CUENTA', array(
             'local' => 'id_punto_venta',
             'foreign' => 'id_mae_ter'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_3', array(
             'local' => 'cajero',
             'foreign' => 'id_mae_ter'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_4', array(
             'local' => 'id_punto_venta',
             'foreign' => 'id_punto_venta'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_5', array(
             'local' => 'cajero',
             'foreign' => 'id_punto_venta'));

        $this->hasOne('CA_PUNTO_VENTA', array(
             'local' => 'id_punto_venta',
             'foreign' => 'id_punto_venta'));

        $this->hasMany('CA_FACTURA_POS', array(
             'local' => 'id_estado_caja',
             'foreign' => 'id_estado_caja'));
    }
}