File "inspecciones.php"
Full Path: /home/limout/public_html/CablesPireV2-20240827214508/inspecciones.php
File size: 15.42 KB
MIME-type: text/x-php; charset=utf-8
Charset: utf-8
<?php
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
require_once( 'config.php' );
require_once( 'makeSecure.php' );
require_once( 'includes/smarty.php' );
// INICIO Cargamos las clases que necesitamos
include_once( 'includes/clases/clase_general.php' );
include_once( 'includes/clases/clase_empresas.php' );
include_once( 'includes/clases/clase_categorias.php' );
include_once( 'includes/clases/clase_productos.php' );
include_once( 'includes/clases/clase_equiposv2.php' );
include_once( 'includes/clases/clase_inspecciones.php' );
// FIN Cargamos las clases que necesitamos
// Datos genéricos
require_once( 'includes/comunesAdmin.php' );
$aMensajes = array(
'0' => '<i class="fa fa-times"></i> Error al crear la inspección',
'1' => '<i class="fa fa-check"></i> Inspección creada correctamente',
'2' => '<i class="fa fa-check"></i> Inspección borrada correctamente',
'3' => '<i class="fa fa-check"></i> Inspección actualizada correctamente',
'4' => '<i class="fa fa-times"></i> No se pudo borrar la inspección',
'5' => '<i class="fa fa-times"></i> Equipo borrado de la inspección correctamente',
'6' => '<i class="fa fa-times"></i> No se pudo borrar el equipo de la inspección',
'7' => '<i class="fa fa-times"></i> No se pudo duplicar la inspección',
'8' => '<i class="fa fa-check"></i> Inspección duplicada correctamente',
'9' => '<i class="fa fa-check"></i> Equipo actualizado correctamente en la inspección'
);
switch(@$_GET['accion'])
{
case 'crear':
$oEmpresas = new empresas;
$oEmpresas->busca_empresas( 1 );
$smarty->assign('aEmpresas', $oEmpresas->aEmpresas );
$smarty->assign('sAction', $sUrl . 'inspecciones.php?accion=confirmar_crear');
$smarty->display('inspecciones/formulario.tpl');
break;
case 'confirmar_crear':
$oInspeccion = new inspecciones;
$oInspeccion->sNombre = trim( $_POST[ 'nombreInspeccion' ] );
$oInspeccion->iEmpresaId = (int)$_POST[ 'empresaInspeccion' ];
$oInspeccion->dFecha = trim( $_POST[ 'fechaInspeccion' ] );
$oInspeccion->bEstado = ( isset( $_POST[ 'estadoInspeccion' ] ) && $_POST[ 'estadoInspeccion' ] != '' ) ? 1 : 0;
$oInspeccion->sObservaciones = trim( $_POST[ 'observacionesInspeccion' ] );
$iNewInspeccionId = $oInspeccion->crea_inspeccion();
unset( $oInspeccion );
if( $iNewInspeccionId > 0 )
header('location: ' . $sUrl . 'inspecciones.php?accion=editar&id_inspeccion=' . $iNewInspeccionId . '&mensaje=1' );
else
header('location: ' . $sUrl . 'inspecciones.php?accion=listado&mensaje=0' );
break;
case 'editar':
$iInspeccionId = (int)$_GET[ 'id_inspeccion' ];
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = $iInspeccionId;
$oInspeccion->busca_inspecciones();
$oInspeccion->busca_equipos_inspeccion( $iInspeccionId );
$oEmpresas = new empresas;
$oEmpresas->busca_empresas( 1 );
$iNumEquipo = filter_var( $oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ][ $iEquipoId ][ 'nombre' ], FILTER_SANITIZE_NUMBER_INT);
$smarty->assign( 'iNumEquipo', $iNumEquipo );
$smarty->assign( 'sAction', $sUrl . 'inspecciones.php?accion=confirmar_editar');
$smarty->assign( 'aInspeccion', $oInspeccion->aInspecciones[ $iInspeccionId ] );
$smarty->assign('aEmpresas', $oEmpresas->aEmpresas );
$smarty->assign( 'iMensaje', ( isset( $_GET[ 'mensaje' ] ) && $_GET[ 'mensaje' ] > 0 ) ? $_GET[ 'mensaje' ] : '' );
$smarty->assign( 'sMensaje', ( isset( $_GET[ 'mensaje' ] ) && $_GET[ 'mensaje' ] > 0 ) ? $aMensajes[ $_GET[ 'mensaje' ] ] : '' );
$smarty->display( 'inspecciones/formulario.tpl');
break;
case 'confirmar_editar':
$iInspeccionId = (int)$_POST[ 'iInspeccionId' ];
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = $iInspeccionId;
$oInspeccion->sNombre = trim( $_POST[ 'nombreInspeccion' ] );
$oInspeccion->iEmpresaId = (int)$_POST[ 'empresaInspeccion' ];
$oInspeccion->dFecha = trim( $_POST[ 'fechaInspeccion' ] );
$oInspeccion->bEstado = ( isset( $_POST[ 'estadoInspeccion' ] ) && $_POST[ 'estadoInspeccion' ] != '' ) ? 1 : 0;
$oInspeccion->sObservaciones = trim( $_POST[ 'observacionesInspeccion' ] );
$oInspeccion->actualiza_inspeccion();
// Buscamos los equipos para actualizar la info de cada uno
$oInspeccion->busca_equipos_inspeccion( $iInspeccionId );
if( count( $_POST[ 'aNuevosEquipos' ] ) > 0 )
{
foreach( $_POST[ 'aNuevosEquipos' ] as $iNuevoEquipoId )
if( !array_key_exists( $iNuevoEquipoId, $oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ] ) )
$oInspeccion->anadir_equipo( $iNuevoEquipoId );
}
$aEquipoCampos = array();
foreach( $oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ] as $iEquipoId => $aEquipo )
{
foreach( $_POST[ 'aObservaciones'][ $iEquipoId ] as $iProductoId => $sValor )
{
$aEquipoCampos[ $iEquipoId ][ $iProductoId ][ 'bUso'] = ( isset( $_POST[ 'aUso' ][ $iEquipoId ][ $iProductoId ] ) && $_POST[ 'aUso'][ $iEquipoId ][ $iProductoId ] == 'on' ) ? true : false;
$aEquipoCampos[ $iEquipoId ][ $iProductoId ][ 'bReparar'] = ( isset( $_POST[ 'aReparar' ][ $iEquipoId ][ $iProductoId ] ) && $_POST[ 'aReparar'][ $iEquipoId ][ $iProductoId ] == 'on' ) ? true : false;
$aEquipoCampos[ $iEquipoId ][ $iProductoId ][ 'bReponer'] = ( isset( $_POST[ 'aReponer' ][ $iEquipoId ][ $iProductoId ] ) && $_POST[ 'aReponer'][ $iEquipoId ][ $iProductoId ] == 'on' ) ? true : false;
$aEquipoCampos[ $iEquipoId ][ $iProductoId ][ 'bOservaciones'] = $_POST[ 'aObservaciones' ][ $iEquipoId ][ $iProductoId ];
$aEquipoCampos[ $iEquipoId ][ 'bInforme'] = $_POST[ 'aInforme' ][ $iEquipoId ];
$aEquipoCampos[ $iEquipoId ][ 'bApto'] = $_POST[ 'aApto' ][ $iEquipoId ];
}
}
foreach( $aEquipoCampos as $iEquipoId => $aCampos)
{
$oInspeccion->actualiza_equipos_campos( $iInspeccionId, $iEquipoId, $aCampos );
}
unset( $oInspeccion );
header('location: ' . $sUrl . 'inspecciones.php?accion=editar&id_inspeccion=' . $iInspeccionId . '&mensaje=3' );
break;
case 'genera-pdf':
$iInspeccionId = (int)$_GET[ 'id_inspeccion' ];
$iEquipoId = (int)$_GET[ 'id_equipo' ];
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = $iInspeccionId;
$oInspeccion->busca_inspecciones();
$oInspeccion->busca_equipos_inspeccion( $iInspeccionId );
// calcular ID equipo
//preg_match_all('/\d+/', $sNombre, $matches);
//print_r( $matches[0][0] );
$iNumEquipo = filter_var( $oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ][ $iEquipoId ][ 'nombre' ], FILTER_SANITIZE_NUMBER_INT);
$smarty->assign( 'sAction', $sUrl . 'inspecciones.php?accion=confirmar_editar');
$smarty->assign( 'aInspeccion', $oInspeccion->aInspecciones[ $iInspeccionId ] );
$smarty->assign( 'aEquipo', $oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ][ $iEquipoId ] );
$smarty->assign( 'iNumEquipo', $iNumEquipo );
$smarty->assign( 'iMensaje', ( isset( $_GET[ 'mensaje' ] ) && $_GET[ 'mensaje' ] > 0 ) ? $_GET[ 'mensaje' ] : '' );
$smarty->assign( 'sMensaje', ( isset( $_GET[ 'mensaje' ] ) && $_GET[ 'mensaje' ] > 0 ) ? $aMensajes[ $_GET[ 'mensaje' ] ] : '' );
/*if( $iInspeccionId == '93' )
{
$bPintaPdf = true;
print "<pre>";
print_r($oInspeccion->aInspecciones[ $iInspeccionId ][ 'aEquipos' ][ $iEquipoId ]);
print "</pre>";
}
else*/
$bPintaPdf = false;
if( $bPintaPdf != true )
{
$html = $smarty->fetch( 'inspecciones/plantilla-pdf.tpl');
// Incluímos la configuración básica de domPdf...
include_once( 'includes/clases/dompdf/dompdf_config.inc.php' );
$filename = 'reports/inspeccion-' . $iInspeccionId . '_' . date( 'd-m-Y' ) . '.pdf';
# Instanciamos un objeto de la clase DOMPDF.
$pdf_parser = new DOMPDF();
# Definimos el tamaño y orientación del papel que queremos.
# O por defecto cogerá el que está en el fichero de configuración.
$pdf_parser->set_paper("A4", "portrait");
# Cargamos el contenido HTML.
$pdf_parser->load_html( $html );
# Renderizamos el documento PDF.
$pdf_parser->render();
# Enviamos el fichero PDF al navegador.
$pdf_parser->stream( "inspeccion-" . $iInspeccionId . "_" . date( 'd-m-Y' ) . ".pdf", array( "Attachment" => true ) );
$pdf_parser->__destruct();
header("Content-Type: application/pdf");
header("Content-disposition: attachment; filename=inspeccion-" . $iInspeccionId . '_' . date( 'd-m-Y' ) . ".pdf" );
}
else
$smarty->display( 'inspecciones/plantilla-pdf.tpl');
break;
case 'borrar':
if( isset( $_GET[ 'id_inspeccion' ] ) && (int)$_GET[ 'id_inspeccion' ] > 0 )
{
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = (int)$_GET[ 'id_inspeccion' ];
$oInspeccion->borrar_inspeccion();
unset( $oInspeccion );
header('location: ' . $sUrl . 'inspecciones.php?accion=listado&mensaje=2' );
}
else
header('location: ' . $sUrl . 'inspecciones.php?accion=listado&mensaje=4' );
break;
case 'borrar-equipo':
if( isset( $_GET[ 'id_inspeccion' ] ) && (int)$_GET[ 'id_inspeccion' ] > 0 && isset( $_GET[ 'id_equipo' ] ) && (int)$_GET[ 'id_equipo' ] > 0 )
{
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = (int)$_GET[ 'id_inspeccion' ];
$oInspeccion->iEquipoId = (int)$_GET[ 'id_equipo' ];
$oInspeccion->borrar_equipo_inspeccion();
unset( $oInspeccion );
header('location: ' . $sUrl . 'inspecciones.php?accion=editar&id_inspeccion=' . $_GET[ 'id_inspeccion' ] . '&mensaje=5' );
}
else
header('location: ' . $sUrl . 'inspecciones.php?accion=listado&mensaje=6' );
break;
case 'buscar':
$oInspecciones = new inspecciones;
$oInspecciones->sTermBusqueda = trim( $_POST[ 'nombre' ] );
$oInspecciones->dFechaBusqueda = trim( $_POST[ 'fecha' ] );
if( (int)$_POST[ 'empresa' ] > 0 )
$oInspecciones->iEmpresaBusqueda = (int)$_POST[ 'empresa' ];
$bAptoBusqueda = ( isset( $_POST[ 'apto' ] ) && trim( $_POST[ 'apto' ] ) == 'on' ) ? 1 : 0;
$oInspecciones->busca_inspecciones( $bAptoBusqueda );
$oEmpresas = new empresas;
$oEmpresas->busca_empresas( 1 );
$smarty->assign('aInspecciones',$oInspecciones->aInspecciones );
$smarty->assign('iMensaje', $_GET[ 'mensaje' ] );
$smarty->assign('sMensaje', $aMensajes[ $_GET[ 'mensaje' ] ] );
$smarty->assign('aEmpresas', $oEmpresas->aEmpresas );
$smarty->assign('sTermBusqueda', $oInspecciones->sTermBusqueda );
$smarty->assign('dFechaBusqueda', $oInspecciones->dFechaBusqueda );
$smarty->assign('bAptoBusqueda', $bAptoBusqueda );
$smarty->assign('iEmpresaBusqueda', (int)$_POST[ 'empresa' ] );
$smarty->assign('accion', 'listado');
unset( $oInspecciones );
unset( $oEmpresas );
$smarty->display('inspecciones/listado.tpl');
break;
case 'duplicar':
if( isset( $_GET[ 'id_inspeccion' ] ) && (int)$_GET[ 'id_inspeccion' ] > 0 )
{
$iInspeccionOriginalId = $_GET[ 'id_inspeccion' ];
$oInspeccion = new inspecciones;
$oInspeccion->iInspeccionId = $iInspeccionOriginalId;
$oInspeccion->busca_inspecciones();
$oInspeccion->busca_equipos_inspeccion( $iInspeccionOriginalId );
$oInspeccionDuplicada = new inspecciones;
$oInspeccionDuplicada->sNombre = $oInspeccion->aInspecciones[ $iInspeccionOriginalId ][ 'nombre' ] . ' COPY';
$oInspeccionDuplicada->iEmpresaId = $oInspeccion->aInspecciones[ $iInspeccionOriginalId ][ 'empresa_id' ];
$oInspeccionDuplicada->dFecha = date('Y-m-d');
$oInspeccionDuplicada->bEstado = 0;
$oInspeccionDuplicada->sObservaciones = NULL;
$iInspeccionDuplicadoId = $oInspeccionDuplicada->crea_inspeccion();
$oInspeccionDuplicada->iInspeccionId = $iInspeccionDuplicadoId;
// EQUIPOS
foreach( $oInspeccion->aInspecciones[ $iInspeccionOriginalId ][ 'aEquipos' ] as $iEquipoOriginalId => $aEquipoOriginal )
$oInspeccionDuplicada->anadir_equipo( $iEquipoOriginalId );
unset( $oInspeccionDuplicada );
unset( $oInspeccion );
header('location: ' . $sUrl . 'inspecciones.php?accion=editar&id_inspeccion=' . $iInspeccionDuplicadoId . '&mensaje=8' );
}
else
header('location: ' . $sUrl . 'inspecciones.php?accion=editar&id_equipo=' . $iInspeccionOriginalId . '&mensaje=7' );
break;
default:
$oInspecciones = new inspecciones;
$oInspecciones->busca_inspecciones();
$oEmpresas = new empresas;
$oEmpresas->busca_empresas( 1 );
$smarty->assign('aInspecciones',$oInspecciones->aInspecciones );
$smarty->assign('aEmpresas', $oEmpresas->aEmpresas );
$smarty->assign('iMensaje', $_GET[ 'mensaje' ] );
$smarty->assign('sMensaje', $aMensajes[ $_GET[ 'mensaje' ] ] );
$smarty->assign('accion', 'listado');
unset( $oInspecciones );
unset( $oEmpresas );
$smarty->display('inspecciones/listado.tpl');
break;
}
?>