<?php
/**
* Descripción del Controlador RevisionTecnicaOperaciones
*
* RevisionTecnicaOperacion
*
* 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 Planeador\Controladores
* @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/planeador/RevisionTecnicaOperaciones
*/
class RevisionTecnicaOperacionesControlador extends Controladores {
/**
* Vista que se encarga de mostrar todos los detalles/datos asociados a
* los registros de PlanesOperaciones.
* @return HTML Datos e información de PlanesOperaciones.
*/
function verDetalles() {
$RevisionTecnicaOperacion = PlanesOperaciones::datos($this->planOperacionID);
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/ver-detalles', array('RevisionTecnicaOperacion' => $RevisionTecnicaOperacion));
}
/**
* Vista que se encarga de organizar la forma de presentar
* los registros de PlanesOperaciones al usuario.
* @return HTML Listado de PlanesOperaciones.
*/
function mostrarPendientesColaborador() {
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/lst-mispendientes');
}
/**
* Permite mostrar en forma de tabla los registros de RevisionTecnicaOperaciones.
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function tablaPendientesColaborador() {
$RevisionTecnicaOperaciones = RevisionTecnicaOperaciones::pendientesCargo( Cliente::cargoID(), '2' );
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/tbl-todos',
array( 'RevisionTecnicaOperacion' => $RevisionTecnicaOperaciones )
);
}
function mostrarActivos() {
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/lst-pendientes');
}
/**
* Permite mostrar en forma de tabla los registros de RevisionTecnicaOperaciones.
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function tablaPendientes() {
$RevisionTecnicaOperaciones = RevisionTecnicaOperaciones::todos( '2' );
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/tbl-mispendientes',
array( 'RevisionTecnicaOperaciones' => $RevisionTecnicaOperaciones )
);
}
/**
* Vista que se encarga de organizar la forma de presentar
* los registros de los comentarios de revisión Financiera de las Operaciones.
* @return HTML Listado de Comentarios.
*/
function verComentarios(){
$ComentariosRevisionTecnica = RevisionTecnicaOperaciones::datos($this->planOperacionID, RevisionTecnicaOperaciones::TECNICA);
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/verComentarios', array( 'ComentariosRevisionTecnica' => $ComentariosRevisionTecnica) );
}
/**
* Vista que se encarga de organizar la forma de presentar
* los registros de PlanesOperaciones al usuario.
* @return HTML Listado de PlanesOperaciones.
*/
function mostrarTodos() {
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/lst-todos');
}
/**
* Permite mostrar en forma de tabla los registros de RevisionTecnicaOperaciones.
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function tablaListado() {
$RevisionTecnicaOperaciones = RevisionTecnicaOperaciones::todos();
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/tbl-todos',
array( 'RevisionTecnicaOperaciones' => $RevisionTecnicaOperaciones)
);
}
/**
* Responde con el formulario de RevisionTecnicaOperaciones vacio, solo datos necesarios.
* LLama a la función que devuleve el formulario pero
* sin enviarle los datos de RevisionTecnicaOperaciones.
* Esta función se crea para poder gestionar el permiso de NUEVO RevisionTecnicaOperaciones
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function mostrarFormularioNuevo() {
$this->mostrarFormulario();
}
/**
* Función que toma los datos enviados y crea un nuevo registro
* @return RespuestasSistema
*/
private function guardarNuevo() {
$creadoID = PlanesOperaciones::guardar($this->RevisionTecnicaOperacionesCATEGORIA,
$this->RevisionTecnicaOperacionesCODIGO, $this->RevisionTecnicaOperacionesTITULO,
$this->RevisionTecnicaOperacionesDESCRIPCION,
$this->RevisionTecnicaOperacionesESTADO);
if ($creadoID) {
return RespuestasSistema::exito("Nuevo Registro CREADO con EXITO");
} else {
return RespuestasSistema::fallo("No se pudo CREAR el nuevo RevisionTecnicaOperaciones. Si vuelve a suceder, contacte con el Centro TICS.");
}
}
/**
* Recibe el ID del RevisionTecnicaOperaciones y obtiene sus datos para ser enviados
* al formulario, y asi cargar los datos en los inputs.
* Esta función se crea para poder gestionar el permiso de EDITAR RevisionTecnicaOperaciones
* @return HTML Formulario con los datos del RevisionTecnicaOperaciones a editar.
*/
function mostrarFormularioEditar() {
$RevisionTecnicaOperaciones = PlanesOperaciones::datos($this->RevisionTecnicaOperacionesID);
$this->mostrarFormulario($RevisionTecnicaOperaciones);
}
/**
* Función que toma los datos enviados y actualiza el registro
* @return RespuestasSistema
*/
private function guardarCambios() {
$RevisionTecnicaOperaciones = PlanesOperaciones::datos($this->RevisionTecnicaOperacionesID);
$actualizado = PlanesOperaciones::actualizar(
$this->RevisionTecnicaOperacionesID, $this->RevisionTecnicaOperacionesCATEGORIA,
$this->RevisionTecnicaOperacionesCODIGO, $this->RevisionTecnicaOperacionesTITULO,
$this->RevisionTecnicaOperacionesDESCRIPCION,
$this->RevisionTecnicaOperacionesESTADO
);
if ($actualizado) {
return RespuestasSistema::exito("Registro ACTUALIZADO con EXITO.");
} else {
return RespuestasSistema::fallo("No se actualizó el RevisionTecnicaOperaciones. Verifique los datos, o contacte al Centro TICS.");
}
}
/**
* Muestra el Formulario procesado para ser mostrado al usuario.
* Se le envian unos datos inciales para la carga de la vista, y
* se envia los datos del RevisionTecnicaOperaciones cuando se esta editando.
* @return HTML Vista del Formulario de RevisionTecnicaOperaciones
*/
private function mostrarFormulario($RevisionTecnicaOperaciones = null) {
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/form-RevisionTecnicaOperaciones', array(
'versionSICAM' => Parametros::valor('VERSIONSICAM'),
'Vigencia' => Vigencias::actual(),
'Categorias' => Categorias::todas(),
'RevisionTecnicaOperaciones' => $RevisionTecnicaOperaciones
));
}
public function mostrarFormularioNegociar() {
$RevisionTecnicaOperaciones = PlanesOperaciones::datos($this->RevisionTecnicaOperacionesID);
Vistas::mostrar('planeador', 'revisiontecnicaoperaciones/frm-negociar', array(
'RevisionTecnicaOperacion' => $RevisionTecnicaOperaciones
));
}
/**
* Guardar Datos Recibidos, bien sea como un registro nuevo, o como una actualización.
* Despues imprime las Respuesta del Sistema a la ejecución de la operacion
*/
function guardarDatos() {
if (empty($this->RevisionTecnicaOperacionesID)) {
echo $this->guardarNuevo();
} else {
echo $this->guardarCambios();
}
}
/**
* Eliminar un registro de la base de datos.
* Esta operación es irreversible.
* Si se tiene la referencia integral activada, la base de datos no va
* dejar eliminar si tiene otros registros asociados.
* @return RespuestasSistema Resultado de la Operacion que se envia al cliente
*/
function eliminar() {
$RevisionTecnicaOperacionesParaEliminar = $this->planOperacionSELECCIONADOS;
if (count($RevisionTecnicaOperacionesParaEliminar)) {
$n = 0;
foreach ($RevisionTecnicaOperacionesParaEliminar as $planOperacionELIMINAR):
if (PlanesOperaciones::eliminar($planOperacionELIMINAR)) {
$n++;
}
endforeach;
if ($n == 0) {
echo RespuestasSistema::error('No fue posible ELIMINAR. Contacte al centro TICS.');
} else if ($n == count($RevisionTecnicaOperacionesParaEliminar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [ELIMINAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [ELIMINAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [ELIMINAR]. Contacta al centro TICS');
}
}
/**
* Cambiar el estado de un registro de la base de datos.
* Esta operacion cambia a estado ACTIVO el registro.
* @return RespuestasSistema Resultado de la Operacion
*/
function reactivar() {
$RevisionTecnicaOperacionesParaActivar = $this->planOperacionSELECCIONADOS;
if (count($RevisionTecnicaOperacionesParaActivar)) {
$n = 0;
foreach ($RevisionTecnicaOperacionesParaActivar as $planOperacionACTIVAR):
if (PlanesOperaciones::activar($planOperacionACTIVAR)) {
$n++;
}
endforeach;
if ($n == 0) {
echo RespuestasSistema::error('No fue posible REACTIVAR. Contacte al centro TICS.');
} else if ($n == count($RevisionTecnicaOperacionesParaActivar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [REACTIVAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [REACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [REACTIVAR]. Contacta al centro TICS');
}
}
/**
* Cambiar el estado de un registro de la base de datos.
* Esta operacion cambia a estado PENDIENTE / NEGOCIACION / APROBADO el registro.
* @return RespuestasSistema Resultado de la Operacion
*/
function negociar(){
$Operacion = PlanesOperaciones::datos($this->operacionID);
$RevisionTecnicaOperacionesParaNegociar = $this->operacionID;
if (!empty($RevisionTecnicaOperacionesParaNegociar)) {
$operacion = RevisionTecnicaOperaciones::negociar(
$RevisionTecnicaOperacionesParaNegociar, $this->revisionCOMENTARIO, RevisionTecnicaOperaciones::TECNICA
);
if(!empty($operacion)) {
PlanesOperaciones::actualizarEstadoRevisionTecnica($this->operacionID, RevisionTecnicaOperaciones::NEGOCIACION);
Notificaciones::paraColaborador(
$Operacion->colaboradorID, Notificaciones::OPERACION,
"Nuevo Comentario para ".$Operacion->planOperacionCODIGO,
"El encargado de la revision tecnica de la operacion ".$Operacion->planOperacionCODIGO." ha agregado un nuevo comentario. Por favor, revisalo y realiza los ajustes correspondientes." ,
"mostrarTodosPlanesOperacionesColaboradorPlaneador"
);
echo RespuestasSistema::exito('Se realizó la OPERACION [NEGOCIACION] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [NEGOCIACION] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [NEGOCIACION]. Contacta al centro TICS');
}
}
/**
* Cambiar el estado de un registro de la base de datos.
* Esta operacion cambia a estado PENDIENTE / NEGOCIACION / APROBADO el registro.
* @return RespuestasSistema Resultado de la Operacion
*/
function aprobar(){
$RevisionTecnicaOperacionesParaAprobar = $this->operacionID;
if (!empty($RevisionTecnicaOperacionesParaAprobar)) {
$operacion = RevisionTecnicaOperaciones::actualizar($this->revisionCOMENTARIO, RevisionTecnicaOperaciones::APROBADO , $RevisionTecnicaOperacionesParaAprobar);
if(!empty($operacion)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [NEGOCIACION] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [NEGOCIACION] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [NEGOCIACION]. Contacta al centro TICS');
}
}
function desactivar() {
$RevisionTecnicaOperacionesParaDesactivar = $this->planOperacionSELECCIONADOS;
if (count($RevisionTecnicaOperacionesParaDesactivar)) {
$n = 0;
foreach ($RevisionTecnicaOperacionesParaDesactivar as $planOperacionDESACTIVAR):
if (PlanesOperaciones::desactivar($planOperacionDESACTIVAR)) {
$n++;
}
endforeach;
if ($n == 0) {
echo RespuestasSistema::error('No fue posible DESACTIVAR. Contacte al centro TICS.');
} else if ($n == count($RevisionTecnicaOperacionesParaDesactivar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [DESACTIVAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [DESACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [DESACTIVAR]. Contacta al centro TICS');
}
}
}
// Generado el 2017-11-17 03:15:22:000000