2
0

cms.proweb-salaries.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. $dateData = get::jsonDateDataExcelProweb();
  3. $date = ($dateData != NULL) ? " (au " . core::convertDate($dateData, FALSE) . ")" : "";
  4. $jsonTarget = "/json.php?file=salaries-proweb";
  5. if(debug::isFile("debug")){
  6. debug::log(debug::getBadge($jsonTarget, "OUVRIR LE JSON : ".$jsonTarget), "JSON chargé en arrière plan");
  7. }
  8. ?>
  9. <header class="d-flex flex-column flex-md-row align-items-md-center p-3 bg-light ">
  10. <h2 class="bd-title" id="content">
  11. <span>Proweb : Liste des salariés<?php echo $date ?></span>
  12. </h2>
  13. <?php if(access::ifAccesss("proweb-salaries-upload")){ ?>
  14. <div class="fix-container-button-nav">
  15. <a href="proweb-salaries-upload.html"><button type="submit" class="btn btn-outline-success btn-sm"><?php icon::getFont(["icon" => "bi bi-file-earmark-plus"]) ?> Importer un fichier Excel</button></a>
  16. <a href="<?= PROWEB_SALARIES ?>" target="_blank"><button type="submit" class="btn btn-outline-secondary btn-sm"><?php icon::getFont(["icon" => "bi bi-link-45deg"]) ?> Exporter tous les salariés depuis Proweb</button></a>
  17. </div>
  18. <?php } ?>
  19. </header>
  20. <?php
  21. echo core::filAriane(array(
  22. "current" => "Liste des salariés",
  23. "arbo" => array(
  24. "Proweb" => NULL,
  25. "Liste des salariés" => "proweb-salaries.html"
  26. )
  27. ));
  28. ?>
  29. <div>
  30. <div id="toolbar" style="margin-bottom:10px;">
  31. <select id="errorFilter" class="form-select">
  32. <option value="" selected>Aucun filtre</option>
  33. <option value="errorRHProweb">Filtre : Problème car le compte Proweb est actif alors qu'absent de la base RH</option>
  34. <option value="errorLoginID">Filtre : Problème car l'identifiant Proweb est différent de l'identifiant RH</option>
  35. <option value="errorjourSortie">Filtre : Problème sur la date de jour de sortie renseignée alors que présent sur la base RH</option>
  36. <option value="errorDateNaissance">Filtre : Problème sur la date de naissance</option>
  37. <option value="errorNom">Filtre : Problème sur nom</option>
  38. <option value="errorPrenom">Filtre : Problème sur le prénom</option>
  39. <option value="errorjourEntree">Filtre : Problème sur la date de jour d'entrée qui est différence entre Proweb et la RH</option>
  40. <option value="errorAbsent">Filtre : Problème car le salarié n'est plus présent et aucune date de sortie sur Proweb</option>
  41. </select>
  42. </div>
  43. <table id="ProWebSalary" class="table-striped table-hover table-sm" data-page-size="25" data-toggle="table" data-buttons-align="left" data-pagination="true" data-filter-control="true" data-flat="true" data-show-columns-toggle-all="true" data-url="<?php echo $jsonTarget ?>">
  44. <thead>
  45. <tr>
  46. <th data-sortable="true" data-field="idProweb" data-filter-control="input" data-formatter="selectFicheProweb" data-width="35">#</th>
  47. <th data-sortable="true" data-field="loginId" data-filter-control="input">Id Proweb</th>
  48. <th data-sortable="true" data-field="loginIdRH" data-filter-control="input">Dif. RH</th>
  49. <th data-sortable="true" data-field="nom" data-filter-control="input">Nom</th>
  50. <th data-sortable="true" data-field="prenom" data-filter-control="input">Prénom</th>
  51. <th data-sortable="true" data-field="dateNaissance" data-filter-control="input">Naissance</th>
  52. <th data-sortable="true" data-field="jourEntree" data-filter-control="input">Entrée Proweb</th>
  53. <th data-sortable="true" data-field="jourEntreeRH" data-filter-control="input">Entrée RH</th>
  54. <th data-sortable="true" data-field="jourSortie" data-filter-control="input">Sortie</th>
  55. <th data-sortable="true" data-field="texteContrat" data-filter-control="select">Contrat</th>
  56. <th data-sortable="true" data-field="texteActif" data-filter-control="select">Actif</th>
  57. <th data-sortable="true" data-field="texteRHBase" data-filter-control="select">Base RH</th>
  58. <th data-sortable="true" data-field="texteError" data-filter-control="select">Erreur</th>
  59. <th data-sortable="true" data-field="errorJson" data-filter-control="input">Erreur info</th>
  60. </tr>
  61. </thead>
  62. </table>
  63. </div>
  64. <script>
  65. function selectFicheProweb(value, row) {
  66. return '<a href="<?php echo FICHE_SALARIE_PROWEB ?>' + row.idProweb + '" target="_blank" class="btn btn-secondary btn-sm" style="width:60px;">' + row.idProweb + '</a>';
  67. }
  68. function initFilter(col, data){
  69. if(data === ""){
  70. $(".bootstrap-table-filter-control-"+col).val("").change();
  71. } else {
  72. $(".bootstrap-table-filter-control-"+col).val('"'+data+'"').change();
  73. }
  74. $(".bootstrap-table-filter-control-"+col).trigger('keyup');
  75. }
  76. function initAllFilter(){
  77. initFilter("idProweb", "");
  78. initFilter("loginId", "");
  79. initFilter("loginIdRH", "");
  80. initFilter("nom", "");
  81. initFilter("prenom", "");
  82. initFilter("dateNaissance", "");
  83. initFilter("jourEntree", "");
  84. initFilter("jourEntreeRH", "");
  85. initFilter("jourSortie", "");
  86. initFilter("texteContrat", "");
  87. initFilter("texteActif", "");
  88. initFilter("texteRHBase", "");
  89. initFilter("texteError", "");
  90. initFilter("errorJson", "");
  91. }
  92. $(document).ready(function() {
  93. $(function() {
  94. $('#errorFilter').on( "change", function() {
  95. initAllFilter();
  96. switch($(this).val()) {
  97. case "errorRHProweb":
  98. $(".bootstrap-table-filter-control-texteRHBase").val("Absent").change();
  99. $(".bootstrap-table-filter-control-texteActif").val("Actif").change();
  100. break;
  101. case "errorLoginID":
  102. initFilter("errorJson", "loginId");
  103. break;
  104. case "errorDateNaissance":
  105. initFilter("errorJson", "dateNaissance");
  106. break;
  107. case "errorNom":
  108. initFilter("errorJson", "nom");
  109. break;
  110. case "errorPrenom":
  111. initFilter("errorJson", "prenom");
  112. break;
  113. case "errorjourEntree":
  114. initFilter("errorJson", "jourEntree");
  115. break;
  116. case "errorAbsent":
  117. initFilter("errorJson", "absent");
  118. break;
  119. case "errorjourSortie":
  120. initFilter("errorJson", "jourSortie");
  121. break;
  122. default:
  123. initAllFilter();
  124. }
  125. });
  126. });
  127. });
  128. </script>