home-contabilidad

Bienvenido al área de Contabilidad

En este espacio encontrarás las herramientas, recursos e información necesarios para apoyar el desarrollo de tus actividades contables. Nuestro objetivo es facilitar el acceso a los elementos clave que necesitas para llevar a cabo tus labores con eficiencia, orden y precisión. Te invitamos a explorar cada sección y hacer uso de los servicios disponibles para optimizar tu gestión contable.

Radicacion Terceros

 

\r\n"; $headers .= "Reply-To: <$fromEmail>\r\n"; if (!empty($cc)) { $headers .= "Cc: $cc\r\n"; } $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; $message = "--$boundary\r\n"; $message .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n"; $message .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; $message .= $messageText . "\r\n"; foreach ($attachments as $attachment) { if (file_exists($attachment['tmp_name'])) { $fileContent = chunk_split(base64_encode(file_get_contents($attachment['tmp_name']))); $filename = $attachment['name']; $message .= "--$boundary\r\n"; $message .= "Content-Type: application/octet-stream; name=\"$filename\"\r\n"; $message .= "Content-Transfer-Encoding: base64\r\n"; $message .= "Content-Disposition: attachment; filename=\"$filename\"\r\n\r\n"; $message .= $fileContent . "\r\n"; } } $message .= "--$boundary--"; return mail($to, $subject, $message, $headers); } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit_radicacion'])) { $to = This email address is being protected from spambots. You need JavaScript enabled to view it.'; $subject = 'Nueva radicación de factura de proveedor'; $documento = sanitize_text_field($_POST['documento']); $nombre = sanitize_text_field($_POST['nombre']); $correo = sanitize_email($_POST['correo']); $telefono = sanitize_text_field($_POST['telefono']); $respuesta_glosa = sanitize_text_field($_POST['respuesta_glosa']); $conciliacion = sanitize_text_field($_POST['conciliacion']); $detalle = sanitize_textarea_field($_POST['detalle']); $message = " Se ha recibido una nueva radicación: Documento: $documento Nombre: $nombre Correo: $correo Teléfono: $telefono Respuesta a Glosa: $respuesta_glosa Conciliación: $conciliacion Detalle: $detalle "; $adjuntos = []; if (!empty($_FILES['archivo1']['tmp_name']) && is_uploaded_file($_FILES['archivo1']['tmp_name'])) { $adjuntos[] = [ 'tmp_name' => $_FILES['archivo1']['tmp_name'], 'name' => $_FILES['archivo1']['name'] ]; } if (!empty($_FILES['archivo2']['tmp_name']) && is_uploaded_file($_FILES['archivo2']['tmp_name'])) { $adjuntos[] = [ 'tmp_name' => $_FILES['archivo2']['tmp_name'], 'name' => $_FILES['archivo2']['name'] ]; } $resultado = enviarCorreoConAdjuntos($to, $subject, $message, $correo, $adjuntos, This email address is being protected from spambots. You need JavaScript enabled to view it.'); if ($resultado) { echo '

¡Formulario enviado exitosamente!

'; } else { echo '

Error: No se pudo enviar el correo. Verifica la configuración del servidor.

'; } } ?>

Radicación de Factura - Proveedor










 

Reporte Biomedico

 

SOLICITUD DE MANTENIMIENTO CORRECTIVO DE EQUIPOS BIOMEDICOS

Reporte de Incidencias

     
 

ArtPruebaHTMK

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Registros de Pacientes</title>
    <!-- Incluye Bootstrap y DataTables con el tema de Bootstrap -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/dataTables.bootstrap4.min.css">
    <style>
        /* Estilo personalizado */
        body {
            padding: 0;
            margin: 0;
            background-color: #ffffff; /* Fondo blanco */
        }
        .container {
            max-width: 100%;
            padding: 20px;
        }
        .card {
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para darle un efecto moderno */
        }
        .card-header {
            background-color: #0099FF; /* Color azul para el encabezado de la tarjeta */
            color: white;
            border-top-left-radius: 10px;
            border-top-right-radius: 10px;
        }
        .legend-container {
            display: flex;
            justify-content: flex-start;
            margin-bottom: 15px;
        }
        .legend-item {
            display: flex;
            align-items: center;
            margin-right: 20px;
        }
        .legend-color {
            width: 20px;
            height: 20px;
            border-radius: 3px;
            margin-right: 10px;
        }
        .red-color {
            background-color: #ff1c31;
        }
        .orange-color {
            background-color: #fff3cd;
        }
        /* Ajuste de ancho fijo para la columna "Usuario" */
        .usuario-columna {
            width: 300px; /* Ancho fijo para la columna usuario */
            white-space: nowrap; /* Evitar saltos de línea */
            overflow: hidden; /* Ocultar texto desbordado */
            text-overflow: ellipsis; /* Mostrar "..." si el texto es muy largo */
        }
        /* Ajuste de la columna "CausaExterna" si también lo deseas */
        .causaexterna-columna {
            width: 200px; /* Ancho fijo para la columna causa externa */
             white-space: nowrap; /* Evitar saltos de línea */
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .columna-pequena {
            width: 20px !important; /* Ancho reducido para las columnas pequeñas */
        }
        table {
            table-layout: auto; /* Ajuste automático de columnas */
            width: 100%;
        }
        /* Estilo para la fila en rojo */
        .highlight-red {
            background-color: #ff1c31 !important; /* Fondo rojo */
            color: white !important; /* Texto blanco */
        }
        /* Estilo para la fila en naranja */
        .highlight-orange {
            background-color: #fff3cd !important; /* Fondo naranja claro */
            color: #856404 !important; /* Texto naranja oscuro */
        }
    </style>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap4.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>
</head>
<body>
    <div class="container mt-5">
        <div class="card">
            <div class="card-header text-center">
                <h4 class="mb-0">Registros de Pacientes</h4>
            </div>
            <div class="card-body">
                
                <!-- Leyendas de Colores -->
                <div class="legend-container">
                    <div class="legend-item">
                        <div class="legend-color red-color"></div>
                        <span>Paciente sin Registro de Urgencia</span>
                    </div>
                    <div class="legend-item">
                        <div class="legend-color orange-color"></div>
                        <span>Paciente con más de 6 Horas</span>
                    </div>
                </div>

                <!-- Tabla de Registros -->
                <div class="table-responsive">
                    <table id="registrosTable" class="table table-striped table-bordered" style="width:100%">
                        <thead>
                            <tr id="headerRow">
                                <!-- El encabezado se generará dinámicamente -->
                            </tr>
                        </thead>
                        <tbody>
                            <?php
                            // Conexión a la base de datos y ejecución del SP
                            include 'conexion.php';

                            $sql = "EXEC MWCLV.RegistrosPacientes";
                            $stmt = sqlsrv_query($conn, $sql);

                            if ($stmt === false) {
                                die(print_r(sqlsrv_errors(), true));
                            }

                            // Obtener la primera fila para generar los encabezados de las columnas
                            $firstRow = true;
                            $columnIndex = 0;
                            while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
                                // Generar el encabezado dinámico si es la primera fila
                                if ($firstRow) {
                                    foreach ($row as $column => $value) {
                                        $class = $columnIndex == 1 ? 'usuario-columna' : ($columnIndex == 5 ? 'causaexterna-columna' : ($columnIndex >= 5 ? 'columna-pequena' : ''));
                                        $headerText = $columnIndex >= 5 ? substr(htmlspecialchars((string)$column), 0, 3) : htmlspecialchars((string)$column);
                                        $fullHeaderText = htmlspecialchars((string)$column); // El nombre completo para el tooltip
                                        echo '<script>$("#headerRow").append("<th class=\'' . $class . '\' title=\'' . $fullHeaderText . '\'>' . $headerText . '</th>");</script>';
                                        $columnIndex++;
                                    }
                                    $firstRow = false;
                                }

                                // Generar las filas de la tabla con los datos
                                echo "<tr>";
                                foreach ($row as $column => $value) {
                                    $class = $columnIndex == 1 ? 'usuario-columna' : ($columnIndex == 5 ? 'causaexterna-columna' : ($columnIndex >= 5 ? 'columna-pequena' : ''));
                                    if ($value instanceof DateTime) {
                                        $formattedValue = $value->format('Y-m-d H:i:s');
                                    } elseif (is_object($value)) {
                                        $formattedValue = serialize($value);
                                    } elseif (is_array($value)) {
                                        $formattedValue = json_encode($value);
                                    } else {
                                        $formattedValue = (string)$value;
                                    }
                                    echo "<td class='$class' data-value='$formattedValue'>" . htmlspecialchars($formattedValue) . "</td>";
                                }
                                echo "</tr>";
                            }

                            sqlsrv_free_stmt($stmt);
                            sqlsrv_close($conn);
                            ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>

    <!-- Inicializar DataTables con configuración personalizada y aplicar el resaltado condicional -->
    <script>
        $(document).ready(function() {
            $('#registrosTable').DataTable({
                "paging": true,
                "lengthChange": true,
                "searching": true,
                "ordering": true,
                "info": true,
                "autoWidth": false,
                "responsive": true,
                "pageLength": 30
            });

            // Aplicar el resaltado condicional
            $('#registrosTable tbody tr').each(function() {
                var row = $(this);
                var fechaHora = new Date(row.find('td:eq(3)').data('value')); // Obtener la fecha y hora (columna 4, índice 3)
                var registroClinico = parseInt(row.find('td:eq(7)').text()); // Obtener el valor de "Registro Clínico de Urgencias" (columna 6, índice 5)
                var estadoCaso = row.find('td:eq(5)').text(); // Obtener el valor de "Estado Caso" (columna 7, índice 6)

                // Verificar si la diferencia de tiempo es mayor a 15 minutos y el valor es cero
                var ahora = new Date();
                var diferenciaMinutos = (ahora - fechaHora) / (1000 * 60);
                var diferenciaHoras = diferenciaMinutos / 60; // Convertimos minutos a horas

                // Condición 1: Resaltar en rojo si la diferencia es mayor a 15 minutos y "Registro Clínico de Urgencias" es cero
                if (diferenciaMinutos > 15 && registroClinico === 0) {
                    row.addClass('highlight-red');
                }
                
                // Condición 2: Resaltar en naranja si la diferencia es mayor a 6 horas y "Estado Caso" es "Activo"
                if (diferenciaHoras > 6 && estadoCaso.trim().toLowerCase() === 'activo') {
                    row.addClass('highlight-orange');
                }
            });
        });
    </script>
</body>
</html>

 

 

ArtPruebaHTMK

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Registros de Pacientes</title>
    <!-- Incluye Bootstrap y DataTables con el tema de Bootstrap -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/dataTables.bootstrap4.min.css">
    <style>
        /* Estilo personalizado */
        body {
            padding: 0;
            margin: 0;
            background-color: #ffffff; /* Fondo blanco */
        }
        .container {
            max-width: 100%;
            padding: 20px;
        }
        .card {
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra para darle un efecto moderno */
        }
        .card-header {
            background-color: #0099FF; /* Color azul para el encabezado de la tarjeta */
            color: white;
            border-top-left-radius: 10px;
            border-top-right-radius: 10px;
        }
        .legend-container {
            display: flex;
            justify-content: flex-start;
            margin-bottom: 15px;
        }
        .legend-item {
            display: flex;
            align-items: center;
            margin-right: 20px;
        }
        .legend-color {
            width: 20px;
            height: 20px;
            border-radius: 3px;
            margin-right: 10px;
        }
        .red-color {
            background-color: #ff1c31;
        }
        .orange-color {
            background-color: #fff3cd;
        }
        /* Ajuste de ancho fijo para la columna "Usuario" */
        .usuario-columna {
            width: 300px; /* Ancho fijo para la columna usuario */
            white-space: nowrap; /* Evitar saltos de línea */
            overflow: hidden; /* Ocultar texto desbordado */
            text-overflow: ellipsis; /* Mostrar "..." si el texto es muy largo */
        }
        /* Ajuste de la columna "CausaExterna" si también lo deseas */
        .causaexterna-columna {
            width: 200px; /* Ancho fijo para la columna causa externa */
             white-space: nowrap; /* Evitar saltos de línea */
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .columna-pequena {
            width: 20px !important; /* Ancho reducido para las columnas pequeñas */
        }
        table {
            table-layout: auto; /* Ajuste automático de columnas */
            width: 100%;
        }
        /* Estilo para la fila en rojo */
        .highlight-red {
            background-color: #ff1c31 !important; /* Fondo rojo */
            color: white !important; /* Texto blanco */
        }
        /* Estilo para la fila en naranja */
        .highlight-orange {
            background-color: #fff3cd !important; /* Fondo naranja claro */
            color: #856404 !important; /* Texto naranja oscuro */
        }
    </style>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap4.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>
</head>
<body>
    <div class="container mt-5">
        <div class="card">
            <div class="card-header text-center">
                <h4 class="mb-0">Registros de Pacientes</h4>
            </div>
            <div class="card-body">
                
                <!-- Leyendas de Colores -->
                <div class="legend-container">
                    <div class="legend-item">
                        <div class="legend-color red-color"></div>
                        <span>Paciente sin Registro de Urgencia</span>
                    </div>
                    <div class="legend-item">
                        <div class="legend-color orange-color"></div>
                        <span>Paciente con más de 6 Horas</span>
                    </div>
                </div>

                <!-- Tabla de Registros -->
                <div class="table-responsive">
                    <table id="registrosTable" class="table table-striped table-bordered" style="width:100%">
                        <thead>
                            <tr id="headerRow">
                                <!-- El encabezado se generará dinámicamente -->
                            </tr>
                        </thead>
                        <tbody>
                            <?php
                            // Conexión a la base de datos y ejecución del SP
                            include 'conexion.php';

                            $sql = "EXEC MWCLV.RegistrosPacientes";
                            $stmt = sqlsrv_query($conn, $sql);

                            if ($stmt === false) {
                                die(print_r(sqlsrv_errors(), true));
                            }

                            // Obtener la primera fila para generar los encabezados de las columnas
                            $firstRow = true;
                            $columnIndex = 0;
                            while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
                                // Generar el encabezado dinámico si es la primera fila
                                if ($firstRow) {
                                    foreach ($row as $column => $value) {
                                        $class = $columnIndex == 1 ? 'usuario-columna' : ($columnIndex == 5 ? 'causaexterna-columna' : ($columnIndex >= 5 ? 'columna-pequena' : ''));
                                        $headerText = $columnIndex >= 5 ? substr(htmlspecialchars((string)$column), 0, 3) : htmlspecialchars((string)$column);
                                        $fullHeaderText = htmlspecialchars((string)$column); // El nombre completo para el tooltip
                                        echo '<script>$("#headerRow").append("<th class=\'' . $class . '\' title=\'' . $fullHeaderText . '\'>' . $headerText . '</th>");</script>';
                                        $columnIndex++;
                                    }
                                    $firstRow = false;
                                }

                                // Generar las filas de la tabla con los datos
                                echo "<tr>";
                                foreach ($row as $column => $value) {
                                    $class = $columnIndex == 1 ? 'usuario-columna' : ($columnIndex == 5 ? 'causaexterna-columna' : ($columnIndex >= 5 ? 'columna-pequena' : ''));
                                    if ($value instanceof DateTime) {
                                        $formattedValue = $value->format('Y-m-d H:i:s');
                                    } elseif (is_object($value)) {
                                        $formattedValue = serialize($value);
                                    } elseif (is_array($value)) {
                                        $formattedValue = json_encode($value);
                                    } else {
                                        $formattedValue = (string)$value;
                                    }
                                    echo "<td class='$class' data-value='$formattedValue'>" . htmlspecialchars($formattedValue) . "</td>";
                                }
                                echo "</tr>";
                            }

                            sqlsrv_free_stmt($stmt);
                            sqlsrv_close($conn);
                            ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>

    <!-- Inicializar DataTables con configuración personalizada y aplicar el resaltado condicional -->
    <script>
        $(document).ready(function() {
            $('#registrosTable').DataTable({
                "paging": true,
                "lengthChange": true,
                "searching": true,
                "ordering": true,
                "info": true,
                "autoWidth": false,
                "responsive": true,
                "pageLength": 30
            });

            // Aplicar el resaltado condicional
            $('#registrosTable tbody tr').each(function() {
                var row = $(this);
                var fechaHora = new Date(row.find('td:eq(3)').data('value')); // Obtener la fecha y hora (columna 4, índice 3)
                var registroClinico = parseInt(row.find('td:eq(7)').text()); // Obtener el valor de "Registro Clínico de Urgencias" (columna 6, índice 5)
                var estadoCaso = row.find('td:eq(5)').text(); // Obtener el valor de "Estado Caso" (columna 7, índice 6)

                // Verificar si la diferencia de tiempo es mayor a 15 minutos y el valor es cero
                var ahora = new Date();
                var diferenciaMinutos = (ahora - fechaHora) / (1000 * 60);
                var diferenciaHoras = diferenciaMinutos / 60; // Convertimos minutos a horas

                // Condición 1: Resaltar en rojo si la diferencia es mayor a 15 minutos y "Registro Clínico de Urgencias" es cero
                if (diferenciaMinutos > 15 && registroClinico === 0) {
                    row.addClass('highlight-red');
                }
                
                // Condición 2: Resaltar en naranja si la diferencia es mayor a 6 horas y "Estado Caso" es "Activo"
                if (diferenciaHoras > 6 && estadoCaso.trim().toLowerCase() === 'activo') {
                    row.addClass('highlight-orange');
                }
            });
        });
    </script>
</body>
</html>

 

 

Incidencia Reportada

 

¡Muchas gracias por colaborar con nosotros! Crearemos un  ticket en este momento y pronto le daremos respuesta