<?php
/**
* Descripción del Modelo de Datos UsuariosColaborador
*
* %%DESC_MODELO%%
*
* Licenciado bajo la Licencia Apache, Versión 2.0;
* Usted no puede usar este archivo excepto en conformidad con la Licencia.
* Usted puede obtener una copia de la Licencia en:
* http://www.php.net/license/3_01.txt.
* A menos que sea requerido por la ley aplicable o acordado por escrito, el software
* Distribuido bajo la licencia se distribuye en una "AS IS" o "COMO ESTA" BASE,
* SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
* Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
*
* @package Modelos\Datos\UsuariosColaborador
* @author LUIS ANTONIO MONTOYA CONTRERAS <lmontoya@ccsm.org.co>
* @author SICAM 20171025 <sicam32@ccsm.org.co>
* @copyright 2017 Cámara de Comercio de Santa Marta para el Magdalena
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version 201712191136
* @link http://sicam.ccsm.org.co/docs/modelos/datos/UsuariosColaborador
*/
class UsuariosColaborador extends ModeloDatos {
const ACTIVO = 'ACTIVO';
const DESACTIVO = 'DESACTIVO';
const SUSPENDIDO = 'SUSPENDIDO';
/**
* Recibe el Identificador del registro de UsuariosColaborador y
* devuelve un objeto con sus datos.
* @param int $usuarioID
* @return Objeto UsuariosColaborador
*/
public static function datos($usuarioID) {
$sqlQuery = UsuariosColaboradorSQL::DATOS_BASICOS . " WHERE usuarioID = ? AND Usuarios.colaboradorID IS NOT NULL ; ";
$usuario = SicamDB::selectUnaFila($sqlQuery, array($usuarioID));
$usuario->roles = Usuarios::roles($usuarioID);
$usuario->permisos = Usuarios::permisos($usuarioID);
if(!empty($usuario)):
$usuario->colaborador = Colaboradores::datos($usuario->colaboradorID);
return $usuario;
endif;
return null;
}
/**
* Recibe el Identificador del registro de UsuariosColaborador y
* devuelve un objeto con sus datos completos con todas sus relacion.
* @param int $usuarioID
* @return Objeto UsuariosColaborador
*/
public static function datosCompletos($usuarioID) {
$sqlQuery = UsuariosColaboradorSQL::DATOS_COMPLETOS . " WHERE usuarioID = ? ; ";
$UsuariosColaborador = SicamDB::selectUnaFila($sqlQuery, array($usuarioID));
$UsuariosColaborador->Items = Items::delUsuariosColaborador($usuarioID);
$UsuariosColaborador->Usuario = Usuarios::datos($UsuariosColaborador->usuarioUSRCREO);
return $UsuariosColaborador;
}
/**
* Devuelve todos los registros de UsuariosColaboradores, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param String $usuarioESTADO
* @return Array de Objetos UsuariosColaboradores
*/
public static function todos($usuarioESTADO = null) {
$sqlQuery = UsuariosColaboradorSQL::DATOS_COMPLETOS;
$datos = array();
if (!is_null($usuarioESTADO)) {
$sqlQuery .= " WHERE usuarioESTADO = ? ";
array_push($datos, $usuarioESTADO);
}
return SicamDB::selectVariasFilas($sqlQuery, $datos);
}
/**
* Devuelve los registros de UsuariosColaboradores en estado ACTIVO.
* @return Array de Objetos UsuariosColaboradores
*/
public static function activos() {
return self::todos(self::ACTIVO);
}
/**
* Recibe Todos los datos de necesarios para la creación de un nuevo
* registro de UsuariosColaboradores.
* @param int $categoriaID Identificador de la Categoria
* @param String $usuarioCODIGO Código de UsuariosColaboradores
* @param String $usuarioTITULO Titulo de UsuariosColaboradores
* @param Texto $usuarioDESCRIPCION Descripción de UsuariosColaboradores
* @param Url $usuarioURL Url del archivo asociado al UsuariosColaboradores
* @param String $usuarioESTADO Estado del registro de UsuariosColaboradores
* @return int con el Identificador del Registro UsuariosColaboradores
*/
public static function guardar($colaboradorID, $usuarioNOMBRE, $usuarioCLAVE, $usuarioESTADO, $usuarioADMINISTRADOR) {
$sqlQuery = UsuariosColaboradorSQL::CREAR_REGISTRO;
return SicamDB::insertFila($sqlQuery, array(
$colaboradorID, $usuarioNOMBRE, $usuarioCLAVE, $usuarioESTADO,
Cliente::usuarioID(), $usuarioADMINISTRADOR
)
);
}
/**
* Recibe los todos los datos del registro para ser actualizados, junto con
* el identificador del registro que se va ha actualizar.
* @param int $usuarioID Identificador del Registro de UsuariosColaboradores
* @param int $categoriaID Identificador de la Categoria
* @param String $usuarioCODIGO Código de UsuariosColaboradores
* @param String $usuarioTITULO Titulo de UsuariosColaboradores
* @param Texto $usuarioDESCRIPCION Descripción de UsuariosColaboradores
* @param Url $usuarioURL Url del archivo asociado al UsuariosColaboradores
* @param String $usuarioESTADO Estado del registro de UsuariosColaboradores
* @return int cantidad de registros actualziados en la operacion
*/
public static function actualizar( $usuarioID, $usuarioNOMBRE, $usuarioADMINISTRADOR) {
$sqlQuery = UsuariosColaboradorSQL::ACTUALIZAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array(
$usuarioNOMBRE,
$usuarioADMINISTRADOR, $usuarioID
)
);
}
/**
* Recibe un identificador de UsuariosColaboradores y elimina el registro.
* @param int $usuarioID Identificador del registro
* ha eliminar.
* @return int Cantidad de registros eliminados
*/
public static function eliminar($usuarioID) {
$sqlQuery = UsuariosColaboradoresSQL::ELIMINAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array($usuarioID));
}
/**
* Recibe un identificador de UsuariosColaboradores y reactiva el registro.
* @param int $usuarioID Identificador del registro
* @return int Cantidad de registros reactivados
*/
public static function reactivar($usuarioID) {
return self::cambiarEstado(self::ACTIVO, $usuarioID);
}
/**
* Recibe un identificador y el Estado y actualiza el estado del registro
* @param String $usuarioESTADO Nuevo estado del registro.
* @param int $usuarioID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function cambiarEstado($usuarioESTADO, $usuarioID) {
$sqlQuery = UsuariosColaboradorSQL::ACUALIZAR_ESTADO;
return SicamDB::actualizarFila($sqlQuery, array($usuarioESTADO, $usuarioID));
}
/**
* Recibe un identificador de UsuariosColaboradores y desactiva el registro.
* @param int $usuarioID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function desactivar($usuarioID) {
return self::cambiarEstado(self::DESACTIVO, $usuarioID);
}
}
// Generado el 2017-12-19 11:36:01:000000