Beispiel #1
0
 public static function ajout_global($tab_new_nb_conges_all, $tab_calcul_proportionnel, $tab_new_comment_all)
 {
     $PHP_SELF = $_SERVER['PHP_SELF'];
     $session = session_id();
     $return = '';
     // recup de la liste de TOUS les users dont $resp_login est responsable
     // (prend en compte le resp direct, les groupes, le resp virtuel, etc ...)
     // renvoit une liste de login entre quotes et séparés par des virgules
     $list_users_du_resp = \hr\Fonctions::get_list_all_users_du_hr($_SESSION['userlogin']);
     foreach ($tab_new_nb_conges_all as $id_conges => $nb_jours) {
         if ($nb_jours != 0) {
             $comment = $tab_new_comment_all[$id_conges];
             $sql1 = "SELECT u_login, u_quotite FROM conges_users WHERE u_login IN ({$list_users_du_resp}) ORDER BY u_login ";
             $ReqLog1 = \includes\SQL::query($sql1);
             while ($resultat1 = $ReqLog1->fetch_array()) {
                 $current_login = $resultat1["u_login"];
                 $current_quotite = $resultat1["u_quotite"];
                 if (!isset($tab_calcul_proportionnel[$id_conges]) || $tab_calcul_proportionnel[$id_conges] != TRUE) {
                     $nb_conges = $nb_jours;
                 } else {
                     // pour arrondir au 1/2 le + proche on  fait x 2, on arrondit, puis on divise par 2
                     $nb_conges = ROUND($nb_jours * ($current_quotite / 100) * 2) / 2;
                 }
                 $valid = verif_saisie_decimal($nb_conges);
                 if ($valid) {
                     // 1 : update de la table conges_solde_user
                     $req_update = 'UPDATE conges_solde_user SET su_solde = su_solde + ' . $nb_conges . '
                             WHERE  su_login = "******"  AND su_abs_id = "' . \includes\SQL::quote($id_conges) . '";';
                     $ReqLog_update = \includes\SQL::query($req_update);
                     // 2 : on insert l'ajout de conges GLOBAL (pour tous les users) dans la table periode
                     $commentaire = _('resp_ajout_conges_comment_periode_all');
                     // ajout conges
                     \hr\Fonctions::insert_ajout_dans_periode($current_login, $nb_conges, $id_conges, $commentaire);
                 }
             }
             if (!isset($tab_calcul_proportionnel[$id_conges]) || $tab_calcul_proportionnel[$id_conges] != TRUE) {
                 $comment_log = "ajout conges global ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : No)";
             } else {
                 $comment_log = "ajout conges global ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : Yes)";
             }
             log_action(0, "ajout", "tous", $comment_log);
         }
     }
     return $return;
 }