<?php
class Notificaciones {
const OPERACION = 'OPERACION';
const ALERTA = 'ALERTA';
const AVISO = 'AVISO';
const ERROR = 'ERROR';
const INFORMACION = 'INFORMACION';
public static function datosCompletos($notificacionID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionID = ? ';
return SicamDB::selectUnaFila($sqlQuery, array($notificacionID));
}
public static function paraColaborador($colaboradorID, $notificacionTIPO, $notificacionTITULO, $notificacionMENSAJE, $notificacionOPERACION = NULL){
$sqlQuery = 'INSERT INTO ColaboradoresNotificaciones ( '
.'notificacionNOTIFICADO, notificacionTIPO, notificacionTITULO, notificacionMENSAJE, '
.'notificacionOPERACION, notificacionUSRCREO'
.') VALUES ( ?, ?, ?, ?, ?, ? )';
return SicamDB::insertFila($sqlQuery,
array(
$colaboradorID, $notificacionTIPO,
$notificacionTITULO, $notificacionMENSAJE,
$notificacionOPERACION, Cliente::usuarioID()
)
);
}
static function enviadasPorElCliente(){
return self::porElColaborador(Cliente::usuarioID());
}
public static function porElColaborador($usuarioID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionUSRCREO = ? ';
return SicamDB::selectVariasFilas($sqlQuery, array($usuarioID));
}
static function delCliente(){
return self::delColaborador( Cliente::colaboradorID() );
}
public static function delColaborador($colaboradorID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionNOTIFICADO = ? ';
return SicamDB::selectVariasFilas($sqlQuery, array($colaboradorID));
}
static function delClientePendientes(){
return self::delColaboradorPendientes( Cliente::colaboradorID() );
}
static function delClientePendientesLectura(){
return self::delColaboradorPendientesLectura( Cliente::colaboradorID() );
}
static function delClientePendientesOperacion(){
return self::delColaboradorPendientesOperacion( Cliente::colaboradorID() );
}
public static function delColaboradorPendientes($colaboradorID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionNOTIFICADO = ? AND ( ( ColaboradoresNotificaciones.notificacionFCHLECTURA IS NULL ) OR ( ColaboradoresNotificaciones.notificacionFCHOPERACION IS NULL AND ColaboradoresNotificaciones.notificacionOPERACION IS NOT NULL ) ) ';
return SicamDB::selectVariasFilas($sqlQuery, array($colaboradorID));
}
public static function delColaboradorPendientesLectura($colaboradorID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionNOTIFICADO = ? AND ColaboradoresNotificaciones.notificacionFCHLECTURA IS NULL ';
return SicamDB::selectVariasFilas($sqlQuery, array($colaboradorID));
}
public static function delColaboradorPendientesOperacion($colaboradorID){
$sqlQuery = NotificacionesSQL::DATOS_COMPLETOS .
' WHERE ColaboradoresNotificaciones.notificacionNOTIFICADO = ? '
.'AND ( '
.' ( ColaboradoresNotificaciones.notificacionFCHLECTURA IS NULL ) '
.' OR ( ColaboradoresNotificaciones.notificacionFCHOPERACION IS NULL AND ColaboradoresNotificaciones.notificacionOPERACION IS NOT NULL ) '
.') ';
return SicamDB::selectVariasFilas($sqlQuery, array($colaboradorID));
}
public static function registrarLectura($notificacionID){
$sqlQuery = "UPDATE ColaboradoresNotificaciones SET ".
"notificacionFCHLECTURA = CURRENT_TIMESTAMP ".
"WHERE notificacionID = ? ;";
return SicamDB::actualizarFila( $sqlQuery, array($notificacionID) );
}
public static function registrarOperacion($notificacionID){
$sqlQuery = "UPDATE ColaboradoresNotificaciones SET ".
"notificacionFCHOPERACION = CURRENT_TIMESTAMP ".
"WHERE notificacionID = ? ;";
return SicamDB::actualizarFila( $sqlQuery, array($notificacionID) );
}
}