| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875 |
- <?php
- $strModulo = 'detalles';
- $CT_recibido = $_GET['ct'];
- $maq_recibido = $_GET['maq'];
- $url = 'https://www.solerpalau.mx/plantasyp/datosPlanta.php?ct='.$CT_recibido.'&maq='.$maq_recibido;
- $opciones = array('http' =>
- array(
- 'method' => 'GET',
- 'max_redirects' => '0',
- 'ignore_errors' => '1'
- )
- );
- /*Ordenes de trabajo*/
- $strDatos = "";
- $linkStr = __FILE__;
- $linkArr = explode("/", $linkStr);
- $link = end($linkArr) . "?ct=" . $CT_recibido . "&maq=" . $maq_recibido;
- if($maq_recibido == "315_0"){
- $strDatos .= "[ \n";
- $strDatos .= "{ id: 'BI001', CentroDeTrabajo: 'Centro de Trabajo #315', Maquina: 'Rechazadora', NumOrden: '0100', FechaOrden: '22/10/2021' }, \n";
- $strDatos .= "{ id: 'BI004', CentroDeTrabajo: 'Centro de Trabajo #315', Maquina: 'Rechazadora', NumOrden: '0080', FechaOrden: '01/09/2021' }, \n";
- $strDatos .= "]; \n";
- }else if($maq_recibido == "613_0"){
- $strDatos .= "[ \n";
- $strDatos .= "{ id: 'BI002', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0098', FechaOrden: '18/10/2021' }, \n";
- $strDatos .= "{ id: 'BI003', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0095', FechaOrden: '05/09/2021' }, \n";
- $strDatos .= "{ id: 'BI005', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0075', FechaOrden: '29/08/2021' }, \n";
- $strDatos .= "]; \n";
- }else if($maq_recibido == "023_0"){
- $strDatos .= "[ \n";
- $strDatos .= "{ id: 'BI006', CentroDeTrabajo: 'Centro de Trabajo #023', Maquina: 'Punzonadora', NumOrden: '0065', FechaOrden: '17/08/2021' }, \n";
- $strDatos .= "]; \n";
- }else{
- $strDatos .= "[]; \n";
- }
- /*Fin ordenes de trabajo*/
- $contexto = stream_context_create($opciones);
- $flujo = fopen($url, 'r', false, $contexto);
- $arrResultadoPeticion = json_decode(stream_get_contents($flujo), true);
- $nombreMaquina = '';
- $carpetaImagenesMaquinaria = '';
- $carpetaPdfs = '';
- $infoGral = '';
- foreach ($arrResultadoPeticion['datosRespuesta'] as $idCentroT => $arrData){
- foreach ($arrData['maquinas'] as $clave => $valor){
- $nombreMaquina = $arrData['maquinas'][$clave]['nombre'];
- $carpetaImagenesMaquinaria = $arrData['maquinas'][$clave]['carpetaImagenesMaquinaria'];
- $infoGral = $arrData['maquinas'][$clave]['descripcion'];
- $carpetaPdfs = $arrData['maquinas'][$clave]['carpetaPdfs'];
- }
- }
- // Creamos los elementos para el "carousel" de imágenes
- $div_carousel_indicators = '';
- $imagenes_carousel = '';
- $contador_carousel = 0;
- if(!empty($carpetaImagenesMaquinaria)){
- $rutaBusqueda = 'css/layout/site/imgPlanta/maquinas/'.$carpetaImagenesMaquinaria;
- if(file_exists($rutaBusqueda)){
- if($directorio = opendir($rutaBusqueda)){
- while ($archivo = readdir($directorio)){
- if (!is_dir($archivo)){
- if (($archivo != ".") && ($archivo != "..")) {
- $arrArchivo = explode('_', $archivo);
- if(strpos($arrArchivo[1], 'principal') === false){
- $rutaImg = $rutaBusqueda.'/'.$archivo;
- $clase1 = '';
- if($contador_carousel == 0){
- $clase1 = 'active';
- }
- $div_carousel_indicators .= '<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="'.$contador_carousel.'" class="'.$clase1.' btn-carrusel" aria-current="true" aria-label="Slide '.($contador_carousel+1).'"></button>';
- $imagenes_carousel .= '<div class="carousel-item '.$clase1.'">';
- $imagenes_carousel .= '<img src="'.$rutaImg.'" class="d-block w-100" alt="...">';
- $imagenes_carousel .= '</div>';
- $contador_carousel++;
- }
- }
- }
- }
- }
- }
- }
- // Elementos para los Datos Generales
- $strTbodyEspecificaciones = '';
- $arrEspecificaciones = array();
- $arrTextoCol2 = array();
- // Rechazadora
- $arrTextoCol2['315'] = 'Rechazadora TLA 550';
- $arrEspecificaciones['315'][0]['col1'] = 'Espesor AL';
- $arrEspecificaciones['315'][1]['col1'] = 'Espesor FE';
- $arrEspecificaciones['315'][2]['col1'] = 'Espesor INOX';
- $arrEspecificaciones['315'][3]['col1'] = 'Altura puntas';
- $arrEspecificaciones['315'][4]['col1'] = 'Distancia entre puntas';
- $arrEspecificaciones['315'][5]['col1'] = 'Velocidad';
- $arrEspecificaciones['315'][6]['col1'] = 'Empuje';
- $arrEspecificaciones['315'][7]['col1'] = 'Potencia';
- $arrEspecificaciones['315'][8]['col1'] = 'Peso';
- $arrEspecificaciones['315'][0]['col2'] = '5 mm';
- $arrEspecificaciones['315'][1]['col2'] = '3.5 mm';
- $arrEspecificaciones['315'][2]['col2'] = '2.2 mm';
- $arrEspecificaciones['315'][3]['col2'] = '550 mm';
- $arrEspecificaciones['315'][4]['col2'] = '1150 mm';
- $arrEspecificaciones['315'][5]['col2'] = '0 1600 m/min';
- $arrEspecificaciones['315'][6]['col2'] = '1200 kg';
- $arrEspecificaciones['315'][7]['col2'] = '16 KW';
- $arrEspecificaciones['315'][8]['col2'] = '3200 kg';
- // Maquina Láser
- $arrTextoCol2['316'] = 'Maquina Láser Amada LC 2415';
- $arrEspecificaciones['316'][0]['col1'] = 'Área de trabajo';
- $arrEspecificaciones['316'][1]['col1'] = 'Carrera (eje X / Y / Z)';
- $arrEspecificaciones['316'][2]['col1'] = 'Precisión de posicionamiento';
- $arrEspecificaciones['316'][3]['col1'] = 'Precisión de reposicionamiento';
- $arrEspecificaciones['316'][4]['col1'] = 'Velocidad máxima de movimiento';
- $arrEspecificaciones['316'][5]['col1'] = 'Aceleración máxima';
- $arrEspecificaciones['316'][6]['col1'] = 'Poder de láser';
- $arrEspecificaciones['316'][7]['col1'] = 'Peso máximo de carga';
- $arrEspecificaciones['316'][8]['col1'] = 'Dimensiones generales';
- $arrEspecificaciones['316'][0]['col2'] = '300mm * 1500mm';
- $arrEspecificaciones['316'][1]['col2'] = '1525mm / 3025mm / 150mm';
- $arrEspecificaciones['316'][2]['col2'] = '± 0,03 mm / m';
- $arrEspecificaciones['316'][3]['col2'] = '± 0,03 mm';
- $arrEspecificaciones['316'][4]['col2'] = '140 m / min';
- $arrEspecificaciones['316'][5]['col2'] = '1.5G';
- $arrEspecificaciones['316'][6]['col2'] = '1.5KW ~ 4KW';
- $arrEspecificaciones['316'][7]['col2'] = '700KG';
- $arrEspecificaciones['316'][8]['col2'] = '4900 × 2250 × 1700 mm';
- // Balanceadora
- $arrTextoCol2['559'] = 'Balanceadora Hofmann CVW - B';
- $arrEspecificaciones['559'][0]['col1'] = 'Peso máximo (kg)';
- $arrEspecificaciones['559'][1]['col1'] = 'Comp. Cama (mm)';
- $arrEspecificaciones['559'][2]['col1'] = 'Rotor';
- $arrEspecificaciones['559'][3]['col1'] = 'Hoja de balance (RPM)';
- $arrEspecificaciones['559'][4]['col1'] = 'Desencadenar (CV)';
- $arrEspecificaciones['559'][5]['col1'] = 'Cardán (CV)';
- $arrEspecificaciones['559'][6]['col1'] = 'Planos de compensación';
- $arrEspecificaciones['559'][7]['col1'] = 'Accionado';
- $arrEspecificaciones['559'][8]['col1'] = 'Medición computarizada';
- $arrEspecificaciones['559'][0]['col2'] = '15,500';
- $arrEspecificaciones['559'][1]['col2'] = '3000';
- $arrEspecificaciones['559'][2]['col2'] = '2400';
- $arrEspecificaciones['559'][3]['col2'] = '300 - 1500';
- $arrEspecificaciones['559'][4]['col2'] = '30,0';
- $arrEspecificaciones['559'][5]['col2'] = '50';
- $arrEspecificaciones['559'][6]['col2'] = '2,3';
- $arrEspecificaciones['559'][7]['col2'] = 'Correa, Cardán o ambos';
- $arrEspecificaciones['559'][8]['col2'] = 'Balsis 3.0';
- // Dobladora Amada
- $arrTextoCol2['606'] = 'Dobladora Amada HG-1303';
- $arrEspecificaciones['606'][0]['col1'] = 'Peso máximo';
- $arrEspecificaciones['606'][1]['col1'] = 'Peso de la maquina';
- $arrEspecificaciones['606'][2]['col1'] = 'Entre columnas';
- $arrEspecificaciones['606'][3]['col1'] = 'Longitud OA (en Total))';
- $arrEspecificaciones['606'][4]['col1'] = 'Control';
- $arrEspecificaciones['606'][5]['col1'] = 'Repetibilidad';
- $arrEspecificaciones['606'][6]['col1'] = 'Accionamiento';
- $arrEspecificaciones['606'][7]['col1'] = 'Longitud máxima de flexión';
- $arrEspecificaciones['606'][8]['col1'] = 'Distancia entre marcos laterales';
- $arrEspecificaciones['606'][9]['col1'] = 'Longitud Total';
- $arrEspecificaciones['606'][10]['col1'] = 'Altura total';
- $arrEspecificaciones['606'][0]['col2'] = '55 toneladas';
- $arrEspecificaciones['606'][1]['col2'] = '7,940 Lbs.';
- $arrEspecificaciones['606'][2]['col2'] = '2.7 m';
- $arrEspecificaciones['606'][3]['col2'] = '3.1 m';
- $arrEspecificaciones['606'][4]['col2'] = 'CNC (AMNC3i)';
- $arrEspecificaciones['606'][5]['col2'] = '0.00004" (±0.001016 mm)';
- $arrEspecificaciones['606'][6]['col2'] = 'Híbrido';
- $arrEspecificaciones['606'][7]['col2'] = '82.1';
- $arrEspecificaciones['606'][8]['col2'] = '59.93';
- $arrEspecificaciones['606'][9]['col2'] = '89.00”';
- $arrEspecificaciones['606'][10]['col2'] = '76.00”';
- // Paneladora Salvagnini
- $arrTextoCol2['613'] = 'Paneladora Salvagnini P22116';
- $arrEspecificaciones['613'][0]['col1'] = 'Longitud máxima formato en entrada (mm)';
- $arrEspecificaciones['613'][1]['col1'] = 'Anchura máxima formato en entrada (mm)';
- $arrEspecificaciones['613'][2]['col1'] = 'Diagonal máxima de giro (mm)';
- $arrEspecificaciones['613'][3]['col1'] = 'Fuerza máxima de plegado (cuchillas) (kN)';
- $arrEspecificaciones['613'][4]['col1'] = 'Fuerza máxima de fijación (kN)';
- $arrEspecificaciones['613'][5]['col1'] = 'Longitud máxima de plegado (mm)';
- $arrEspecificaciones['613'][6]['col1'] = 'Altura máxima de plegado (mm)';
- $arrEspecificaciones['613'][7]['col1'] = 'Espesor mínimo (mm)';
- $arrEspecificaciones['613'][8]['col1'] = 'Espesor máximo y ángulo de plegado acero, UTS 410 N/mm2 (mm)';
- $arrEspecificaciones['613'][9]['col1'] = 'Espesor máximo y ángulo de plegado acero inoxidable, UTS 660 N/mm2 (mm)';
- $arrEspecificaciones['613'][10]['col1'] = 'Espesor máximo y ángulo de plegado aluminio, UTS 265 N/mm2 (mm)';
- $arrEspecificaciones['613'][11]['col1'] = 'Consumo medio (kW)';
- $arrEspecificaciones['613'][12]['col1'] = 'Nivel de ruido (Directiva de Máquinas 2006/42/CE) (dB)';
- $arrEspecificaciones['613'][0]['col2'] = '2495';
- $arrEspecificaciones['613'][1]['col2'] = '1600';
- $arrEspecificaciones['613'][2]['col2'] = '2500';
- $arrEspecificaciones['613'][3]['col2'] = '330';
- $arrEspecificaciones['613'][4]['col2'] = '530';
- $arrEspecificaciones['613'][5]['col2'] = '2180';
- $arrEspecificaciones['613'][6]['col2'] = '165';
- $arrEspecificaciones['613'][7]['col2'] = '0.4';
- $arrEspecificaciones['613'][8]['col2'] = '3.2 (±90°)<br>2.5 (±120°)<br>2.1 (±135°)';
- $arrEspecificaciones['613'][9]['col2'] = '2.5 (±90°)<br>2.1 (±120°)<br>1.6 (±130°)';
- $arrEspecificaciones['613'][10]['col2'] = '4.0 (±120°)<br>3.5 (±130°)';
- $arrEspecificaciones['613'][11]['col2'] = '3.0';
- $arrEspecificaciones['613'][12]['col2'] = '68';
- // Punzadora
- $arrTextoCol2['023'] = 'Punzadora AE 610';
- $arrEspecificaciones['023'][0]['col1'] = 'Capacidad de prensa (KN)';
- $arrEspecificaciones['023'][1]['col1'] = 'Precisión de posicionamiento (mm)';
- $arrEspecificaciones['023'][2]['col1'] = 'Número de estaciones';
- $arrEspecificaciones['023'][3]['col1'] = 'Bastidor de la máquina';
- $arrEspecificaciones['023'][4]['col1'] = 'Distancia de recorrido del eje (mm)';
- $arrEspecificaciones['023'][5]['col1'] = 'Longitud';
- $arrEspecificaciones['023'][6]['col1'] = 'Anchura';
- $arrEspecificaciones['023'][7]['col1'] = 'Altura';
- $arrEspecificaciones['023'][8]['col1'] = 'Peso';
- $arrEspecificaciones['023'][0]['col2'] = '200';
- $arrEspecificaciones['023'][1]['col2'] = '± 0.1';
- $arrEspecificaciones['023'][2]['col2'] = '45';
- $arrEspecificaciones['023'][3]['col2'] = 'Marco de puente';
- $arrEspecificaciones['023'][4]['col2'] = '2500x 1525';
- $arrEspecificaciones['023'][5]['col2'] = '4998';
- $arrEspecificaciones['023'][6]['col2'] = '5120';
- $arrEspecificaciones['023'][7]['col2'] = '2265';
- $arrEspecificaciones['023'][8]['col2'] = '13800';
- $arrColores = array();
- $arrColores['315']['estadoGral'] = 'color-perso';
- $arrColores['315']['ciclo'] = 'color-perso';
- $arrColores['315']['edoRefa'] = 'color-perso';
- $arrColores['316']['estadoGral'] = 'color-perso';
- $arrColores['316']['ciclo'] = 'color-perso';
- $arrColores['316']['edoRefa'] = 'color-perso';
- $arrColores['559']['estadoGral'] = 'color-perso';
- $arrColores['559']['ciclo'] = 'color-perso';
- $arrColores['559']['edoRefa'] = 'color-perso';
- $arrColores['606']['estadoGral'] = 'color-perso';
- $arrColores['606']['ciclo'] = 'color-perso';
- $arrColores['606']['edoRefa'] = 'color-perso';
- $arrColores['613']['estadoGral'] = 'color-perso';
- $arrColores['613']['ciclo'] = 'color-perso';
- $arrColores['613']['edoRefa'] = 'color-perso';
- $arrColores['023']['estadoGral'] = 'color-perso';
- $arrColores['023']['ciclo'] = 'bg-danger';
- $arrColores['023']['edoRefa'] = 'bg-warning';
- /* Atrasado - rojo && Sin Inventarios -> Amarillo */
- // Operativa
- // Al corriente
- // Disponibles
- $arrTextos = array();
- $arrTextos['color-perso'] = 'estadoGral';
- $arrTextos['bg-danger'] = 'Atrasado';
- $arrTextos['bg-warning'] = 'Sin Inventarios';
- //if($arrColores[$CT_recibido]['estadoGral'] == 'color-perso'){
- $texto1 = 'Operativa';
- //}
- if($arrColores[$CT_recibido]['ciclo'] == 'color-perso'){
- $texto2 = 'Al Corriente';
- }elseif ($arrColores[$CT_recibido]['ciclo'] == 'bg-danger'){
- $texto2 = 'Atrasado';
- }
- if($arrColores[$CT_recibido]['edoRefa'] == 'color-perso'){
- $texto3 = 'Disponible';
- }elseif ($arrColores[$CT_recibido]['edoRefa'] == 'bg-warning'){
- $texto3 = 'Sin Inventario';
- }
- $numRow = 1;
- foreach ($arrEspecificaciones[$CT_recibido] as $clave => $arrDetalles){
- $c1 = $arrDetalles['col1'];
- $c2 = $arrDetalles['col2'];
- $strTbodyEspecificaciones .= '<tr>';
- $strTbodyEspecificaciones .= '<th scope="row">'.$numRow.'</th>';
- $strTbodyEspecificaciones .= '<td>'.$c1.'</td>';
- $strTbodyEspecificaciones .= '<td>'.$c2.'</td>';
- $strTbodyEspecificaciones .= '</tr>';
- $numRow++;
- }
- // Creamos los elementos para Documentos Electrónicos
- $tbodyPdfs = '';
- $contadorArchivos = 1;
- if(!empty($carpetaPdfs)){
- if(file_exists($carpetaPdfs)){
- if($directorio = opendir($carpetaPdfs)){
- while ($archivo = readdir($directorio)){
- if (!is_dir($archivo)){
- if (($archivo != ".") && ($archivo != "..")) {
- //echo $archivo.'<br>';
- $tbodyPdfs .= '<tr>';
- $tbodyPdfs .= '<td class="celdaTabla"> </td>';
- $tbodyPdfs .= '<td class="celdaTabla">'.$contadorArchivos.'</td>';
- $tbodyPdfs .= '<td class="celdaTabla">'.$archivo.'</td>';
- $tbodyPdfs .= '<td class="celdaTabla">';
- $rutaPDF = $carpetaPdfs.$archivo;
- $tbodyPdfs .= '<button id="btnP' . $contadorArchivos . '" data-dojo-type="dijit/form/Button" type="button" ';
- $tbodyPdfs .= 'data-dojo-props="showLabel:true,iconClass:\'dijitIttecPdf\'" ';
- $tbodyPdfs .= 'onclick="descargar(\'' . base64_encode($rutaPDF) . '\', \'PDF\')">Descargar PDF</button>';
- $tbodyPdfs .= '</td>';
- $tbodyPdfs .= '<td class="celdaTabla"> </td>';
- $tbodyPdfs .= '</tr>';
- $contadorArchivos++;
- }
- }
- }
- }
- }
- }
- $textoCol2 = $arrTextoCol2[$CT_recibido];
- $titulo = $nombreMaquina . ' (Centro de Trabajo '.$CT_recibido.')';
- if(empty($tbodyPdfs)){
- $tbodyPdfs = '<td width="100%" colspan="20" class="celdaTabla" style="text-align:center;font-weight:bold;padding:8px;">Usted no cuenta con los permisos necesarios.</td>';
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta http-equiv="imagetoolbar" content="no" />
- <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Poppins:400,500,700,300,600">
- <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans">
- <link media="screen" rel="stylesheet" type="text/css" href="css/principal.css" />
- <!--<link media="screen" rel="stylesheet" type="text/css" href="css/pagination.css" />--> <!--Paginador-->
- <link rel="shortcut icon" type="image/x-icon" href="css/layout/global/sp.ico" />
- <link media="screen" rel="stylesheet" type="text/css" href="css/chunk-vendors.3b8eb8e0.css" /> <!--CSS de los rectangulos-->
- <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dijit/themes/claro/claro.css">
- <link rel="stylesheet" href="css/carrusel.css">
- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
- <script src="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dojo/dojo.js" data-dojo-config="async: true, parseOnLoad:true"></script>
- <!--<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script>-->
- <style type="text/css">
- /* Estilos para el DataGrid */
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/resources/claroGrid.css";
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css";
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css";
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/document.css";
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/enhanced/resources/claro/EnhancedGrid.css";
- @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css";
- #Grid_MantoPreventivo, #Grid_Refacciones {
- height: 400px;
- }
- .btn-carrusel:focus{outline:none !important;}
- .card {
- position:relative;
- display:flex;
- flex-direction:column;
- min-width:0;
- word-wrap:break-word;
- background-color:#fff;
- background-clip:border-box;
- border:1px solid rgba(0,0,0,.125);
- border-radius:.25rem
- }
- .color-perso{
- background-color: #1e9e20 !important;
- }
- .color-dataGral{
- background-color: rgba(250,245,250,0.5);
- }
- .padre{
- width: 100%;
- display: flex;
- justify-content: center;
- }
- .carousel-perso{
- margin: 0 100px 0 100px !important;
- }
- .dijitIttecPdf {
- background-image: url("css/layout/site/lsPDF.gif");
- background-position: 1px;
- background-repeat: no-repeat;
- width: 14px;
- height: 14px;
- }
- </style>
- <script type="application/javascript">
- // Cargamos los complementos de dojo
- require(["dojo/dom", "dojo/_base/fx", "dojo/_base/array", "dojo/query", "dojo/dom-construct", "dijit/registry", "dojo/dom-style", "dojo/ready", "dojo/on", "dojo/window",
- "dojo/store/Memory", "dijit/form/FilteringSelect", "dijit/form/Button", "dojo/dom-class", "dijit/Dialog",
- "dojo/_base/lang", "dojox/grid/DataGrid", "dojo/data/ItemFileWriteStore", "dojox/grid/enhanced/plugins/DnD", "dojox/grid/EnhancedGrid", "dojox/grid/enhanced/plugins/Selector", "dojox/grid/enhanced/plugins/IndirectSelection", "dojox/grid/enhanced/plugins/NestedSorting",
- "dijit/ProgressBar", "dijit/ConfirmDialog", "dojo/dom-style", "dijit/form/ComboButton", "dijit/Menu", "dijit/MenuItem", "dijit/MenuSeparator", "dijit/Tooltip", "dijit/form/Form", "dijit/form/TextBox",
- "dojox/grid/enhanced/plugins/Filter", "dijit/form/ValidationTextBox", "dijit/form/NumberSpinner", "dojo/request", "dojo/parser"],
- function(dom, fx, array, query, domConstruct, dijit, style, ready, on, win,
- Memory, FilteringSelect, Button, domClass, Dialog,
- lang, DataGrid, ItemFileWriteStore, DnDConfig, EnhancedGrid, Selector, indirectSelection, nestedSorting,
- ProgressBar, ConfirmDialog, style, ComboButton, Menu, MenuItem, MenuSeparator, Tooltip, Form, TextBox, filter, ValidationTextBox, NumberSpinner, request) {
- const idModulo = "<?php echo($strModulo);?>";
- const CT_recibido = "<?php echo($CT_recibido); ?>";
- const maq_recibido = "<?php echo($maq_recibido); ?>";
- /*Datos ordenes de trabajo*/
- const datos = <?php echo $strDatos; ?>
- crearTabla = function (datos) {
- domConstruct.empty('TBREGISTROS');
- if (datos.length > 0) {
- for (const key in datos) {
- var trRegistro = domConstruct.create('tr', { class: '' }, 'TBREGISTROS');
- var tdVacioInicio = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
- // Centro de Trabajo
- var CentroDeTrabajo = datos[key]['CentroDeTrabajo'];
- var tdCentroDeTrabajo = domConstruct.create('td', { class: 'celdaTabla', innerHTML: CentroDeTrabajo }, trRegistro);
- // Máquina
- var Maquina = datos[key]['Maquina'];
- var tdMaquina = domConstruct.create('td', { class: 'celdaTabla', innerHTML: Maquina }, trRegistro);
- // # De Orden
- var NumOrden = datos[key]['NumOrden'];
- var tdNumOrden = domConstruct.create('td', { class: 'celdaTabla', innerHTML: NumOrden }, trRegistro);
- // Fecha de laOrden
- var FechaOrden = datos[key]['FechaOrden'];
- var tdFechaOrden = domConstruct.create('td', { class: 'celdaTabla', innerHTML: FechaOrden }, trRegistro);
- // Acciones
- var tdAcciones = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
- var btnPdf = domConstruct.create('button', { type: 'button' }, tdAcciones);
- new Button({
- label: 'Orden de Trabajo',
- iconClass: 'dijitIconTask',
- showLabel: false,
- onClick: function () {
- pdf(datos[key]['NumOrden']);
- }
- }, btnPdf).startup();
- var btnAbrir = domConstruct.create('button', { type: 'button' }, tdAcciones);
- new Button({
- label: 'Revisar Archivo',
- iconClass: 'dijitIconFolderOpen',
- showLabel: false,
- onClick: function () {
- abrir(datos[key]['NumOrden']);
- }
- }, btnAbrir).startup();
- var tdVacioFinal = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
- }
- }else{
- var trRegistro = domConstruct.create('tr', { class: '', innerHTML: '<td width="100%" colspan="20" class="celdaTabla" style="text-align:center;font-weight:bold;padding:8px;">Usted no cuenta con los permisos necesarios.</td>' }, 'TBREGISTROS');
- }
- }
- /**************************/
- // Para Mostrar de Mensajes de "error o éxito"
- var dgEjecuta = new Dialog({title: 'Procesando...', style: 'width:300px'});
- var pbMarcar = new ProgressBar({value: Number.POSITIVE_INFINITY, layoutAlign: 'left'});
- dgEjecuta.setContent(pbMarcar);
- dgResultadoError = new ConfirmDialog({ title:"<b>Error</b>", style: "min-width:300px; heigth; auto" });
- style.set(dgResultadoError.cancelButton.domNode, 'display', 'none');
- dgResultadoExito = new ConfirmDialog({ title:"<b>Éxito</b>", style: "min-width:300px; heigth; auto" });
- style.set(dgResultadoExito.cancelButton.domNode, 'display', 'none');
- /****************************************************************** Botones ******************************************************************/
- /****************************************************************** Acciones ******************************************************************/
- descargar = function (ruta, opcion) {
- dgEjecuta.set("title", "Descargando...");
- dgEjecuta.show();
- accion = "descargarArchivo";
- request.post('descargarArchivos.php', {
- data: {
- accion: accion,
- idModulo: idModulo,
- ruta: ruta
- }
- }).then(
- function(response) {
- var objResponse = JSON.parse(response);
- if(objResponse['estatus'] == "ERROR"){
- dgEjecuta.hide();
- dgResultadoError.setContent(objResponse['errorDescripcion']);
- dgResultadoError.show();
- }else{
- var data = objResponse['data'];
- var type = objResponse['type'];
- var datosArchivoSalida = objResponse['type'] + objResponse['data'];
- var nombreArchivoSalida = objResponse['fileName'];
- if(navigator.msSaveBlob){ // Adaptación para IE
- var blob = new Blob([s2ab(atob(data))],{
- type: type
- });
- navigator.msSaveBlob(blob, nombreArchivoSalida);
- dgEjecuta.hide();
- }else{
- // Creamos los elementos para descargar
- var spanDescarga = domConstruct.toDom('<span>Para recuperar el archivo, haz click en el siguiente enlace: </span>');
- domConstruct.place(spanDescarga, 'contenidoDescarga');
- var tipo = accion;
- var idElemento = "elementoA_"+tipo;
- var linkDescarga = domConstruct.toDom('<a href="' + datosArchivoSalida + '" id="'+idElemento+'" download="' + nombreArchivoSalida + '">'+nombreArchivoSalida+'</a>');
- domConstruct.place(linkDescarga, 'contenidoDescarga');
- // Evento requerido para cuando no se ejecuta el evento click automáticamente (especialmente en dispositivos móviles)
- var clickEjecutado = false;
- on(linkDescarga, "click", function (evt) {
- clickEjecutado = true;
- spanDescarga.remove();
- linkDescarga.remove();
- divDescargas.hide();
- });
- linkDescarga.click();
- dgEjecuta.hide();
- if(clickEjecutado == false){
- var tituloDescarga = "<b>Descarga</b>";
- divDescargas.set("title", tituloDescarga);
- divDescargas.show();
- }
- }
- }
- }
- );
- };
- cargarGrid = function (idGrid, ct, maq){
- dgEjecuta.set("title", "Consultando...");
- dgEjecuta.show();
- var accion = "";
- var resdatosRecibidos = "datosRespuesta";
- var posicionDom = "";
- if(idGrid == "id_Grid_MantoPreventivo"){
- accion = "buscarMantoPreventivo";
- posicionDom = "Grid_MantoPreventivo";
- }else if(idGrid == "id_Grid_Refacciones"){
- accion = "buscarRefacciones";
- posicionDom = "Grid_Refacciones";
- }
- request.post("datosPlanta.php", {
- data: {
- accion: accion,
- idModulo: idModulo,
- ct: ct,
- maq: maq
- }
- }).then(
- function (response) {
- var objResponse = JSON.parse(response);
- if (objResponse['estatus'] == "ERROR") {
- dgEjecuta.hide();
- dgResultadoError.setContent(objResponse['errorDescripcion']);
- dgResultadoError.show();
- } else {
- let datosRecibidos = objResponse[resdatosRecibidos];
- // Configuramos el data store
- var data = {
- identifier: "id",
- items: []
- };
- // Creamos la lista de objetos
- var data_list = JSON.parse(datosRecibidos);
- for(var i = 0, l = data_list.length; i < data_list.length; i++){
- data.items.push(lang.mixin({ id: i+1 }, data_list[i%l]));
- }
- var store = new ItemFileWriteStore({data: data});
- // Destruimos el dataGrid si ya existe
- if (dijit.byId(idGrid)){
- dijit.byId(idGrid).destroy();
- }
- if(idGrid == "id_Grid_MantoPreventivo"){
- var estructuralayout = [[
- /*{'name': 'Line Number', 'field': 'id', 'width': '80px', 'datatype':'number'},*/
- {'name': 'Parte', 'field': 'parte', 'width': '250px', 'datatype':'string'},
- {'name': 'Actividad', 'field': 'actividad', 'width': '250px', 'datatype':'string'},
- {'name': 'Duración', 'field': 'duracion', 'width': '250px', 'datatype':'string'},
- {'name': 'Prioridad', 'field': 'prioridad', 'width': '250px', 'datatype':'string'},
- {'name': 'Tipo', 'field': 'tipo', 'width': '250px', 'datatype':'string'},
- {'name': 'Clasificación 1', 'field': 'clasificacion', 'width': '250px', 'datatype':'string'}
- ]];
- }else if(idGrid == "id_Grid_Refacciones"){
- var estructuralayout = [[
- {'name': 'Máquina', 'field': 'maquina', 'width': '250px', 'datatype':'string'},
- {'name': 'Refacción', 'field': 'refaccion', 'width': '250px', 'datatype':'string'},
- {'name': 'Desgaste', 'field': 'desgaste', 'width': '250px', 'datatype':'string'},
- {'name': 'Duración', 'field': 'duracion', 'width': '250px', 'datatype':'string'},
- {'name': 'Próximo Pedido', 'field': 'proximoPedido', 'width': '250px', 'datatype':'string'}
- ]];
- }
- var grid = new EnhancedGrid({
- id: idGrid,
- store: store,
- structure: estructuralayout,
- autoHeight: false,
- autoWidth: false,
- rowSelector: '20px',
- noDataMessage: 'No se encontraron datos',
- canSort: function () {
- return true;
- }, // Filtra
- plugins: {
- nestedSorting: true,
- /*filter: {
- // Show the closeFilterbarButton at the filter bar
- closeFilterbarButton: false,
- // Set the maximum rule count to 5
- ruleCount: 5,
- // Set the name of the items
- itemsName: "registros"
- }*/
- }
- });
- // Cargamos el dataGrid en el div
- grid.placeAt(posicionDom);
- // Inicializamos el dataGrid
- grid.startup();
- dgEjecuta.hide();
- }
- }
- );
- };
- ready(function() {
- // Actualizar el tamaño del TabContainer en función del tamaño de página
- var ventana = win.getBox();
- var strVentana = (ventana.h-170)+"px";
- style.set(dijit.byId("djTab").id, { height:strVentana });
- dijit.byId("djTab").resize();
- // Actualizar el tamaño del TabContainer en función del tamaño de página
- on(window, "resize", function() {
- var ventana = win.getBox();
- var strVentana = (ventana.h-170)+"px";
- style.set(dijit.byId("djTab").id, { height:strVentana });
- dijit.byId("djTab").resize();
- });
- // Eliminar la cortina de entrada
- fx.fadeOut({node: dom.byId("loadingOverlay"), duration: 1}).play();
- setTimeout(function () {
- domConstruct.destroy("loadingOverlay");
- }, 1);
- on(dijit.byId("ContentPane_MantoPreventivo"),"show", function(){
- cargarGrid("id_Grid_MantoPreventivo", CT_recibido, maq_recibido);
- });
- on(dijit.byId("ContentPane_Refacciones"),"show", function(){
- cargarGrid("id_Grid_Refacciones", CT_recibido, maq_recibido);
- });
- // Para cuando cierran el divisor que contiene las descargas
- divDescargas.on("Cancel", function (evt) {
- var contenido = document.getElementById("contenidoDescarga");
- while (contenido.firstChild) {
- contenido.removeChild(contenido.firstChild);
- }
- });
- crearTabla(datos);
- });
- });
- function abrir(numOrden){ document.getElementById("numOrden").value = numOrden; document.getElementById("frmAbrir").submit(); }
- function pdf(numOrden){ document.getElementById("pdf").value = numOrden; document.getElementById("frmPDF").submit(); }
- // Función para convertir string a un array buffer (Necesario para descargar en IE)
- function s2ab(s) {
- var buf = new ArrayBuffer(s.length);
- var view = new Uint8Array(buf);
- for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
- return buf;
- }
- </script>
- </head>
- <body class="claro">
- <div id="loadingOverlay" class="loadingOverlay pageOverlay">
- <div class="loadingMessage">Espere...</div>
- </div>
- <!-- Divisor para guardar las descargas -->
- <div data-dojo-type="dijit/Dialog" data-dojo-id="divDescargas" title="Descarga" style="top:0; position: absolute">
- <div id="contenidoDescarga" style="min-width:200px; min-height: 100px"></div>
- </div>
- <div id="wrapper_container_module">
- <div id="wrapper_table" style="position:relative;">
- <div data-dojo-type="dijit/form/Form" id="frm" data-dojo-id="frm" encType="multipart/form-data"
- action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" style="position:relative;">
- <script type="dojo/on" data-dojo-event="submit">return true;</script>
- <div id="wrapper_table_head"><?php echo($titulo); ?></div>
- <div id="wrapper_table_body_mod_app">
- <div class="row" style="margin-bottom: 10px">
- <div class="col-12 col-sm-4 col-md-4 col-lg-4">
- <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['estadoGral']); ?>">
- <div class="box color-perso text-center"><h1 class="font-light text-white"><?php echo($texto1); ?></h1><h6
- class="text-white">Estado General</h6></div>
- </div>
- </div>
- <div class="col-12 col-sm-4 col-md-4 col-lg-4">
- <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['ciclo']); ?>">
- <div class="box text-center"><h1 class="font-light text-white"><?php echo($texto2); ?></h1><h6
- class="text-white">Ciclo de Mantenimiento</h6></div>
- </div>
- </div>
- <div class="col-12 col-sm-4 col-md-4 col-lg-4">
- <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['edoRefa']); ?>">
- <div class="box text-center"><h1 class="font-light text-white"><?php echo($texto3); ?></h1><h6
- class="text-white">Estado de Refacciones</h6></div>
- </div>
- </div>
- </div>
- <div id="djTab" data-dojo-type="dijit/layout/TabContainer" data-dojo-props="tabPosition:'top'" style="width:100%;">
- <div data-dojo-type="dijit/layout/ContentPane" title="Datos Generales" data-dojo-props="selected:true, iconClass:'dijitIconFile'">
- <div style="width: 40%; float:left">
- <div class="padre">
- <div class="" style="max-width: 66.66%; text-align: center" >
- <div class="card card-inverse color-dataGral" style="padding: 20px">
- <div class="box text-center" >
- <h6 class="text-black"><?php echo($infoGral);?></h6></div>
- </div>
- </div>
- </div>
- </div>
- <div style="width: 60%; float:right">
- <table class="table table-striped">
- <thead>
- <tr>
- <th scope="col" style="border-top: none"><b>#</b></th>
- <th scope="col" style="border-top: none"><b>Especificaciones Técnicas</b></th>
- <th scope="col" style="border-top: none"><b><?php echo($textoCol2); ?><b></th>
- </tr>
- </thead>
- <tbody>
- <?php echo($strTbodyEspecificaciones); ?>
- </tbody>
- </table>
- </div>
- </div>
- <div data-dojo-type="dijit/layout/ContentPane" title="Fotografías" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconInsertImage'">
- <!--Colocar slider-->
- <?php if(!empty($div_carousel_indicators)){ ?>
- <div id="carouselExampleCaptions" class="carousel slide carousel-perso" data-bs-ride="carousel">
- <div class="carousel-indicators">
- <?php echo($div_carousel_indicators); ?>
- </div>
- <div class="carousel-inner">
- <?php echo($imagenes_carousel); ?>
- </div>
- <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
- <span class="carousel-control-prev-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Previous</span>
- </button>
- <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
- <span class="carousel-control-next-icon" aria-hidden="true"></span>
- <span class="visually-hidden">Next</span>
- </button>
- </div>
- <?php } ?>
- </div>
- <div id="ContentPane_MantoPreventivo" data-dojo-type="dijit/layout/ContentPane" title="Ciclo de Mantenimiento Preventivo" data-dojo-props="iconClass:'dijitIconUndo'">
- <div style="margin-top: 15px">
- <div id="Grid_MantoPreventivo"></div>
- </div>
- </div>
- <div id="ContentPane_OrdenesManto" data-dojo-type="dijit/layout/ContentPane" title="Órdenes de Mantenimiento" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconPaste'">
- <table width="100%" height="auto" cellpadding="0" cellspacing="0">
- <thead>
- <tr>
- <td width="3%" class="encabezadoTabla"> </td>
- <td width="20%" class="encabezadoTabla"> Centro de Trabajo </td>
- <td width="20%" class="encabezadoTabla"> Máquina </td>
- <td width="18%" class="encabezadoTabla"> # De Orden </td>
- <td width="18%" class="encabezadoTabla"> Fecha de la Orden </td>
- <td width="18%" class="encabezadoTabla">Acciones</td>
- <td width="3%" class="encabezadoTabla"> </td>
- </tr>
- </thead>
- <tbody id="TBREGISTROS">
- </tbody>
- </table>
- </div>
- <div id="ContentPane_Refacciones" data-dojo-type="dijit/layout/ContentPane" title="Refacciones" data-dojo-props="iconClass:'dijitIconSample'">
- <div style="margin-top: 15px">
- <div id="Grid_Refacciones"></div>
- </div>
- </div>
- <div data-dojo-type="dijit/layout/ContentPane" title="Documentos Electrónicos" data-dojo-props="iconClass:'dijitIconDocuments'">
- <table width="100%" height="auto" cellpadding="0" cellspacing="0">
- <thead>
- <tr>
- <td width="3%" class="encabezadoTabla"> </td>
- <td width="20%" class="encabezadoTabla"> # </td>
- <td width="50%" class="encabezadoTabla"> Nombre Archivo </td>
- <td width="24%" class="encabezadoTabla"> Acciones </td>
- <td width="3%" class="encabezadoTabla"> </td>
- </tr>
- </thead>
- <tbody id="TBPDFS">
- <?php echo($tbodyPdfs); ?>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- <form id="frmAbrir" action="bitacorasDeMantenimiento_FR.php" method="post">
- <input type="hidden" value="" id="numOrden" name="numOrden">
- <input type="hidden" value="<?php echo $link; ?>" id="from" name="from">
- </form>
- <form id="frmPDF" action="bitacorasDeMantenimiento_FR.php" method="post" target="_blank">
- <input type="hidden" value="" id="pdf" name="pdf">
- </form>
- </div>
- </div>
- <script type="application/javascript">
- </script>
- </body>
|