<?php
/*
* Copyright 2017-09-08 Cámara de Comercio de Santa Marta para el Magdalena.
* Autor: Luis Montoya <lmontoya@ccsm.org.co at www.ccsm.org.co>.
* Archivo: Colaboradores.
*
* 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.apache.org/licenses/LICENSE-2.0
*
* 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.
*/
class Colaboradores {
const ACTIVO = 'ACTIVO';
const DESACTIVO = 'DESACTIVO';
const SUSPENDIDO = 'SUSPENDIDO';
/**
* Devuelve todos los registros de colaboradores, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param String $colaboradorESTADO
* @return Array de Objetos colaboradores
*/
public static function todos($colaboradorESTADO = null) {
$datos = array();
$sqlQuery = ColaboradoresSQL::$sqlCompleto ;
if (!is_null($colaboradorESTADO)) {
$sqlQuery .= " WHERE CamaraColaboradores.colaboradorESTADO = ? ";
array_push($datos, $colaboradorESTADO);
}
return SicamDB::selectVariasFilas($sqlQuery, $datos);
}
/**
* Devuelve los registros de colaboradores en estado ACTIVO.
* @return Array de Objetos colaboradores
*/
public static function activos() {
return self::todos(self::ACTIVO);
}
/**
* Devuelve los registros de colaboradores en estado DESACTIVO.
* @return Array de Objetos colaboradores
*/
public static function desactivos() {
return self::todos(self::DESACTIVO);
}
//put your code here
public static function getColaboradoresPorSedes($idSede){
$sqlQuery = '
SELECT Personas.personaNOMBRES,CamaraColaboradores.colaboradorID
FROM CamaraColaboradores
INNER JOIN Personas ON CamaraColaboradores.personaID = Personas.personaID
INNER JOIN CamaraPuestosTrabajo ON CamaraColaboradores.puestoTrabajoID = CamaraPuestosTrabajo.puestoTrabajoID
INNER JOIN CamaraSedes ON CamaraPuestosTrabajo.sedeID = CamaraSedes.sedeID
WHERE (CamaraPuestosTrabajo.sedeID = ?)AND ( CamaraColaboradores.colaboradorESTADO = "ACTIVO")';
return SicamDB::selectVariasFilas($sqlQuery, array($idSede));
}
public static function porIdUsuario($usuarioID) {
$sqlQuery = ColaboradoresSQL::DATOS_COLABORADORES_USUARIO_PERSONA_CARGO_DIRECION_CORREO . " WHERE Usuarios.usuarioID = ?; ";
return SicamDB::selectUnaFila($sqlQuery, array($usuarioID));
}
public static function datosCompletosPorUsuario($usuarioID) {
$sqlQuery = ColaboradoresSQL::$sqlCompleto . " WHERE ( Usuarios.usuarioID = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($usuarioID));
}
public static function datosColaboradoresUsuarioPorIdUsuario($usuarioID) {
$sqlQuery = ColaboradoresSQL::DATOS_COLABORADORES_USUARIO_PERSONA_CARGO_DIRECION_CORREO." WHERE ( Usuarios.usuarioID = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($usuarioID));
}
public static function porCedula($identificacion) {
return self::porIdentificacion(TiposIdentificacion::CEDULA, $identificacion);
}
public static function porIdentificacion($tipoIdentificacion, $identificacion) {
$sqlQuery = ColaboradoresSQL::DATOS_COLABORADORES_USUARIO_PERSONA_CARGO_DIRECION_CORREO . " WHERE ( Personas.personaIDENTIFICACION = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($identificacion));
}
public static function porNumeroIdentificacion($identificacion) {
$sqlQuery = ColaboradoresSQL::$sqlDatosColaborador . " WHERE ( Personas.personaIDENTIFICACION = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($identificacion));
}
public static function porId($colaboradorID) {
$sqlQuery = ColaboradoresSQL::$sqlCompleto . " WHERE ( CamaraColaboradores.colaboradorID = ? ); ";
return SicamDB::selectUnaFila($sqlQuery, array($colaboradorID));
}
public static function guardar($cargoID, $personaID, $puestoTrabajoID, $tipoColaboradorID, $colaboradorEMAIL, $colaboradorESTADO, $colaboradorJefeInmediato) {
$sqlQuery = "INSERT INTO CamaraColaboradores ( cargoID, personaID, puestoTrabajoID, tipoColaboradorID, colaboradorEMAIL ,colaboradorESTADO, colaboradorJEFEINMEDIATO, colaboradorUSRACTIVO ) VALUES (?, ?, ?, ?, ?, ?, ?);";
return SicamDB::insertFila($sqlQuery, array($cargoID, $personaID, $puestoTrabajoID, $tipoColaboradorID,
$colaboradorEMAIL, $colaboradorESTADO, $colaboradorJefeInmediato, Cliente::usuarioID()));
}
public static function actualizar($colaboradorID, $cargoID, $puestoTrabajoID, $tipoColaboradorID, $colaboradorESTADO) {
$sqlQuery = ColaboradoresSQL::ACTUALIZAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array($cargoID, $puestoTrabajoID, $tipoColaboradorID, $colaboradorESTADO, $colaboradorID));
}
public static function eliminar($colaboradorID) {
$sqlQuery = "DELETE FROM CamaraColaboradores WHERE colaboradorID = ?;";
return SicamDB::actualizarFila($sqlQuery, array($colaboradorID));
}
public static function actualizarTipoColaborador($tipoColaboradorID, $colaboradorID) {
$sqlQuery = "UPDATE CamaraColaboradores SET tipoColaboradorID = ? WHERE colaboradorID = ? ;";
return SicamDB::actualizarFila($sqlQuery, array($tipoColaboradorID, $colaboradorID));
}
public static function actualizarCargoColaborador($cargoID, $colaboradorID) {
$sqlQuery = "UPDATE CamaraColaboradores SET cargoID = ? WHERE colaboradorID = ? ;";
return SicamDB::actualizarFila($sqlQuery, array($cargoID, $colaboradorID));
}
public static function actualizarPuestoTrabajoColaborador($puestoTrabajoID, $colaboradorID) {
$sqlQuery = "UPDATE CamaraColaboradores SET puestoTrabajoID = ? WHERE colaboradorID = ? ;";
return SicamDB::actualizarFila($sqlQuery, array($puestoTrabajoID, $colaboradorID));
}
public static function actualizarJefeInmediato($jefeInmediato, $colaboradorID) {
$sqlQuery = ColaboradoresSQL::ACTUALIZAR_JEFEINMEDIATO;
return SicamDB::actualizarFila($sqlQuery, array($jefeInmediato, $colaboradorID));
}
public static function actualizarEstadoColaborador($estadoColaborador, $colaboradorID) {
$sqlQuery = "UPDATE CamaraColaboradores SET colaboradorESTADO = ? WHERE colaboradorID = ? ;";
return SicamDB::actualizarFila($sqlQuery, array($estadoColaborador, $colaboradorID));
}
public static function porCargo($cargoID){
$sqlQuery = ColaboradoresSQL::DATOS_COLABORADORES_USUARIO_PERSONA_CARGO
. " WHERE CamaraCargos.cargoID = ? AND CamaraColaboradores.colaboradorESTADO = '".self::ACTIVO."' ";
return SicamDB::selectUnaFila($sqlQuery, array($cargoID));
}
public static function enElCargo($cargoID){
$sqlQuery = ColaboradoresSQL::DATOS_COLABORADORES_USUARIO_PERSONA_CARGO
. " WHERE CamaraCargos.cargoID = ? AND CamaraColaboradores.colaboradorESTADO = '".self::ACTIVO."' ";
return SicamDB::selectVariasFilas($sqlQuery, array($cargoID));
}
/*
**
***/
public static function datos($colaboradorID) {
$sqlQuery = ColaboradoresSQL::DATOS_BASICOS . " WHERE CamaraColaboradores.colaboradorID = ? ; ";
$colaborador = SicamDB::selectUnaFila($sqlQuery, array($colaboradorID));
if(!empty($colaborador->cargoID)):
$colaborador->jefeInmediato = Cargos::datos($colaborador->cargoID)->cargoPERMISOS;
endif;
$colaborador->persona = Personas::datos($colaborador->personaID);
return $colaborador;
}
public static function actualizarFOTO($urlFOTO, $colaboradorID) {
$sqlQuery = ColaboradoresSQL::ACTUALIZAR_FOTO;
return SicamDB::actualizarFila($sqlQuery, array($urlFOTO, $colaboradorID));
}
}