Example #1
0
function soustrait_solde_et_reliquat_user($user_login, $num_current_periode, $user_nb_jours_pris, $type_abs, $date_deb, $demi_jour_deb, $date_fin, $demi_jour_fin)
{
    $VerifDec = verif_saisie_decimal($user_nb_jours_pris);
    //si on autorise les reliquats
    if ($_SESSION['config']['autorise_reliquats_exercice']) {
        //recup du reliquat du user pour ce type d'absence
        $reliquat = get_reliquat_user_conges($user_login, $type_abs);
        //echo "reliquat = $reliquat<br>\n";
        // s'il y a une date limite d'utilisationdes reliquats (au format jj-mm)
        if ($_SESSION['config']['jour_mois_limite_reliquats'] != 0) {
            //si date_fin_conges < date_limite_reliquat => alors on décompte dans reliquats
            if ($date_fin < $_SESSION['config']['date_limite_reliquats']) {
                if ($reliquat > $user_nb_jours_pris) {
                    $new_reliquat = $reliquat - $user_nb_jours_pris;
                } else {
                    $new_reliquat = 0;
                }
            } elseif ($date_deb >= $_SESSION['config']['date_limite_reliquats']) {
                $new_reliquat = $reliquat;
            } else {
                include_once 'fonctions_calcul.php';
                $comment = "calcul reliquat -> date limite";
                $nb_reliquats_a_deduire = compter($user_login, $num_current_periode, $date_deb, $_SESSION['config']['date_limite_reliquats'], $demi_jour_deb, "pm", $comment);
                if ($reliquat > $nb_reliquats_a_deduire) {
                    $new_reliquat = $reliquat - $nb_reliquats_a_deduire;
                } else {
                    $new_reliquat = 0;
                }
            }
        } else {
            if ($reliquat > $user_nb_jours_pris) {
                $new_reliquat = $reliquat - $user_nb_jours_pris;
            } else {
                $new_reliquat = 0;
            }
        }
        $VerifDec = verif_saisie_decimal($user_nb_jours_pris);
        $VerifDec = verif_saisie_decimal($new_reliquat);
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . \includes\SQL::quote($user_nb_jours_pris) . ', su_reliquat=' . \includes\SQL::quote($new_reliquat) . ' WHERE su_login="******"  AND su_abs_id=' . \includes\SQL::quote($type_abs) . ' ';
    } else {
        $VerifDec = verif_saisie_decimal($user_nb_jours_pris);
        $VerifDec = verif_saisie_decimal($new_reliquat);
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . \includes\SQL::quote($user_nb_jours_pris) . ' WHERE su_login=\'' . \includes\SQL::quote($user_login) . '\'  AND su_abs_id=\'' . $type_abs . '\' ';
    }
    $ReqLog2 = \includes\SQL::query($sql2);
}
function soustrait_solde_et_reliquat_user($user_login, $num_current_periode, $user_nb_jours_pris, $type_abs, $date_deb, $demi_jour_deb, $date_fin, $demi_jour_fin, $DEBUG = FALSE)
{
    $user_nb_jours_pris = strtr($user_nb_jours_pris, ",", ".");
    //si on autorise les reliquats
    if ($_SESSION['config']['autorise_reliquats_exercice']) {
        //recup du reliquat du user pour ce type d'absence
        $reliquat = get_reliquat_user_conges($user_login, $type_abs, $DEBUG);
        //echo "reliquat = $reliquat<br>\n";
        // s'il y a une date limite d'utilisationdes reliquats (au format jj-mm)
        if ($_SESSION['config']['jour_mois_limite_reliquats'] != 0) {
            //si date_fin_conges < date_limite_reliquat => alors on décompte dans reliquats
            if ($date_fin < $_SESSION['config']['date_limite_reliquats']) {
                if ($reliquat > $user_nb_jours_pris) {
                    $new_reliquat = $reliquat - $user_nb_jours_pris;
                } else {
                    $new_reliquat = 0;
                }
            } elseif ($date_deb >= $_SESSION['config']['date_limite_reliquats']) {
                $new_reliquat = $reliquat;
            } else {
                include 'fonctions_calcul.php';
                $nb_reliquats_a_deduire = compter($user_login, $num_current_periode, $date_deb, $_SESSION['config']['date_limite_reliquats'], $demi_jour_deb, "pm", null, $DEBUG);
                if ($reliquat > $nb_reliquats_a_deduire) {
                    $new_reliquat = $reliquat - $nb_reliquats_a_deduire;
                } else {
                    $new_reliquat = 0;
                }
            }
        } else {
            if ($reliquat > $user_nb_jours_pris) {
                $new_reliquat = $reliquat - $user_nb_jours_pris;
            } else {
                $new_reliquat = 0;
            }
        }
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . SQL::quote($user_nb_jours_pris) . ', su_reliquat=' . SQL::quote(str_replace(",", ".", $new_reliquat)) . ' WHERE su_login=\'' . SQL::quote($user_login) . '\'  AND su_abs_id=' . $type_abs;
    } else {
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . SQL::quote($user_nb_jours_pris) . ' WHERE su_login=\'' . SQL::quote($user_login) . '\'  AND su_abs_id=\'' . $type_abs;
    }
    $ReqLog2 = SQL::query($sql2);
}