Ejemplo n.º 1
0
<?php

if (usuario_cache('ui_rrhh_extendido') == 'no') {
    echo '<p class="error">Lo sentimos, Ud. no dispone de esta caracteristica, contacte a BCA.</p>';
    echo $enlaces_rapidos;
    return;
}
$empleado = empleado_obtener_datos($_GET['anexo']);
if (!$empleado || $empleado['ID_empresa'] != usuario_cache('ID_empresa')) {
    echo '<p class="error">Lo sentimos, no se le pueden mostrar los datos de este empleado</p>';
    echo $enlaces_rapidos;
    return;
}
if (empleado_estado($empleado['ID_empleado']) == 'recontratable') {
    echo '<p class="error">Lo sentimos, no se pueden añadir nuevas acciones de personal a empleados inactivos.</p>';
    echo $enlaces_rapidos;
    return;
}
if (isset($_POST['anexar'])) {
    if (empty($_POST['tiempo'])) {
        $_POST['tiempo'] = date('H:i a');
    }
    if (empty($_POST['fecha'])) {
        $_POST['fecha'] = date('Y-m-d');
    } elseif (strtotime($_POST['fecha'] . ' ' . $_POST['tiempo'] . ' ' . $_POST['tiempo2']) > time()) {
        $errores[] = 'La fecha especificada es posterior a la fecha actual';
    } elseif (!empleado_validar__fecha_dentro_de_periodo_laboral_activo($empleado['ID_empleado'], $_POST['fecha'])) {
        $errores[] = 'La fecha espeficada no es permitida puesto que no corresponde con el periodo laboral activo del empleado.';
    }
    if (isset($errores)) {
        echo '<h2>Errores encontrados en la comprobación</h2><p class="error">' . join('</p><p class="error">', $errores) . '</p>';
<?php

// Esta bien el Nº de DUI?
if (isset($_POST['DUI']) || isset($_POST['NIT']) || isset($_POST['ID_empresa'])) {
    if (preg_match('/\\d{8}-\\d/', $_POST['DUI']) && preg_match('/\\d{4}-\\d{6}-\\d{3}-\\d/', $_POST['NIT'])) {
        $empleado = empleado_obtener_datos(0, $_POST['ID_empresa'], $_POST['DUI'], $_POST['NIT']);
    } else {
        echo '#ERROR#';
        return;
    }
}
if (isset($empleado['ID_empleado']) && is_numeric($empleado['ID_empleado'])) {
    $PARAMS = sprintf('`ID_empleado` = %s', $empleado['ID_empleado']);
} else {
    echo '#ERROR.2#';
    return;
}
$rango = '';
if (isset($arrRango) && is_array($arrRango) && isset($arrRango['fecha_inicio']) && isset($arrRango['fecha_final'])) {
    $PARAMS .= sprintf(' AND cese.`fecha_cese` BETWEEN "%s" AND "%s"', date('Y-m-d', $arrRango['fecha_inicio']), date('Y-m-d', $arrRango['fecha_final']));
}
?>
<h1>Reporte de cese laboral para  <?php 
echo $empleado['apellidos'] . ', ' . $empleado['nombres'] . ' @ ' . $empleado['razon_social'];
?>
</h1>
<p><strong>DUI:</strong> <?php 
echo $empleado['DUI'];
?>
 / <strong>NIT:</strong> <?php 
echo $empleado['NIT'];
Ejemplo n.º 3
0
<?php

$empleado = empleado_obtener_datos($_GET['cese']);
$editable = true;
if (!$empleado) {
    echo '<p class="error">Lo sentimos, no se le pueden mostrar los datos de este empleado</p>';
    echo $enlaces_rapidos;
    return;
}
if (empleado_estado($empleado['ID_empleado']) == 'recontratable') {
    $editable = false;
}
// Si aun no tiene hoja de cese entonces el ingreso el DUI y NIT correcto
// pero cambio el numero de empleado para crear una hoja de cese que no le corresponde
// FIXME: permitir si tiene 1 o mas ceses ingresados
if ($editable && $empleado['ID_empresa'] != usuario_cache('ID_empresa')) {
    echo '<p class="error">Intento de violación al sistema, no se le pueden mostrar los datos de este empleado</p>';
    echo $enlaces_rapidos;
    return;
}
if (isset($_POST['cancelar'])) {
    header('Location: ' . PROY_URL . '~empleado?cargo=' . $empleado['ID_empleado']);
    exit;
}
if (isset($_POST['enviar']) && $editable) {
    //Validemos
    $valido = true;
    if (!isset($_POST['paso1'])) {
        echo '<p class="error">Error: debe establecer el motivo del cese laboral del empleado.</p>';
        $valido = false;
    } elseif (!in_array($_POST['paso1'], array('Renuncia', 'Despido', 'Recorte de Personal'))) {
Ejemplo n.º 4
0
<?php

$empleado = empleado_obtener_datos($_GET['cargo']);
if (!$empleado) {
    echo '<p class="error">Lo sentimos, no se le pueden mostrar los datos de este empleado</p>';
    echo $enlaces_rapidos;
    return;
}
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< ******************/