function nbjoursouvres($mois, $annee)
{
    $date_depart = strtotime($annee . "-" . $mois . "-01");
    $samedi = 0;
    $dimanche = 0;
    $ferie1 = 0;
    $nbjoursMois = nbjoursMois($mois, $annee);
    $jour = jour_semaine($mois, 1, $annee);
    $feries = getFeries($date_depart);
    for ($i = 1; $i <= $nbjoursMois; $i++) {
        switch (true) {
            case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
                $ferie1++;
                break;
            case $jour == 6:
                $samedi++;
                break;
            case $jour == 7:
                $dimanche++;
                break;
        }
        if ($jour == 7) {
            $jour = 0;
        }
        $jour++;
    }
    $jourouvre = $nbjoursMois - $ferie1 - $dimanche - $samedi;
    return $jourouvre;
}
/**
 * génère le RAM
 * 
 */
function generer_ram()
{
    $nbJours = nbjoursMois($_POST['mois'], $_POST['annee']);
    $tab_jour = array();
    $tab_client = array();
    $tab_conge = array();
    $tab_projet = array();
    $query_projet = "SELECT DISTINCT P.PRO_NO, P.PRO_NOM, C.CLI_NO, C.CLI_NOM FROM CLIENT C, PROJET P WHERE P.CLI_NO=C.CLI_NO";
    $result_projet = $GLOBALS['connexion']->query($query_projet);
    while ($row = $result_projet->fetch_assoc()) {
        $tab_projet[$row['PRO_NO']] = array('PRO_NOM' => $row['PRO_NOM'], 'CLI_NO' => $row['CLI_NO'], 'CLI_NOM' => $row['CLI_NOM']);
    }
    for ($i = 1; $i <= $_POST['nb_client']; $i++) {
        $tab_client[$_POST['projet' . $i]] = array();
    }
    for ($i = 1; $i <= $nbJours; $i++) {
        $tab_jour[$i] = array();
        $tab_conge[$i] = array();
        foreach ($tab_client as &$client) {
            $client[$i] = array();
        }
    }
    /*
     * à ce point, on a la liste des jours dans tab_jour,
     * dans tab_client on a une ligne par client et la liste des jours pour chacun
     * et pour $tab_conge on a la liste des jours
     */
    ajout_classe($tab_jour);
    remplir_ram($tab_jour, $tab_client, $tab_conge);
    $html = '<form action="ram_envoyes.php" method="post">' . ram_to_html($tab_jour, $tab_client, $tab_conge, $tab_projet);
    //echo "MODE ".$_POST['mode'];
    switch ($_POST['mode']) {
        case 'creer':
            $html .= ajout_comm_apsa();
            break;
        case 'modif':
            $html .= ajout_tab_conge() . ajout_comm_apsa() . ajout_comm_cli($tab_client, $tab_projet);
            break;
        case 'voir':
            $html .= ajout_tab_conge() . ajout_comm_apsa() . ajout_comm_cli($tab_client, $tab_projet);
            break;
        case 'imprimer':
        case 'imprimerAdm':
            $html = select_cli($tab_client, $tab_projet) . $html;
            $html .= ajout_tab_recap($tab_jour) . ajout_comm_cli($tab_client, $tab_projet);
            $html .= ajout_signature();
            break;
    }
    return $html;
}
$query = "SELECT ID_TYABS, NOM_TYABS FROM type_abs";
$result = $GLOBALS['connexion']->query($query);
$types = array();
while ($row = $result->fetch_assoc()) {
    $types[str_replace(' ', '', $row['NOM_TYABS'])] = $row['ID_TYABS'];
}
/*
 * suppression des anciens enregistremets
 */
$query = "DELETE FROM demande_abs WHERE ANNEE_DEM = '" . $_POST['annee'] . "' AND MOIS_DEM = '" . $_POST['mois'] . "' AND ID_COL = '" . $_SESSION['col_id'] . "'";
$GLOBALS['connexion']->query($query);
/*
 * ajout des enregistrements
 */
$query = "INSERT INTO demande_abs (ID_COL, ID_TYABS, JOUR_DEM, MOIS_DEM, ANNEE_DEM, NBH_DEM) VALUES ";
$vars = array('ID_COL' => $_SESSION['col_id'], 'ID_TYABS' => '', 'JOUR_DEM' => '', 'MOIS_DEM' => $_POST['mois'], 'ANNEE_DEM' => $_POST['annee'], 'NBH_DEM' => '');
$nbJours = nbjoursMois($_POST['mois'], $_POST['annee']);
for ($i = 1; $i <= $nbJours; $i++) {
    if (isset($_POST[$i])) {
        $vars['JOUR_DEM'] = $i;
        $vars['NBH_DEM'] = 1;
        $classe = explode('-', $_POST[$i]);
        if (count($classe) == 2) {
            $vars['NBH_DEM'] = 0.5;
        }
        $vars['ID_TYABS'] = $types[$classe[0]];
        $query .= "('" . implode("', '", $vars) . "'), ";
    }
}
$GLOBALS['connexion']->query(substr($query, 0, -2));
echo "Votre demande a été prise en compte";
}
if ($_POST['mode'] == 'imprimer' || $_POST['mode'] == 'imprimerAdm') {
    ?>
                    <div class="row-fluid">
                        <div class="offset6 span10"> 
                            <button class='btn btn-primary not_printed' type='button' onClick="javascript:ImprimeRAM();"> Imprimer </button>
                        </div>
                    </div>
                    <?php 
}
?>
            </form>
        </div>
        <div id='footer'>
            <div id="nbJours" style="display:none"><?php 
echo nbjoursMois($_POST['mois'], $_POST['annee']);
?>
</div>
            <script type="text/javascript" src="js.js"></script>
        </div>
        <script type="text/javascript">
            function ImprimeRAM(){
                $('.').css('margin-top', '0px');
                var comcli = $('textarea[name^=comcli_]').val();
                if (comcli == ""){
                    $('div[name=libcomcli]').attr('class', 'not_printed');
                    $('textarea[name^=comcli_]').attr('class', 'not_printed');
                }
                window.print();
            }
    <?php 
        $designation[] = array($FAC_NOMPRO, $FAC_PRODETAIL, $FAC_ELEM);
        while (isset($row['FAC_ELEM_SUP_' . $i]) && !empty($row['FAC_ELEM_SUP_' . $i])) {
            $elem = explode("&shy", $row['FAC_ELEM_SUP_' . $i]);
            //Le montant HT représentant le montant du projet principal facturé. Le montantHT étant modifié par les éventuels lignes supplémentaires
            //On retranche donc le montant des éléments supplémentaires afin d'avoir le vrai montant du projet principal
            $designation[] = array($elem[0], $elem[1], $elem[2]);
            $i++;
        }
    }
    $query_ent = 'SELECT * FROM ENTREPRISE WHERE ENT_NO = ' . $row['ENT_NO'];
    $entreprise = $GLOBALS['connexion']->query($query_ent)->fetch_assoc();
    $query_ban = 'SELECT * FROM BANQUE WHERE BAN_NO = ' . $row['BAN_NO'];
    $banque = $GLOBALS['connexion']->query($query_ban)->fetch_assoc();
    $contact = '';
    //Ligne élément facturable
    $line = array("Période :" => "Du 1er " . $libmois . " " . $FAC_ANNEE . " au " . nbjoursMois($FAC_MOIS, $FAC_ANNEE) . " " . $libmois . " " . $FAC_ANNEE, "Désignation" => "Détails&shyMontant");
    $bottomLine = '';
    if ($row['FAC_AVO'] == "") {
        $bottomLine = array("Total HT : " => ' &shy' . sprintf("%.2F", $FAC_TOTAL_HT), "TVA aux taux légal en vigueur :" => sprintf("%.2F", $tauxTVA) . ' %&shy' . sprintf("%.2F", $FAC_MONTANT_TVA), "Total TTC :" => ' &shy' . sprintf("%.2F", $FAC_TOTAL_TTC));
    } else {
        $bottomLine = array("Total HT : " => ' &shy' . sprintf("%.2F", $FAC_MT_AVO), "TVA aux taux légal en vigueur :" => sprintf("%.2F", $tauxTVA) . ' %&shy' . sprintf("%.2F", $FAC_MT_AVO * ($FAC_TAUXTVA / 100)), "Total TTC :" => ' &shy' . sprintf("%.2F", $FAC_MT_AVO * (1 + $FAC_TAUXTVA / 100)));
    }
}
// Libellé du document FACTURE
$query_libdoc = "SELECT * FROM LIBDOCUMENT L LEFT JOIN DOCUMENT D ON D.DOC_NO = L.DOC_NO WHERE D.DOC_CODE='FAC' ORDER BY LDO_ORDRE";
$result_libdoc = $GLOBALS['connexion']->query($query_libdoc);
while ($lib = $result_libdoc->fetch_assoc()) {
    $titre[] = $lib['LDO_NOM'];
    $pave[] = $lib['LDO_CONTENU'];
}
//var_dump($titre);
$annee = $_POST['annee'];
$nomMois = nomMois($mois);
$GLOBALS['retour_page'] = 'chx_date.php?type=visu_prepaie';
$GLOBALS['titre_page'] = '<div class="adm">Pré-Paie de ' . $nomMois . ' ' . $annee . '</div>';
include "menu/menu_global.php";
?>
 
        <!-- Affiche Bonjour Prénom Nom de la personne en loguée + date du jour-->                                                     
        <?php 
$date_depart = strtotime($annee . "-" . $mois . "-01");
$date_arrive = strtotime($annee . "-" . $mois . "-31");
$samedi = 0;
$dimanche = 0;
$ferie1 = 0;
$tab_we = array();
$nbjoursMois = nbjoursMois($mois, $annee);
//connaitre le nb de jours dans le mois
$jour = jour_semaine($mois, 1, $annee);
$feries = getFeries($date_depart, $date_arrive);
for ($i = 1; $i <= $nbjoursMois; $i++) {
    switch (true) {
        case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
            $ferie1++;
            break;
        case $jour == 6:
            $samedi++;
            array_push($tab_we, $i);
            break;
        case $jour == 7:
            $dimanche++;
            array_push($tab_we, $i);
    echo '<input type="hidden" name="FACT_PENALITE" value="' . $_POST['FACT_PENALITE'] . '"/>';
    echo '<input type="hidden" name="FACT_CON_VENTE" value="' . $_POST['FACT_CON_VENTE'] . '"/>';
    ?>
    </form>
    <script type="text/javascript">
        document.getElementById('mon_form').submit();
    </script>
    <?php 
} else {
    //On récupère la date courante
    $date = date('Y-m-');
    //On sépare le mois et l'année
    $tab = explode("-", $date);
    //$tab[1] == mois $tab[0] == annee
    //floatval == cast en float
    $nbJour = nbjoursMois(floatval($tab[1]), floatval($tab[0]));
    $date .= $nbJour;
    $moisCourant = date('m');
    $anneeCourant = date('Y');
    $num_col_pro = explode(".", $_POST['COL_NO']);
    //$num_col_pro[0] == collaborateur
    //$num_col_pro[1] == projet
    //Requête permettant d'afficher toutes les informations relatives au client concerné
    $query_client = 'SELECT * FROM CLIENT WHERE CLI_NO = (' . ' SELECT CLI_NO FROM PROJET WHERE PRO_NO ="' . $num_col_pro[1] . '");';
    $stmtCli = $GLOBALS['connexion']->query($query_client)->fetch_assoc();
    //Requête permettant d'afficher toutes les informations relatives du projet concerné
    $query_projet = 'SELECT * FROM PROJET WHERE PRO_NO = ' . $num_col_pro[1];
    $stmtPro = $GLOBALS['connexion']->query($query_projet)->fetch_assoc();
    //Requête permettant d'afficher toutes les inforamtions du contact client s'occupant de se projet
    $query_contact = 'SELECT * FROM CONTACT_CLIENT WHERE CTC_NO = ' . $stmtPro['CTC_NO'];
    $stmtContact = $GLOBALS['connexion']->query($query_contact);
            </br>
            <div class="nav pull-right" >
                <a href="./prefacturation.php?mois=<?php 
echo $mois;
?>
&annee=<?php 
echo $annee;
?>
"><button id="btprefacturation" class="btn btn-primary" type="button" > Retour pré-facturation<i class="icon-arrow-left"></i> </button></a>
            </div>
            <div style="text-align: center; width: 100%;"><b>Liste des Proforma</b></div>
            <div style="text-align: center; width: 100%;">Période du 1er <?php 
echo nomMois($mois);
?>
 au <?php 
echo nbjoursMois($mois, $annee);
?>
 <?php 
echo nomMois($mois);
?>
 <?php 
echo $annee;
?>
</div>
            </br>
            <?php 
$query = "SELECT F.FAC_NO, F.FAC_DEV, F.FAC_NUM, F.FAC_AVO, C.COL_NOM, C.COL_PRENOM, I.INT_FACTURABLE, F.FAC_NOMCLI, F.FAC_NOMPRO, F.COL_NO, F.PRO_NO\n                            FROM FACTURE F, COLLABORATEUR C, INTERNE I \n                            WHERE I.COL_NO = C.COL_NO\n                            AND F.COL_NO = C.COL_NO\n                            AND F.FAC_MOIS = '" . $mois . "'\n                            AND F.FAC_ANNEE = '" . $annee . "'\n                            GROUP BY F.COL_NO, F.PRO_NO \n                            ORDER BY C.COL_NOM, C.COL_PRENOM";
$result = $GLOBALS['connexion']->query($query);
$tableau = array();
while ($row = $result->fetch_assoc()) {
    $valeur = $row['COL_NO'] . '.' . $row['PRO_NO'];
/**
 * Génère le calendrier, le select, la légende et les styles pour les congés
 * 
 * @param int $id : l'ID du collaborateur dont on désire les congés
 * @return array : contient chaque morceau généré : style, select, recap et calendrier
 */
function generer_calendrier($id, $mois, $annee)
{
    $retour = array();
    /*
     * préparation de la liste des types d'absence, des styles et du select et du tableau
     */
    $type_absences = array();
    $result_type_absence = $GLOBALS['connexion']->query("SELECT * FROM TYPE_ABSENCE");
    $retour['select'] = 'Choix du type de congés<br /><select name="type">';
    $retour['style'] = '';
    $retour['recap'] = '<table border="1"><thead><tr><th>type</th><th style="width:70px;">Validé</th><th style="width:70px;">Demandé</th></tr></thead><tbody>';
    while ($row = $result_type_absence->fetch_assoc()) {
        $nom = str_replace(' ', '', $row['TYA_LIBELLE']);
        $type_absences[$row['TYA_NO']] = array('nom' => $nom, 'valide' => $row['TYA_COULEUR'], 'demande' => $row['TYA_COULEUR_DEM']);
        $retour['style'] .= ecrire_style($nom, $row['TYA_COULEUR_DEM']);
        $retour['style'] .= ecrire_style($nom . '-valid', $row['TYA_COULEUR']);
        $retour['select'] .= option($nom, $row['TYA_LIBELLE']);
        $retour['recap'] .= ajout_row_conge($row['TYA_LIBELLE'], $nom);
    }
    $retour['select'] .= '</select>';
    $retour['recap'] .= '</tbody></table>';
    /*
     * récupération de la liste des congés validés ou non pour la période donnée
     */
    $conges = array();
    $query = "SELECT TYA_NO, ABS_JOUR, ABS_NBH, ABS_VALIDATION FROM ABSENCE WHERE ABS_MOIS = '" . $mois . "' AND ABS_ANNEE = '" . $annee . "' AND COL_NO = '" . $id . "' AND ABS_ETAT != 3";
    $result = $GLOBALS['connexion']->query($query);
    while ($row = $result->fetch_assoc()) {
        $conges[$row['ABS_JOUR']] = $type_absences[$row['TYA_NO']]['nom'];
        $conges[$row['ABS_JOUR']] .= $row['ABS_VALIDATION'] ? '-valid' : '';
        $conges[$row['ABS_JOUR']] .= $row['ABS_NBH'] == 1 ? '' : '-b';
    }
    /*
     * préparation du tableau des jours
     */
    $semaine = 1;
    //nombre de semaine dans un mois
    $table = array();
    //table du mois
    $nbjoursMois = nbjoursMois($mois, $annee);
    //connaitre le nb de jours dans le mois
    $jour = jour_semaine($mois, 1, $annee);
    //connaitre le jour du premier du mois
    $feries = getFeriesAnnee($annee);
    for ($i = 1; $i <= $nbjoursMois; $i++) {
        switch (true) {
            case isset($conges[$i]):
                $table[$semaine][$jour]['classe'] = $conges[$i];
                $table[$semaine][$jour]['classe'] .= strpos($conges[$i], 'valid') === false ? ' clickable' : '';
                break;
            case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
                $table[$semaine][$jour]['classe'] = 'feries';
                break;
            case $jour == 6:
                $table[$semaine][$jour]['classe'] = 'samedi';
                break;
            case $jour == 7:
                $table[$semaine][$jour]['classe'] = 'dimanche';
                break;
            default:
                $table[$semaine][$jour]['classe'] = 'clickable';
                break;
        }
        $table[$semaine][$jour]['valeur'] = $i;
        if ($jour == 7) {
            $jour = 0;
            $semaine++;
        }
        $jour++;
    }
    $retour['calendrier'] = generer_tableau($table);
    return $retour;
}
Esempio n. 10
0
        <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"></link>
        <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"></link>
    </head>

    <body>
        <div class="container-fluid">
            <div class="row-fluid">
                <div class="offset2 span7">                                                       
                    <h1 class='conges'>Cong&eacute;s 
                        <!-- Affichage de la date depuis la liste déroulante dans le titre-->
                        <?php 
$annee_conges = htmlspecialchars(addslashes(trim($_POST['annee_conges'])));
$mois_conges = htmlspecialchars(addslashes(trim($_POST['mois_conges'])));
$_SESSION['annee_conges'] = $annee_conges;
$_SESSION['mois_conges'] = $mois_conges;
$nbjoursMois = nbjoursMois($mois_conges, $annee_conges);
$jourjanvier = premierJsemJanvier($annee_conges);
if (isset($_POST['mois_conges']) && !empty($_POST['mois_conges'])) {
    echo nomMois($_POST['mois_conges']) . ' ';
}
if (isset($_POST['annee_conges']) && !empty($_POST['annee_conges'])) {
    echo $_POST['annee_conges'] . "<br /><br />";
}
?>
							
                    </h1>
                </div> 
            </div >                                         
            <form action="conges_envoyes.php" method="post" enctype="multipart/form-data" name="monFormulaire">                                            
                <?php 
include "conges/tableau_conges.php";
Esempio n. 11
0
<?php

include 'calendrier/fonction_nbjoursMois.php';
include 'calendrier/fonction_dimanche_samedi.php';
//$date = $_POST['annee'].'-'.$_POST['mois'];
//Boucle tant que le dernier jour du mois est un samedi ou un dimanche
$nbJour = nbjoursMois(01, 2015);
$date = '2015-01-';
$t = 0;
do {
    $t = check_jour(substr($date, 5, 2), $nbJour, substr($date, 0, 4));
    if ($t == 0 || $t == 6) {
        $nbJour--;
    }
} while ($t == 0 || $t == 6);
echo $date . $nbJour;