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
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; }