<?php
/**
* Descripción del Modelo vigencia
*
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio.
* Quisque volutpat mattis eros. Nullam malesuada erat ut turpis.
*
* @package Constructor\Modelo
* @license GPL
* @author Diseñado por jpllinas@ccsm.org.co; Generado por SICAM.
*
*/
class Vigencias {
const VIGENTE = 'VIGENTE';
const VENCIDA = 'VENCIDA';
const PLANEADA = 'PLANEADA';
const PREPARACION = 'PREPARACION';
/**
* Devuleve el objeto con los datos de la Vigencia Actual.
* @return Objeto Vigencias
*/
public static function actual() {
$sqlQuery = VigenciasSQL::DATOS_COMPLETOS . " WHERE vigenciaESTADO = ? ; ";
return SicamDB::selectUnaFila($sqlQuery, array(self::VIGENTE));
}
/**
* Recibe el Identificador del registro de Vigencias y
* devuelve un objeto con sus datos.
* @param int $vigenciaID
* @return Objeto Vigencias
*/
public static function datos($vigenciaID) {
$sqlQuery = VigenciasSQL::DATOS_COMPLETOS . " WHERE vigenciaID = ? ; ";
return SicamDB::selectUnaFila($sqlQuery, array($vigenciaID));
}
/**
* Devuelve todos los registros de Vigencias, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param String $vigenciaESTADO
* @return Array de Objetos Vigencias
*/
public static function todos($vigenciaESTADO = null) {
$datos = array();
$sqlQuery = VigenciasSQL::DATOS_BASICOS;
if (!is_null($vigenciaESTADO)) {
$sqlQuery .= " WHERE vigenciaESTADO = ? ";
array_push($datos, $vigenciaESTADO);
}
return SicamDB::selectVariasFilas($sqlQuery);
}
/**
* Devuelve los registros de Vigencias en estado ACTIVO.
* @return Array de Objetos Vigencias
*/
public static function vigentes() {
return self::todos(self::VIGENTE);
}
/**
* Devuelve los registros de Vigencias en estado DESACTIVO.
* @return Array de Objetos Vigencias
*/
public static function vencidas() {
return self::todos(self::VENCIDA);
}
/**
* Recibe Todos los datos de necesarios para la creación de un nuevo
* registro de Vigencias.
* @param int $categoriaID Identificador de la Categoria
* @param String $vigenciaCODIGO Código de Vigencias
* @param String $vigenciaTITULO Titulo de Vigencias
* @param Texto $vigenciaDESCRIPCION Descripción de Vigencias
* @param Url $vigenciaURL Url del archivo asociado al Vigencias
* @param String $vigenciaESTADO Estado del registro de Vigencias
* @return int con el Identificador del Registro Vigencias
*/
public static function guardar($categoriaID, $vigenciaCODIGO, $vigenciaTITULO, $vigenciaDESCRIPCION, $vigenciaURL, $vigenciaESTADO) {
$sqlQuery = VigenciasSQL::CREAR_REGISTRO;
return SicamDB::insertFila($sqlQuery, array(
$categoriaID, $vigenciaCODIGO, $vigenciaTITULO, $vigenciaDESCRIPCION,
$vigenciaURL, $vigenciaESTADO, Cliente::usuarioID()
)
);
}
/**
* Recibe los todos los datos del registro para ser actualizados, junto con
* el identificador del registro que se va ha actualizar.
* @param int $vigenciaID Identificador del Registro de Vigencias
* @param int $categoriaID Identificador de la Categoria
* @param String $vigenciaCODIGO Código de Vigencias
* @param String $vigenciaTITULO Titulo de Vigencias
* @param Texto $vigenciaDESCRIPCION Descripción de Vigencias
* @param Url $vigenciaURL Url del archivo asociado al Vigencias
* @param String $vigenciaESTADO Estado del registro de Vigencias
* @return int cantidad de registros actualziados en la operacion
*/
public static function actualizar($vigenciaID, $categoriaID, $vigenciaCODIGO, $vigenciaTITULO, $vigenciaDESCRIPCION, $vigenciaURL, $vigenciaESTADO) {
$sqlQuery = VigenciasSQL::ACTUALIZAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array(
$categoriaID, $vigenciaCODIGO,
$vigenciaTITULO, $vigenciaDESCRIPCION, $vigenciaURL,
$vigenciaESTADO, Cliente::usuarioID(), $vigenciaID
)
);
}
/**
* Recibe un identificador de Vigencias y elimina el registro.
* @param int $vigenciaID Identificador del registro
* ha eliminar.
* @return int Cantidad de registros eliminados
*/
public static function eliminar($vigenciaID) {
$sqlQuery = VigenciasSQL::ELIMINAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array($vigenciaID));
}
/**
* Recibe un identificador de Vigencias y desactiva el registro.
* @param int $vigenciaID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function desactivar($vigenciaID) {
return self::cambiarEstado(self::DESACTIVO, $vigenciaID);
}
/**
* Recibe un identificador de Vigencias y reactiva el registro.
* @param int $vigenciaID Identificador del registro
* @return int Cantidad de registros reactivados
*/
public static function reactivar($vigenciaID) {
return self::cambiarEstado(self::ACTIVO, $vigenciaID);
}
/**
* Recibe un identificador y el Estado y actualiza el estado del registro
* @param String $vigenciaESTADO Nuevo estado del registro.
* @param int $vigenciaID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function cambiarEstado($vigenciaESTADO, $vigenciaID) {
$sqlQuery = VigenciasSQL::ACUALIZAR_ESTADO;
return SicamDB::actualizarFila($sqlQuery, array($vigenciaESTADO, $vigenciaID));
}
}