<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Consecutivos
*
* @author CCSM
*/
class Consecutivos {
static $nombreTabla = "ControlConsecutivos";
public static function todos() {
$sqlQuery = "SELECT * FROM " . self::$nombreTabla;
return Conexion::selectVariasFilas($sqlQuery);
}
public static function actual($consecutivoCODIGO) {
$Consutivo = self::actualPorCodigo($consecutivoCODIGO);
return $Consutivo->ACTUAL;
}
public static function actualPorCodigo($consecutivoCODIGO) {
$sqlQuery = " SELECT *, LPAD(consecutivoACTUAL,consecutivoRELLENO,'0') AS ACTUAL FROM " . self::$nombreTabla . " "
. "WHERE " . self::$nombreTabla . ".consecutivoCODIGO = ? ";
return SicamDB::selectUnaFila($sqlQuery, array($consecutivoCODIGO));
}
public static function usar($consecutivoCODIGO, $prefijo = false) {
SicamDB::iniciarTransaccion();
$sqlQuery = "UPDATE ControlConsecutivos "
. "SET consecutivoACTUAL = ( consecutivoACTUAL + 1 ) "
. "WHERE consecutivoCODIGO = ? ";
if (SicamDB::actualizarFila($sqlQuery, array($consecutivoCODIGO)) > 0) {
SicamDB::grabarTransaccion();
if($prefijo){
$consecutivo = self::actualPorCodigo($consecutivoCODIGO);
return $consecutivo->consecutivoPREFIJO.$consecutivo->ACTUAL;
}else{
return self::actual($consecutivoCODIGO);
}
}
SicamDB::cancelarTransaccion();
return NULL;
}
// public static function actualConsecutivoPrefijo($prefijoConsecutivoCodigo) {
// $sqlQuery = " SELECT *, LPAD(consecutivoACTUAL,consecutivoRELLENO,'0') AS consecutivoACTUAL FROM " . self::$nombreTabla . " "
// . "WHERE " . self::$nombreTabla . ".consecutivoPREFIJO = '$prefijoConsecutivoCodigo' ";
// return Conexion::selectUnaFila($sqlQuery);
// }
// public static function usarConsecutivo($idConsecutivo) {
// $sqlQuery = "UPDATE ControlConsecutivos "
// . "SET consecutivoACTUAL = ( consecutivoACTUAL + 1 ) "
// . "WHERE consecutivoID = $idConsecutivo ";
// if (Conexion::actualizarFila($sqlQuery) > 0) {
// return self::actualConsecutivo($idConsecutivo);
// }
// return NULL;
// }
// public static function usarConsecutivoPrefijo($prefijoConsecutivoCodigo) {
// $sqlQuery = "UPDATE ControlConsecutivos "
// . "SET consecutivoACTUAL = ( consecutivoACTUAL + 1 ) "
// . "WHERE consecutivoPREFIJO = '$prefijoConsecutivoCodigo' ";
// if (Conexion::actualizarFila($sqlQuery) > 0) {
// return self::actualConsecutivoPrefijo($prefijoConsecutivoCodigo);
// }
// return NULL;
// }
// public static function reiniciarConsecutivoPrefijo($prefijoConsecutivoCodigo) {
// $sqlQuery = "UPDATE ControlConsecutivos "
// . "SET consecutivoACTUAL = 0 "
// . "WHERE consecutivoPREFIJO = '$prefijoConsecutivoCodigo' ";
// if (Conexion::actualizarFila($sqlQuery) > 0) {
// return self::actualConsecutivoPrefijo($prefijoConsecutivoCodigo);
// }
// return NULL;
// }
}