liste_nombre_employes.inc.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?php
  2. // --------
  3. // Sécurité
  4. // --------
  5. if (isValidConstant() != 1) {
  6. fermeSessionUtilisateur();
  7. }
  8. // ----------------------
  9. // Droit de l'utilisateur
  10. // ----------------------
  11. if ($_SESSION['gestion_site'] < 'Oui') {
  12. exit;
  13. }
  14. // Pour mettre la date la plus récente en premier
  15. if (isset($dir2)) {
  16. $dir = $dir2;
  17. unset($flechetri);
  18. }
  19. // ------------------------------
  20. // Caractéristiques du module
  21. // ------------------------------
  22. unset($module);
  23. $module = array(
  24. "titre" => "Gest. du nombre d'employés par établissement",
  25. "urldest" => $SCRIPT_NAME . "?page=liste_nombre_employes",
  26. "recherche" => array("engin" => false),
  27. "jeton" => $jeton,
  28. "compte" => 0,
  29. "lientri" => true,
  30. "entete_principale" => false,
  31. "msg" => array(
  32. "maj_ok" => "Mise à jour du nombre d'employés effectuée avec succès.",
  33. "maj_ajout_ok" => "Ajout du nombre d'employés pour la période effectué avec succès.",
  34. "maj_echec" => "L'opération de mise à jour du nombre d'employés a échouée",
  35. )
  36. );
  37. // ------------------
  38. // Requête sur le tri
  39. // ------------------
  40. if (isset($action)) {
  41. //Cueillette de données du module
  42. $msg = "";
  43. if ($action == "Modifier") {
  44. $lnoemployeur = antiInjection($lemployeur);
  45. $lnoperiode = antiInjection($lperiode);
  46. $lvaleur = antiInjection($lvaleur);
  47. //Recherche le nombre par période de l,employeur
  48. //Si inexistant, on ajoute la valeur, sinon update.
  49. unset($sqlparam);
  50. $sqlparam["table"][] = "nombreemployes";
  51. $sqlparam["where"][] = "refemployeur = " . sprintf("%d", $lnoemployeur);
  52. $sqlparam["where"][] = "refperiode = " . sprintf("%d", $lnoperiode);
  53. $resultPeriode = executerRequeteSql($sqlparam);
  54. unset($sqlparam);
  55. if (count($resultPeriode) == 0) {
  56. $sqlparam["type"] = "INSERT";
  57. $sqlparam["champs"]["refemployeur"] = sprintf("%d", $lnoemployeur);
  58. $sqlparam["champs"]["refperiode"] = sprintf("%d", $lnoperiode);
  59. $sqlparam["champs"]["archive"] = 0;
  60. } else {
  61. $sqlparam["type"] = "UPDATE";
  62. $sqlparam["where"][] = "refemployeur = " . sprintf("%d", $lnoemployeur);
  63. $sqlparam["where"][] = "refperiode = " . sprintf("%d", $lnoperiode);
  64. }
  65. $sqlparam["table"][] = "nombreemployes";
  66. $sqlparam["champs"]["nombreemployes"] = sprintf("%d", $lvaleur);
  67. $result = executerRequeteSql($sqlparam);
  68. if (isset($result)) {
  69. $module["resultatSQL"] = true;
  70. if ($sqlparam["type"] == "INSERT") {
  71. $module["message"] = $module["msg"]["maj_ajout_ok"];
  72. } else {
  73. $module["message"] = $module["msg"]["maj_ok"];
  74. }
  75. } else {
  76. $module["resultatSQL"] = false;
  77. $module["message"] = $module["msg"]["maj_echec"];
  78. }
  79. }
  80. }
  81. if (!isset($lnoemployeur)) {
  82. $lnoemployeur = 0;
  83. }
  84. if (!isset($dir2) || ($dir2 != "asc" && $dir2 != "desc")) {
  85. unset($dir2);
  86. $dir2 = "desc";
  87. }
  88. //Requête SQL imbriquée pour obtenir le nombre d'employé par période.
  89. unset($embededSQL);
  90. $embededSQL = "(select nombreemployes.nombreemployes,nombreemployes.refemployeur, nombreemployes.refperiode from nombreemployes ";
  91. $embededSQL .= "where " . sprintf("nombreemployes.refemployeur=%d", $lnoemployeur) . ") as nbemployes";
  92. unset($sqlparam);
  93. $sqlparam["table"][] = "periodes";
  94. $sqlparam["table"][] = $embededSQL;
  95. $sqlparam["join"][] = array(0 => "left", 1 => "nbemployes.refperiode=periodes.refperiode");
  96. $sqlparam["champs"][] = "YEAR(periodes.periode)-1 as periode";
  97. $sqlparam["champs"][] = "nbemployes.nombreemployes";
  98. $sqlparam["champs"][] = "nbemployes.refemployeur";
  99. $sqlparam["champs"][] = "periodes.refperiode";
  100. $sqlparam["ordre"] = "periodes.periode $dir2";
  101. $result = executerRequeteSql($sqlparam);
  102. // ----------------------------------------
  103. // Liste du nombre d'employés par employeur
  104. // ----------------------------------------
  105. print preparerModule($module);
  106. print "<div style='width:500px; margin:auto; margin-bottom:5px;'>";
  107. print "<form action=\"index2.php?page=liste_nombre_employes&dir=$dir\" name='listeEmployeursNb' id='listeEmployeursNb' method='post'>";
  108. print 'Employeur : ';
  109. print "<select name='lnoemployeur' id='lnoemployeur' onchange='this.form.submit();'>\n";
  110. unset($employeurs);
  111. $employeurs = getEmployeurs($_SESSION["gestion_site"]);
  112. foreach ($employeurs as $clef => $valeur) {
  113. unset($selected);
  114. $selected = '';
  115. if (isset($lnoemployeur) && $valeur["refid"] == $lnoemployeur) {
  116. $selected = "selected";
  117. }
  118. printf("<option %s value='%d'>%s</option>\n", $selected, $valeur["refid"], htmlentities($valeur["valeur"], ENT_SUBSTITUTE, "UTF-8"));
  119. }
  120. $condition = "";
  121. print "</select>";
  122. print "<input type='hidden' name='jeton' id='jeton' value='$jeton'>\n";
  123. print "</form>";
  124. print "</div>";
  125. $i = 1;
  126. if ($result) {
  127. $dir2 = ($dir2 == "asc") ? "desc" : "asc";
  128. print "<table style='border-collapse:collapse; width:50%; margin:auto;' class='hoverTable'>";
  129. print "<tr style='height:35px;'>";
  130. $style = "font-family:arial, helvetica, sans-serif; font-size:9pt; background-color:#00aadb;";
  131. print "<th style='$style'>#</th>";
  132. print "<th style='$style'>\n";
  133. print "<a class='tri' style='cursor:pointer; color:#0000ee;' href='index2.php?page=liste_nombre_employes&dir2=$dir2&lnoemployeur=$lnoemployeur&jeton=$jeton'>";
  134. print "P&eacute;riode&nbsp;<IMG SRC='images/s_$dir2.png' style='border:0px;'></a></th>\n";
  135. print "<th style='$style'>Nombre</th>";
  136. print "<th style='$style'>Action</th>";
  137. print "</tr>";
  138. $style2 = "border:1px solid #cfcfcf; font-family:arial, helvetica, sans-serif; color:black; font-size:9pt; margin-left:5px; margin-right:5px; text-align:center;";
  139. foreach ($result as $clef => $valeur2) {
  140. if (!isset($valeur2["nombreemployes"])) {
  141. $valeur2["nombreemployes"] = 0;
  142. }
  143. $valeur0 = htmlentities($valeur2["periode"], ENT_QUOTES, $ENCODAGE) . "-04-01";
  144. $valeur1 = htmlentities($valeur2["nombreemployes"], ENT_QUOTES, $ENCODAGE);
  145. print "<tr>\n";
  146. print "<td style='$style2'>$i</td>\n";
  147. print "<td style='$style2'>$valeur0</td>\n";
  148. print "<td style='$style2'>\n";
  149. print "<form id='changement$i' name='changement$i' method=\"post\" action=\"index2.php?page=liste_nombre_employes\">\n";
  150. print "<input type='hidden' name='lperiode' id='lperiode' value='" . $valeur2["refperiode"] . "'>\n";
  151. print "<input type='hidden' name='lemployeur' id='lemployeur' value='$lnoemployeur'>\n";
  152. print "<input type='text' name='lvaleur' id='lvaleur' value='$valeur1'>\n";
  153. print "<input type='hidden' name='jeton' id='jeton' value='$jeton'>\n";
  154. print "</td>\n";
  155. print "<td style='$style2'>\n";
  156. print "<input class='modifier' title='Modifier' TYPE='submit' name='action' VALUE='Modifier'>\n";
  157. print "</form>\n";
  158. print "</td></tr>\n";
  159. $i++;
  160. }
  161. print "</table>";
  162. }