-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Modifications et améliorations diverses
* Passage des fichiers d'interface SIHAM en XML * Création d'un fichier cron-xml.sh spécifique à l'intégration des fichiers XML d'interface * Création de fichiers PHP d'import pour les fichiers XML * Affichage du nom des agents dans la gestions de structures (envoyer à) * Les membres des adresses mails de groupes sont maintenant autoatiquement notifiés en plus du groupe (<=> le groupe est explosé/applati) * Début de compatibilité avec PHP 8.2 (fonctions utf8_decode/utf8_encode) * Utilisation de constantes pour le code interne "agent_envoyer_a/resp_envoyer_a" * Ajout d'une image animée lors de longs chargements de pages * Dans le menu RH, la recherche d'un agent pour afficher son solde de congés se fait sur toute la base G2T (et non plus LDAP/WSGroups) * Correction fautes de frappe
- Loading branch information
1 parent
8048d79
commit 9915f0e
Showing
40 changed files
with
2,800 additions
and
317 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
#!/bin/bash | ||
chemin=`dirname $0` | ||
cd $chemin | ||
chemin=`pwd` | ||
|
||
mydate=`date +%Y-%m-%d` | ||
|
||
logfilename="trace_cron_$mydate.log" | ||
if [ -z "$G2T_LOG_PATH" ] | ||
then | ||
logfile="./log/$logfilename" | ||
else | ||
logfile="$G2T_LOG_PATH/$logfilename" | ||
fi | ||
|
||
echo `date` debut traitement >>$logfile | ||
|
||
php php/switch_synchronisation.php actif >>$logfile | ||
|
||
numjour=`date +%w` | ||
## Si le numero du jour est different de 0 ou 6 alors on traite les fichiers d'import | ||
## 0 = Dimanche | ||
## 6 = Samedi | ||
if [ $numjour -ne 6 -a $numjour -ne 0 ] | ||
then | ||
php php/import_agent_xml.php >>$logfile 2>>$logfile | ||
php php/import_absence_xml.php >>$logfile 2>>$logfile | ||
php php/import_structure_xml.php >>$logfile 2>>$logfile | ||
|
||
nomfichierspecifique="specific/post_structure.php" | ||
if [ -f "$nomfichierspecifique" ] | ||
then | ||
php $nomfichierspecifique >>$logfile 2>>$logfile | ||
else | ||
echo "Le fichier $nomfichierspecifique n'existe pas - On l'ignore" >>$logfile 2>>$logfile | ||
fi | ||
|
||
php php/import_affectation_siham_xml.php >>$logfile 2>>$logfile | ||
|
||
nomfichierspecifique="specific/post_affectation.php" | ||
if [ -f "$nomfichierspecifique" ] | ||
then | ||
php $nomfichierspecifique >>$logfile 2>>$logfile | ||
else | ||
echo "Le fichier $nomfichierspecifique n'existe pas - On l'ignore" >>$logfile | ||
fi | ||
|
||
php php/calcul_solde.php >>$logfile 2>>$logfile | ||
|
||
nomfichierspecifique="specific/post_solde.php" | ||
if [ -f "$nomfichierspecifique" ] | ||
then | ||
php $nomfichierspecifique >>$logfile 2>>$logfile | ||
else | ||
echo "Le fichier $nomfichierspecifique n'existe pas - On l'ignore" >>$logfile | ||
fi | ||
|
||
php php/mail_conges.php >>$logfile 2>>$logfile | ||
php php/mail_declarationTP.php >>$logfile 2>>$logfile | ||
php php/synchro_demandes_cet.php >>$logfile 2>>$logfile | ||
php php/synchro_conventions_teletravail.php >>$logfile 2>>$logfile | ||
fi | ||
|
||
numjour=`date +%d` | ||
|
||
##Si on est le premier jour du mois | ||
if [ $numjour -eq 1 ] | ||
then | ||
echo "Avant generation solde" >>$logfile | ||
php php/generer_solde.php >>$logfile 2>>$logfile | ||
echo "Avant controles post MAJ" >>$logfile | ||
php php/ctrl_post_maj.php >>$logfile 2>>$logfile | ||
echo "Avant generation de l'historique des CET" >>$logfile | ||
php php/demande_cet.php >>$logfile 2>>$logfile | ||
fi | ||
php php/mail_alerte_reliquats.php >>$logfile | ||
php php/mail_alerte_teletravail.php >>$logfile | ||
|
||
php php/switch_synchronisation.php inactif >>$logfile | ||
|
||
echo `date` fin de traitement >>$logfile | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
<?php | ||
require_once (dirname(__FILE__,3) . "/html/includes/dbconnection.php"); | ||
require_once (dirname(__FILE__,3) . "/html/includes/all_g2t_classes.php"); | ||
|
||
$fonctions = new fonctions($dbcon); | ||
|
||
$date = date("Ymd"); | ||
|
||
echo "Début de l'import des absences de l'application RH " . date("d/m/Y H:i:s") . "\n"; | ||
|
||
// On charge la table des absences avec le fichier | ||
$filename = $fonctions->g2tbasepath() . "/INPUT_FILES_V3/siham_absence_$date.xml"; | ||
if (! file_exists($filename)) { | ||
echo "Le fichier $filename n'existe pas !!! \n"; | ||
exit(); | ||
} | ||
else | ||
{ | ||
// On vide la table des absences pour la recharger complètement | ||
$sql = "DELETE FROM ABSENCERH"; | ||
mysqli_query($dbcon, $sql); | ||
$erreur_requete = mysqli_error($dbcon); | ||
if ($erreur_requete != "") | ||
{ | ||
echo "DELETE ABSENCERH => $erreur_requete \n"; | ||
} | ||
|
||
$xml = simplexml_load_file("$filename"); | ||
$agentnode = $xml->xpath('ABSENCE'); | ||
foreach ($agentnode as $node) | ||
{ | ||
$agentid = trim($node->xpath('AGENTID')[0]); | ||
$datedebut = trim($node->xpath('DATEDEBUT')[0]); | ||
$datefin = trim($node->xpath('DATEFIN')[0]); | ||
$typeabsence = trim($node->xpath('LIBELLE')[0]); | ||
$datedebutformate = $fonctions->formatdatedb(str_replace('/','-',$datedebut)); | ||
echo "agentid = $agentid datedebut=$datedebut datefin=$datefin typeabsence=$typeabsence datedebutformate = $datedebutformate \n"; | ||
|
||
$agent = new agent($dbcon); | ||
if (!$agent->existe($agentid)) | ||
{ | ||
// L'agent n'est pas dans la base => On n'intègre pas ses absences | ||
echo "L'agent $agentid n'existe pas dans la base. On ne charge pas ses absences \n"; | ||
continue; | ||
} | ||
|
||
// Si c'est un congés bonifié et que la date de début est supérieure au 19/11/2021 ==> On ignore les congés bonifiés car "nouvelle version" (ticket GLPI 135729) | ||
if (stripos($fonctions->my_real_escape_utf8($typeabsence)," Bonifié ")!==false and ($datedebutformate >= "20211119")) | ||
{ | ||
echo "La demande de $typeabsence pour l'agent $agentid est un conge bonifie 'nouvelle version'. On ne charge pas cette absence \n"; | ||
continue; | ||
} | ||
|
||
$sql = sprintf("INSERT INTO ABSENCERH (AGENTID,DATEDEBUT,DATEFIN,TYPEABSENCE) VALUES('%s','%s ','%s','%s')", $fonctions->my_real_escape_utf8($agentid), $fonctions->my_real_escape_utf8($datedebut), $fonctions->my_real_escape_utf8($datefin), $fonctions->my_real_escape_utf8($typeabsence)); | ||
|
||
mysqli_query($dbcon, $sql); | ||
$erreur_requete = mysqli_error($dbcon); | ||
if ($erreur_requete != "") { | ||
echo "INSERT ABSENCERH => $erreur_requete \n"; | ||
echo "sql = $sql \n"; | ||
} | ||
} | ||
} | ||
|
||
$tabannees = array($fonctions->anneeref(),$fonctions->anneeref()+1); | ||
$stringannee = ""; | ||
$separateur = ""; | ||
foreach($tabannees as $key => $annee) | ||
{ | ||
if (strlen($stringannee)>0 and $key==count($tabannees)-1) $separateur = ' et '; elseif (strlen($stringannee)>0) $separateur = ', '; | ||
$stringannee = $stringannee . $separateur . $annee . '/' . ($annee+1); | ||
} | ||
$tabferies = array(); | ||
echo "On importe les jours féries sur " . trim($stringannee) . "\n"; | ||
$erreur = $fonctions->synchronisationjoursferies($tabannees, $tabferies); | ||
if ($erreur!='') | ||
{ | ||
echo "Erreur lors de la synchronisation : $erreur.\n"; | ||
} | ||
else | ||
{ | ||
echo "La synchronisation s'est bien passee sur " . trim($stringannee) . "\n"; | ||
} | ||
|
||
echo "Fin de l'import des absences de l'application RH " . date("d/m/Y H:i:s") . "\n"; | ||
|
||
?> |
Oops, something went wrong.