<?php

/**
 * seq actions.
 *
 * @package    contab2
 * @subpackage seq
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class seqActions extends sfActions {

    /**
     *
     * @param sfRequest $request A request object
     */
    public function executeUpdate(sfWebRequest $request) {

        //url de ejecucion = http://localhost/contab/web/api_dev.php/api/seq/update.json?id_cia=1

        /*
         * DataStudio
         *
         *
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CENTRO_COSTO) FROM CN_CENTRO_COSTO),0)
          WHERE NOM_ENTIDAD='CN_CENTRO_COSTO' AND ID_CIA=1
          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_SUB_CENTRO_COSTO) FROM CN_SUB_CENTRO_COSTO),0)
          WHERE NOM_ENTIDAD='CN_SUB_CENTRO_COSTO' AND ID_CIA=1
          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CONTROL_PERIODO) FROM CN_CONTROL_PERIODO),0)
          WHERE NOM_ENTIDAD='CN_CONTROL_PERIODO' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_GRUPO_CUENTA) FROM CN_GRUPO_CUENTA),0)
          WHERE NOM_ENTIDAD='CN_GRUPO_CUENTA' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CLASE_CUENTA) FROM CN_CLASE_CUENTA),0)
          WHERE NOM_ENTIDAD='CN_CLASE_CUENTA' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CUENTA_MAYOR) FROM CN_CUENTA_MAYOR),0)
          WHERE NOM_ENTIDAD='CN_CUENTA_MAYOR' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CATALOGO) FROM CN_CATALOGO),0)
          WHERE NOM_ENTIDAD='CN_CATALOGO' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_AUXILIAR) FROM CN_AUXILIAR),0)
          WHERE NOM_ENTIDAD='CN_AUXILIAR' AND ID_CIA=1


          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CEN_OP) FROM CN_CENTRO_OPERACION),0)
          WHERE NOM_ENTIDAD='CN_CENTRO_OPERACION' AND ID_CIA=1


          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_MAE_TER) FROM CN_MAE_TER),0)
          WHERE NOM_ENTIDAD='CN_MAE_TER' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_TD) FROM CN_TD),0)
          WHERE NOM_ENTIDAD='CN_TD' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_AUXILIAR) FROM CN_AUXILIAR),0)
          WHERE NOM_ENTIDAD='CN_AUXILIAR' AND ID_CIA=1


          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_TIPO_COMPROBANTE) FROM CN_TIPO_COMPROBANTE),0)
          WHERE NOM_ENTIDAD='CN_TIPO_COMPROBANTE' AND ID_CIA=1

          go
          UPDATE CN_TABLE_SEQ
          SET SEQ = NVL((SELECT max(ID_CATALOGO) FROM CN_CATALOGO),0)
          WHERE NOM_ENTIDAD='CN_CATALOGO' AND ID_CIA=1

         */


        /*
         * Obtiene el maximo id de la tabla y actualiza la secuencia...
         */

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = (SELECT max(ID_CENTRO_COSTO) FROM CN_CENTRO_COSTO)
                    WHERE NOM_ENTIDAD=\'CN_CENTRO_COSTO\' AND ID_CIA=1';

        $red = CN_TABLE::executeSQL($sql);

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = NVL((SELECT max(ID_SUB_CENTRO_COSTO) FROM CN_SUB_CENTRO_COSTO),0)
                    WHERE NOM_ENTIDAD=\'CN_SUB_CENTRO_COSTO\' AND ID_CIA=1';

        $red = CN_TABLE::executeSQL($sql);

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = (SELECT max(ID_CONTROL_PERIODO) FROM CN_CONTROL_PERIODO)
                    WHERE NOM_ENTIDAD=\'CN_CONTROL_PERIODO\' AND ID_CIA=1';

        $red = CN_TABLE::executeSQL($sql);

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = (SELECT max(ID_) FROM CN_)
                    WHERE NOM_ENTIDAD=\'CN_\' AND ID_CIA=1';

        $red = CN_TABLE::executeSQL($sql);

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = (SELECT max(ID_) FROM CN_)
                    WHERE NOM_ENTIDAD=\'CN_\' AND ID_CIA=1';

        $red = CN_TABLE::executeSQL($sql);

        $sql = 'UPDATE CN_TABLE_SEQ
                    SET SEQ = (SELECT max(ID_MAE_TER) FROM CN_MAE_TER)
                    WHERE NOM_ENTIDAD=\'CN_MAE_TER\' AND ID_CIA=1';

        /*
         * Ejecuta sentencia sql
         */
        $red = CN_TABLE::executeSQL($sql);

//
//        /*
//         * Obtiene y modifica secuencia para la tabla de secuencias automaticamente...
//         */
//        $sql = 'SELECT * FROM CN_TABLE_SEQ';
//
//        /*
//         * Ejecuta sentencia sql
//         */
//        $records = CN_TABLE::executeSQL($sql);
//
//        foreach ($records as $record) {
//
//            /*
//             * Obtiene ...
//             */
//            $sql = 'UPDATE CN_TABLE_SEQ
//                    SET SEQ = (SELECT max(ID_MAE_TER) FROM CN_MAE_TER)
//                    WHERE NOM_ENTIDAD=' . $record['NOM_ENTIDAD'] . ' AND ID_CIA=1';
//
//            /*
//             * Ejecuta sentencia sql
//             */
//            $red = CN_TABLE::executeSQL($sql);
//        }

        /*
         * actualizacion secuencias por vigencia
         *         
         *
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_DOCUMENTO) FROM CN_DOCUMENTO where ID_VIGENCIA = 2010 ),0 )
          WHERE NOM_ENTIDAD='CN_DOCUMENTO' AND ID_CIA=1 and ID_VIGENCIA = 2010

          go
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_DOCUMENTO) FROM CN_DOCUMENTO where ID_VIGENCIA = 2011 ),0 )
          WHERE NOM_ENTIDAD='CN_DOCUMENTO' AND ID_CIA=1 and ID_VIGENCIA = 2011
          go
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_CAD) FROM CN_CONTROL_CAD where ID_VIGENCIA = 2010 ),0 )
          WHERE NOM_ENTIDAD='CN_CONTROL_CAD' AND ID_CIA=1 and ID_VIGENCIA = 2010
          go
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_CAD) FROM CN_CONTROL_CAD where ID_VIGENCIA = 2011 ),0 )
          WHERE NOM_ENTIDAD='CN_CONTROL_CAD' AND ID_CIA=1 and ID_VIGENCIA = 2011
          go
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_MOV_CONT) FROM CN_MOVIMIENTO_CONTABLE where ID_VIGENCIA = 2010 ),0 )
          WHERE NOM_ENTIDAD='CN_MOVIMIENTO_CONTABLE' AND ID_CIA=1 and ID_VIGENCIA = 2010

          go
          UPDATE CN_TABLE_VIG_SEQ
          SET SEQ = NVL( (SELECT max(ID_MOV_CONT) FROM CN_MOVIMIENTO_CONTABLE where ID_VIGENCIA = 2011 ),0 )
          WHERE NOM_ENTIDAD='CN_MOVIMIENTO_CONTABLE' AND ID_CIA=1 and ID_VIGENCIA = 2011
         *
         */
    }

}
