<?php
class AccionesControlador extends Controladores {
function mostrarAcciones(){
$accion = Acciones::todas();
Vistas::mostrar("planeador", "acciones/mostrartodo",array('PlanesAcciones'=>$accion));
}
function verDetalles(){
$accion = Acciones::datos($this->accionID);
Vistas::mostrar("planeador", "acciones/form-ver-detalles",array('PlanesAcciones'=>$accion));
}
function tablaListado() {
$acciones = Acciones::todas();
Vistas::mostrar(
'planeador','acciones/tbl-acciones',
array('PlanesAcciones' => $acciones)
);
}
function detallePorActividad() {
$Accion = Acciones::datos($this->accionID);
Vistas::mostrar('planeador', 'acciones/tbl-accion-sencilla',
array( 'Accion' => $Accion)
);
}
function registrar() {
if($this->accionesID!=""){
$accion = Acciones::actualizar($this->accionesID, $this->programa, $this->titulo, $this->responsable,
$this->descripcion, $this->justificacion );
$accion = $this->accionesID;
}
else{
$codigoAccion = Consecutivos::usar('ACCIONES', 'ACC');
$accion =Acciones::guardar($this->programa, $codigoAccion , $this->titulo, $this->responsable,
$this->descripcion, $this->justificacion );
if(!empty($accion) and !empty($this->metasID)){
$this->asignarMetas($this->metasID , $accion);
}
}
if($accion>0){
echo RespuestasSistema::exito("Accion guardada con éxito", Acciones::datos($accion));
}else{
echo RespuestasSistema::error("Error al guardar la accion, Comunicarse con Gestion TICS.");
}
}
function asignarMetas($metas=null, $accion=null){
if(!empty($accion)):
if(is_array($metas)):
foreach($metas as $meta):
AccionesMetas::guardar($meta, $accion );
endforeach;
else:
AccionesMetas::guardar($metas, $accion);
endif;
else:
if(count(AccionesMetas::datos( $this->accionID, $this->metaID))>0):
echo RespuestasSistema::fallo("La meta ya se encuentra registrada en la accion");
else:
AccionesMetas::guardar($this->metaID, $this->accionID);
echo RespuestasSistema::exito("La meta se asigno con exito", Acciones::datos($this->accionID));
endif;
endif;
}
function mostrarFormularioNuevo() {
$programa = PlanesProgramas::todos(ProgramasEstados::PLANEACION);
$this->mostrarFormulario($programa);
}
function mostrarFormularioEditar() {
if(!empty($this->accionesID)):
$programa = PlanesProgramas::todos();
$objAcciones=Acciones::datos($this->accionesID);
$this->mostrarFormulario($programa, $objAcciones);
endif;
}
private function mostrarFormulario($programa, $objAcciones=null) {
$responsable = Cargos::todos();
$planes = Planes::todos();
Vistas::mostrar("planeador", "acciones/crear",array('CamaraCargos'=>$responsable ,
'objAcciones'=>$objAcciones,'PlanesPrograma'=>$programa, 'planes' => $planes));
}
function getIdAccion(){
Acciones::datos($this->$idAcciones);
}
function eliminar(){
$acciones = $this->checkb;
if (count($acciones)) {
$cont = 0;
foreach ($acciones as $accion):
$nCambio = Acciones::eliminar($accion);
if ($nCambio > 0) {
$cont++;
}
endforeach;
if (count($acciones)==$cont) {
echo RespuestasSistema::exito('Eliminación exitosa!');
} else {
echo RespuestasSistema::error('Hubo un error al eliminar uno de los registros!');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para eliminar.');
}
}
function eliminarMeta(){
$metas = $this->checkb;
if (count($metas)) {
$cont = 0;
foreach ($metas as $meta):
$accionMeta = AccionesMetas::datos($this->accionID, $meta);
$nCambio = AccionesMetas::eliminar($accionMeta->planAccionMetaID);
if ($nCambio > 0) {
$cont++;
}
endforeach;
if (count($metas)==$cont) {
echo RespuestasSistema::exito('Eliminación exitosa!');
} else {
echo RespuestasSistema::error('Hubo un error al eliminar uno de los registros!');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para eliminar.');
}
}
function mostrarSelect(){
$acciones = Acciones::Todas();
Vistas::mostrar("planeador", "acciones/select-acciones", array('acciones'=>$acciones));
}
function mostrarTablaCompletaPorPrograma(){
if(empty($this->tipoPlanID)){
$Acciones = Acciones::delPrograma($this->programaID);
foreach($Acciones as $accion):
$accion->Total = PlanesOperaciones::presupuestoTotalPorAccion($accion->accionID);
$accion->TotalGastado = PlanesOperacionesAvances::GastadoTotalPorAccion($accion->accionID);
$accion->FechaInicio = PlanesOperaciones::fechaTempranaPorAccion($accion->accionID);
$accion->FechaFinal = PlanesOperaciones::fechaTardiaPorAccion($accion->accionID);
endforeach;
Vistas::mostrar("planeador", "acciones/tbl-completa", array("Acciones"=>$Acciones, 'hash_padre'=>$this->hash_padre));
}else{
$Acciones = Acciones::delPrograma($this->programaID, $this->tipoPlanID);
foreach($Acciones as $accion):
$accion->Total = PlanesOperaciones::presupuestoTotalPorAccion($accion->accionID, $this->tipoPlanID);
$accion->TotalGastado = PlanesOperacionesAvances::GastadoTotalPorAccion($accion->accionID, $this->tipoPlanID);
$accion->FechaInicio = PlanesOperaciones::fechaTempranaPorAccion($accion->accionID, $this->tipoPlanID);
$accion->FechaFinal = PlanesOperaciones::fechaTardiaPorAccion($accion->accionID, $this->tipoPlanID);
endforeach;
Vistas::mostrar("planeador", "acciones/tbl-completa", array("Acciones"=>$Acciones,'TipoPlanID' => $this->tipoPlanID, 'hash_padre'=>$this->hash_padre));
}
}
/**
* Permite mostrar los detalles de la Accion.
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function detallesAccion() {
if(@$this->tipoPlanID){
$PlanesAcciones = Acciones::datos($this->accionID, $this->tipoPlanID);
Vistas::mostrar('planeador', 'acciones/ver-detalles', array('PlanesAcciones' => $PlanesAcciones, 'TipoPlanID' => $this->tipoPlanID, 'hash_padre'=>$this->hash_padre));
}else{
$PlanesAcciones = Acciones::datos($this->accionID);
Vistas::mostrar('planeador', 'acciones/ver-detalles', array('PlanesAcciones' => $PlanesAcciones, 'hash_padre'=>$this->hash_padre));
}
}
}