<?php
/**
* Descripción del Modelo de Datos PlanesOperaciones
*
* %%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\PlanesOperaciones
* @author JUAN PABLO LLINAS RAMIREZ <jpllinas@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 201711170315
* @link http://sicam.ccsm.org.co/docs/modelos/datos/PlanesOperaciones
*/
class RevisionTecnicaOperaciones extends ModeloDatos {
const PENDIENTE = 'PENDIENTE';
const NEGOCIACION = 'NEGOCIACION';
const APROBADO = 'APROBADO';
const TECNICA = 'TECNICA';
const FINANCIERA = 'FINANCIERA';
/**
* Recibe el Identificador del registro de RevisionTecnicaOperacion y
* devuelve un objeto con sus datos.
* @param int $planOperacionID
* @return Objeto RevisionTecnicaOperacion
*/
public static function datos($planOperacionID, $tipoRevision) {
$sqlQuery = RevisionTecnicaOperacionesSQL::DATOS_COMPLETOS . " WHERE PlanesOperacionesComentariosRevisiones.planOperacionID = ? AND comentarioRevisionTIPO = ? ; ";
return SicamDB::selectVariasFilas($sqlQuery, array($planOperacionID, $tipoRevision));
}
/**
* Recibe el Identificador del registro de RevisionTecnicaOperacion y
* devuelve un objeto con sus datos completos con todas sus relacion.
* @param int $planOperacionID
* @return Objeto RevisionTecnicaOperacion
*/
public static function datosCompletos($planOperacionID) {
$sqlQuery = PlanesOperacionesSQL::DATOS_COMPLETOS . " WHERE planOperacionID = ? ; ";
$RevisionTecnicaOperacion = SicamDB::selectUnaFila($sqlQuery, array($planOperacionID));
$RevisionTecnicaOperacion->Items = Items::delRevisionTecnicaOperacion($planOperacionID);
$RevisionTecnicaOperacion->Usuario = Usuarios::datos($RevisionTecnicaOperacion->planOperacionUSRCREO);
return $RevisionTecnicaOperacion;
}
/**
* Devuelve todos los registros de RevisionTecnicaOperaciones Pendientes
* para un colaborador, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param Int $colaboradorID
* @param String $estadoOperacionID
* @return Array de Objetos RevisionTecnicaOperaciones
*/
public static function pendientesColaborador($colaboradorID, $estadoOperacionID = null) {
$datos = array();
$sqlQuery = RevisionTecnicaOperacionesSQL::DATOS_BASICOS;
$sqlQuery .= " WHERE CamaraColaboradores.colaboradorID = ? ";
array_push($datos, $colaboradorID);
if (!is_null($estadoOperacionID)) {
$sqlQuery .= " AND PlanesOperaciones.estadoOperacionID = ? ";
array_push($datos, $estadoOperacionID);
}
return SicamDB::selectVariasFilas($sqlQuery, $datos);
}
/**
* Devuelve todos los registros de RevisionTecnicaOperaciones Pendientes
* para un colaborador, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param Int $colaboradorID
* @param String $estadoOperacionID
* @return Array de Objetos RevisionTecnicaOperaciones
*/
public static function pendientesCargo($cargoID, $estadoOperacionID = null) {
$datos = array();
$sqlQuery = RevisionTecnicaOperacionesSQL::DATOS_BASICOS;
$sqlQuery .= " WHERE PlanesOperacionesClases.claseOperacionCARGOREVISION = ? AND PlanesOperaciones.planOperacionESTADOREVISIONTECNICA != 'APROBADO'";
array_push($datos, $cargoID);
if (!is_null($estadoOperacionID)) {
$sqlQuery .= " AND PlanesOperaciones.estadoOperacionID = ? ";
array_push($datos, $estadoOperacionID);
}
return SicamDB::selectVariasFilas($sqlQuery, $datos);
}
/**
* Devuelve todos los registros de RevisionTecnicaOperaciones, según el estado.
* Si no se envia el estado devuelve todos los registros
* sin importar su estado.
* @param String $estadoOperacionID
* @return Array de Objetos RevisionTecnicaOperaciones
*/
public static function todos($estadoOperacionID = null) {
$datos = array();
$sqlQuery = RevisionTecnicaOperacionesSQL::DATOS_BASICOS;
if (!is_null($estadoOperacionID)) {
$sqlQuery .= " WHERE PlanesOperaciones.estadoOperacionID = ? ";
array_push($datos, $estadoOperacionID);
}
$sqlQuery .= " ORDER BY planOperacionFCHCREADA ASC ";
return SicamDB::selectVariasFilas($sqlQuery, $datos);
}
/**
* Devuelve los registros de RevisionTecnicaOperaciones en estado ACTIVO.
* @return Array de Objetos RevisionTecnicaOperaciones
*/
public static function activos() {
return self::todos(self::ACTIVO);
}
/**
* Recibe Todos los datos de necesarios para la creación de un nuevo
* registro de RevisionTecnicaOperaciones.
* @param int $categoriaID Identificador de la Categoria
* @param String $planOperacionCODIGO Código de RevisionTecnicaOperaciones
* @param String $planOperacionTITULO Titulo de RevisionTecnicaOperaciones
* @param Texto $planOperacionDESCRIPCION Descripción de RevisionTecnicaOperaciones
* @param Url $planOperacionURL Url del archivo asociado al RevisionTecnicaOperaciones
* @param String $estadoOperacionID Estado del registro de RevisionTecnicaOperaciones
* @return int con el Identificador del Registro RevisionTecnicaOperaciones
*/
public static function guardar($categoriaID, $planOperacionCODIGO, $planOperacionTITULO, $planOperacionDESCRIPCION, $planOperacionURL, $estadoOperacionID) {
$sqlQuery = PlanesOperacionesSQL::CREAR_REGISTRO;
return SicamDB::insertFila($sqlQuery, array(
$categoriaID, $planOperacionCODIGO, $planOperacionTITULO, $planOperacionDESCRIPCION,
$planOperacionURL, $estadoOperacionID, 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 $planOperacionID Identificador del Registro de RevisionTecnicaOperaciones
* @param int $categoriaID Identificador de la Categoria
* @param String $planOperacionCODIGO Código de RevisionTecnicaOperaciones
* @param String $planOperacionTITULO Titulo de RevisionTecnicaOperaciones
* @param Texto $planOperacionDESCRIPCION Descripción de RevisionTecnicaOperaciones
* @param Url $planOperacionURL Url del archivo asociado al RevisionTecnicaOperaciones
* @param String $estadoOperacionID Estado del registro de RevisionTecnicaOperaciones
* @return int cantidad de registros actualziados en la operacion
*/
public static function actualizar($planOperacionCOMENTARIOSREVISIONTECNICA, $planOperacionESTADOREVISIONTECNICA, $planOperacionID) {
$sqlQuery = RevisionTecnicaOperacionesSQL::ACTUALIZAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array( Cliente::usuarioID(), $planOperacionCOMENTARIOSREVISIONTECNICA, $planOperacionESTADOREVISIONTECNICA, Cliente::usuarioID() ,$planOperacionID));
}
/**
* Recibe un identificador de RevisionTecnicaOperaciones y elimina el registro.
* @param int $planOperacionID Identificador del registro
* ha eliminar.
* @return int Cantidad de registros eliminados
*/
public static function eliminar($planOperacionID) {
$sqlQuery = RevisionTecnicaOperacionesSQL::ELIMINAR_REGISTRO;
return SicamDB::actualizarFila($sqlQuery, array($planOperacionID));
}
/**
* Recibe un identificador de RevisionTecnicaOperaciones y reactiva el registro.
* @param int $planOperacionID Identificador del registro
* @return int Cantidad de registros reactivados
*/
public static function reactivar($planOperacionID) {
return self::cambiarEstado(self::ACTIVO, $planOperacionID);
}
/**
* Recibe un identificador y el Estado y actualiza el estado del registro
* @param String $estadoOperacionID Nuevo estado del registro.
* @param int $planOperacionID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function cambiarEstado($estadoOperacionID, $planOperacionID) {
$sqlQuery = PlanesOperacionesSQL::ACUALIZAR_ESTADO;
return SicamDB::actualizarFila($sqlQuery, array($estadoOperacionID, $planOperacionID));
}
/**
* Recibe un identificador de RevisionTecnicaOperaciones y desactiva el registro.
* @param int $planOperacionID Identificador del registro
* @return int Cantidad de registros desactivados
*/
public static function desactivar($planOperacionID) {
return self::cambiarEstado(self::DESACTIVO, $planOperacionID);
}
public static function negociar($planOperacionID, $comentario, $tipoRevision) {
$sqlQuery = RevisionTecnicaOperacionesSQL::CREAR_COMENTARIO;
return SicamDB::insertFila($sqlQuery, array(
$planOperacionID, $comentario, $tipoRevision, Cliente::usuarioID()
)
);
}
}
// Generado el 2017-11-17 03:15:22:000000