Example #1
0
function cargo_obtener_para__vista_cargo_amigable(&$r)
{
    if (!mysql_num_rows($r)) {
        return false;
    }
    $fecha_min = '99999999';
    $fecha_max = '00000000';
    $arrBuffer = array();
    $buffer = '<table class="tfija t100">';
    $buffer .= '<tr><th>Cargo</th><th>Fecha de inicio</th><th>Fecha Fin</th></tr>';
    while ($f = mysql_fetch_assoc($r)) {
        $arrBuffer[] = array('leyenda' => $f['cargo'], 'fecha_inicio' => $f['fecha_inicio'], 'fecha_fin' => $f['fecha_fin'], 'fecha_inicio_formato' => $f['fecha_inicio_formato'], 'fecha_fin_formato' => $f['fecha_fin_formato'], 'flag_cese' => $f['flag_cese'], 'titulo' => $f['cargo']);
        $fecha_minima = date('Ym01', strtotime($f['fecha_inicio']));
        $fecha_maxima = date('Ymd', strtotime($f['fecha_fin']));
        $fecha_min = min($fecha_min, $fecha_minima);
        $fecha_max = max($fecha_max, $fecha_maxima);
        if (!$f['flag_cese'] && date('Ymd', strtotime($f['fecha_fin'])) == date('Ymd')) {
            $f['fecha_fin_formato'] = 'a la fecha';
        }
        $buffer .= sprintf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>', $f['cargo'], $f['fecha_inicio_formato'], $f['fecha_fin_formato']);
    }
    $buffer .= '</table>';
    mysql_data_seek($r, 0);
    $f = mysql_fetch_assoc($r);
    $tabla = '<h2>Gráfico de antecedente de cargos laborales en ' . $f['razon_social'] . '</h2>';
    mysql_data_seek($r, 0);
    $tabla .= ui_timeline($arrBuffer);
    return $buffer . $tabla;
}
if (isset($_GET['agregar'])) {
    require_once '-empleado.amigable.cargo.agregar.php';
    return;
}
$cargos = cargo_obtener_para(usuario_cache('ID_empresa'), $_GET['cargo'], '', '', 'cargo_obtener_para__vista_cargo_amigable', 'ASC');
/*************** Gráfico de faltas ******************/
$faltas = '';
if (usuario_cache('ui_rrhh_extendido') == 'si') {
    $cfaltas = 'SELECT `ID_empleado_anexo`, `ID_empleado`, `categoria`, `detalle1`, `detalle2`, `valor`, CONCAT("<table class=\'t100 tfija\'><tr><th>Fecha</th><th>Hora</th><th>Intensidad</th><th>Justificación</th></tr>",GROUP_CONCAT("<tr>", "<td>", DATE(`valor_fecha`), "</td><td>", TIME(`valor_fecha`), "</td><td>", `detalle1`, "</td><td>", `detalle2`, "</td>", "</tr>" SEPARATOR ""),"</table>") AS titulo, CONCAT(SUBSTR(`valor_fecha`,1,8),"01") AS fecha_inicio, LAST_DAY(`valor_fecha`) AS fecha_fin, `fecha_registro`, COUNT(*) AS cuenta FROM `empleado_anexo` LEFT JOIN `empleado` USING(ID_empleado) WHERE `empleado`.`ID_empresa` = ' . usuario_cache('ID_empresa') . ' AND grupo="accion_de_personal" AND `empleado`.`ID_empleado` = "' . $_GET['cargo'] . '" GROUP BY categoria,CONCAT(detalle1,detalle2),CONCAT(YEAR(valor_fecha),".",MONTH(valor_fecha))';
    $rfaltas = db_consultar($cfaltas);
    if (mysql_num_rows($rfaltas)) {
        $faltas .= '<h2> Gráfico de faltas </h2>';
        while ($f = mysql_fetch_assoc($rfaltas)) {
            $arrFaltas[] = array('grupo_mayor' => $f['categoria'], 'leyenda' => '<span title="Intensidad">' . $f['detalle1'] . '</span> | <span title="Justificación">' . $f['detalle2'] . '</span>', 'titulo' => $f['titulo'], 'contenido' => $f['cuenta'], 'fecha_inicio' => $f['fecha_inicio'], 'fecha_fin' => $f['fecha_fin'], 'fecha_inicio_formato' => $f['fecha_inicio'], 'fecha_fin_formato' => $f['fecha_fin']);
        }
        $faltas .= ui_timeline($arrFaltas, array('grupo_mayor' => true, 'contenido_en_barra' => true));
    } else {
        $faltas .= '<h2>Faltas laborales</h2>';
        $faltas .= '<p>El empleado no tiene faltas laborales registradas en esta empresa</p>';
    }
    $faltas .= '<hr />';
}
/*************** 8< ******************/
$c = 'SELECT ID_categoria, titulo_categoria, GROUP_CONCAT(CONCAT(ID_cargo,"|",titulo_cargo) SEPARATOR "||") AS cargos FROM categoria LEFT JOIN cargo USING(ID_categoria) GROUP BY ID_categoria';
$r = db_consultar($c);
$opciones_categorias_cargos = '';
while ($f = mysql_fetch_assoc($r)) {
    $opciones_categorias_cargos .= '<optgroup label="' . $f['titulo_categoria'] . '">' . preg_replace('/(.*?)\\|(.*?)\\|\\|/', '<option value="$1">$2</option>', $f['cargos']) . '</optgroup>';
}
?>
<h1>Trayectoria laboral en <?php 
Example #3
0
function empleado_buscar__vista_consulta_global(&$r, &$arrErrores, &$arrAdvertencias, &$op)
{
    global $arrHEAD;
    // Flag 'no_resultados_no_error' en uso, no se toma la falta de resultados como error.
    $tabla = '';
    $buffer = '<h1>Resultado de consulta global de empleado</h1>';
    if (count($arrErrores)) {
        return '<p class="error">' . join('<p><p class="error">', $arrErrores) . '</p>';
    }
    if (!mysql_numrows($r)) {
        return 'No se encontro ningún empleado registrado con ese DUI y NIT.';
    }
    $arrHEAD[] = JS_onload('
    $("#mostrar-graficos-cargos-laborales-empresa").click(function() {$("#graficos-cargos-laborales-empresa").toggle();});
    $("#mostrar-faltas-laborales").click(function() {$("#graficos-faltas-laborales").toggle();});
    ');
    /*****************************************/
    $tabla .= '<h2>Gráfico de antecedente laboral</h2>';
    $arrBuffer = cargo_obtener_para(0, 0, $op['DUI'], $op['NIT'], 'cargo_obtener_para__vista_lista', 'ASC');
    $tabla .= ui_timeline($arrBuffer);
    $tabla .= '<h2><input type="button" class="fs6" id="mostrar-graficos-cargos-laborales-empresa" value="Mostrar/Ocultar" /> gráfico de cargos laborales por empresa</h2>';
    $tabla .= '<div style="display:none" id="graficos-cargos-laborales-empresa">';
    $arrBuffer2 = cargo_obtener_para(0, 0, $op['DUI'], $op['NIT'], 'cargo_obtener_para__vista_lista2', 'ASC');
    $tabla .= ui_timeline($arrBuffer2, array('grupo_mayor' => true));
    $tabla .= '</div>';
    /*****************************************/
    reset($arrBuffer);
    $fecha_min = time();
    $fecha_max = 0;
    while ($dato = each($arrBuffer)) {
        $dato = $dato[1];
        $dato_siguiente = current($arrBuffer);
        $fecha_minima = strtotime($dato['fecha_inicio']);
        $fecha_maxima = strtotime($dato['fecha_fin']);
        $fecha_min = min($fecha_min, $fecha_minima);
        $fecha_max = max($fecha_max, $fecha_maxima);
        if ($dato['razon_social'] != $dato_siguiente['razon_social'] || !$dato_siguiente) {
            if (!$dato['flag_cese'] && date('Ymd', $fecha_max) == date('Ymd')) {
                $fecha_fin = 'a la fecha';
            } else {
                $fecha_fin = $dato['fecha_fin_formato'];
            }
            $antecedente = '<form target="_blank" action="' . PROY_URL . '~antecedente" method="post">' . ui_input('ID_empresa', $dato['ID_empresa'], 'hidden') . ui_input('DUI', $dato['DUI'], 'hidden') . ui_input('NIT', $dato['NIT'], 'hidden') . ui_input('fi', $fecha_min, 'hidden') . ui_input('ff', strtotime(date('Y-m-d', $fecha_max) . '+1 day'), 'hidden') . ui_input('', 'ver antecedente laboral', 'submit') . '</form>';
            $tabla .= '<hr class="hr-consulta" />';
            $tabla .= '<table class="t100 tfija">';
            $tabla .= '<tr><th>Empresa</th><th>Nombre registrado</th><th>Periodo laborado</th><th>Acciones</th></tr>';
            $tabla .= sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', '<acronym title="Contacto para referencia: ' . $dato['contacto_rrhh'] . ', tel.: ' . $dato['telefono_rrhh'] . '">' . $dato['razon_social'] . '</acronym>', $dato['apellidos'] . ', ' . $dato['nombres'], $dato['fecha_inicio_formato'] . ' - ' . $fecha_fin, $antecedente);
            $tabla .= '</table>';
            $estado = empleado_estado($dato['ID_empleado'], array('fecha_inicio' => strtotime($dato['fecha_inicio'] . '+1 day'), 'fecha_final' => strtotime($dato['fecha_fin'] . '+1 day')));
            if ($estado == 'recontratable') {
                $estado = 'El empleado no labora en esta empresa.<br />';
                $estado .= 'Segun el desempeño laboral observado (<strong>como parametro de evaluación del individuo</strong>), la empresa <strong>' . $dato['razon_social'] . '</strong> ' . db_obtener(db_prefijo . 'cese', 'calificacion', 'ID_empleado=' . $dato['ID_empleado'], 'ORDER BY fecha_cese DESC') . '.';
            } else {
                $estado = 'El empleado se encuentra laborando en esta empresa';
            }
            $tabla .= '<table class="t100 a-izq">';
            $tabla .= '<tr><td>Estado laboral actual: ' . $estado . '</td></tr>';
            //if (!empty($f['calificacion'])) $tabla .= '<tr><td>Calificación laboral: '.$f['calificacion'].'</td></tr>';
            //if (!empty($f['comentario_cese'])) $tabla .= '<tr><td>Comentario sobre el cese laboral: '.$f['cese_comentario'].'</td></tr>';
            $tabla .= '</table>';
            $fecha_min = time();
            $fecha_max = 0;
        }
    }
    $buffer .= $tabla;
    return $buffer;
}