PageRenderTime 50ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/src/2.071.0/interface_caisse/_Icaisse.lib.php

https://github.com/crepeausucre/soothERP
PHP | 129 lines | 95 code | 21 blank | 13 comment | 22 complexity | 3c474b12311ecf1ee3bc22198c2543f4 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-3.0
  1. <?php
  2. abstract /*final*/ class Icaisse {
  3. const MAGASIN_CHANGED = 0;
  4. const MAGASIN_NOT_CHANGED = 1;
  5. const MAGASIN_CAN_NOT_CHANGED = 2;
  6. public static function IcaisseAddInSESSION(){
  7. $_SESSION['Icaisse'] = array();
  8. }
  9. public static function IcaisseExistsInSESSION(){
  10. return isset($_SESSION['Icaisse']);
  11. }
  12. public static function Icaisse_SESSION_verify(){
  13. if( ! Icaisse::IcaisseExistsInSESSION())
  14. { Icaisse::IcaisseAddInSESSION();}
  15. }
  16. public static function setSESSION_IdCompteCaisse($id_compte_caisse){
  17. Icaisse::Icaisse_SESSION_verify();
  18. $_SESSION['Icaisse']['id_compte_caisse'] = $id_compte_caisse;
  19. }
  20. public static function getSESSION_IdCompteCaisse(){
  21. if(Icaisse::IcaisseExistsInSESSION() && isset($_SESSION['Icaisse']['id_compte_caisse']))
  22. { return $_SESSION['Icaisse']['id_compte_caisse'];}
  23. else{ return false;}
  24. }
  25. // alogo : retourne
  26. // - vrai si on doit afficher le bouton "Choix du point de vente"
  27. // ->Au moins 2 magasins sont trouvés avec les conditions suivantes
  28. // o actif
  29. // o vente au comptoire
  30. // o possčde une caisse : Cette caisse sera sauvegardée dans $_SESSION['Icaisse']['id_compte_caisse']
  31. // - faut sinon
  32. //met la variable "$afficher_magasin" ŕ "true" dés qu'on trouve un 2čme magasin actifs avec la Vente au comptoir
  33. public static function afficherBoutonChoixPointDeVente(){
  34. $mag_found = 0;
  35. reset($_SESSION['magasins']);
  36. for($i = 0; $i < count($_SESSION['magasins']) ; $i++){
  37. $index = key($_SESSION['magasins']);
  38. $listeCaisse = compte_caisse::charger_comptes_caisses($_SESSION['magasins'][$index]->getId_magasin (), true);
  39. $bVAC = ($_SESSION['magasins'][$index]->getMode_vente() == "VAC");
  40. $bACTIF = $_SESSION['magasins'][$index]->getActif();
  41. $bCAISSE = (count($listeCaisse) > 0);
  42. if($bVAC && $bACTIF && $bCAISSE){
  43. $mag_found++;
  44. if($mag_found == 2)
  45. { return true;}
  46. }
  47. next($_SESSION['magasins']);
  48. }
  49. return false;
  50. }
  51. // alogo : définie comme magasin courrant ($_SESSION['magasins']) le 1er magasin qui réuni les conditions suivantes :
  52. // - actif
  53. // - vente au comptoire
  54. // - possčde une caisse : Cette caisse sera sauvegardée dans $_SESSION['Icaisse']['id_compte_caisse']
  55. // retour : MAGASIN_CHANGED ou MAGASIN_CAN_NOT_CHANGED
  56. public static function searchMagasinVACWithCaisseActive(){
  57. reset($_SESSION['magasins']);
  58. for($i = 0; $i < count($_SESSION['magasins']) ; $i++){
  59. $index = key($_SESSION['magasins']);
  60. $listeCaisse = compte_caisse::charger_comptes_caisses($_SESSION['magasins'][$index]->getId_magasin (), true);
  61. $bVAC = ($_SESSION['magasins'][$index]->getMode_vente() == "VAC");
  62. $bACTIF = $_SESSION['magasins'][$index]->getActif();
  63. $bCAISSE = (count($listeCaisse) > 0);
  64. if($bVAC && $bACTIF && $bCAISSE){
  65. setcookie('last_id_magasin', $_SESSION['magasins'][$index]->getId_magasin(), time() + (365*24*3600), "/");
  66. $_SESSION['magasin'] = &$_SESSION['magasins'][$index];
  67. Icaisse::setSESSION_IdCompteCaisse($listeCaisse[0]->id_compte_caisse);
  68. return Icaisse::MAGASIN_CHANGED;
  69. }
  70. next($_SESSION['magasins']);
  71. }
  72. return Icaisse::MAGASIN_CAN_NOT_CHANGED;
  73. }
  74. public static function getMagasinsVACWithCaisseActive(){
  75. $magasins = array();
  76. for($i = 0; $i < count($_SESSION['magasins']) ; $i++){
  77. $index = key($_SESSION['magasins']);
  78. $listeCaisse = compte_caisse::charger_comptes_caisses($_SESSION['magasins'][$index]->getId_magasin (), true);
  79. $bVAC = ($_SESSION['magasins'][$index]->getMode_vente() == "VAC");
  80. $bACTIF = $_SESSION['magasins'][$index]->getActif();
  81. $bCAISSE = (count($listeCaisse) > 0);
  82. if($bVAC && $bACTIF && $bCAISSE)
  83. { $magasins[] = $_SESSION['magasins'][$index];}
  84. next($_SESSION['magasins']);
  85. }
  86. return $magasins;
  87. }
  88. public static function getTicket_cell_LIB($lib_article){
  89. return addslashes(preg_replace('(\r\n|\n|\r)','',$lib_article));
  90. }
  91. public static function getTicket_cell_QTE($qte){
  92. return $qte;
  93. }
  94. public static function getTicket_cell_PUTTC($prix, $tva = null){
  95. if(is_null($tva))
  96. { return price_format($prix);} // $prix est TTC
  97. else{ return price_format(ht2ttc($prix, $tva));} // $prix est HT
  98. }
  99. public static function getTicket_cell_REMISE($remise){
  100. return price_format($remise);
  101. }
  102. public static function getTicket_cell_PRIXTTC($qte, $prix, $remise, $tva = null){
  103. if(is_null($tva))
  104. { return price_format($qte * $prix * (1 - ($remise/100)));} //prix est TTC
  105. else{ return price_format($qte * ht2ttc($prix, $tva) * (1 - ($remise/100)));} //prix est HT
  106. }
  107. }
  108. ?>