<?php
  function startsWith($haystack, $needle) {
    // search backwards starting from haystack length characters from the end
    return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== false;
  }
  switch($Etape)
  {
    case 0:
      echo "<form method='POST' ENCTYPE='multipart/form-data'><input type='hidden' name='Type' value=$Type><input type='hidden' name='Sous_Type' value=$Sous_Type><input type='hidden' name='Etape' value=1>";
      echo "<INPUT TYPE='file' name='liste'><button type='submit'>Importer commande</button></form>\n";
    break;
    case 1:
      set_time_limit ( 3600 );
      $file=fopen($liste["tmp_name"],'r');
	  $ligne=mb_convert_encoding(fgets($file,1000), "UTF-8");
	  $arrLigne = explode(";", $ligne);
	  if (count($arrLigne)!=8)
	  {
		echo "Erreur : Première ligne doit contenir 8 éléments";
	  }
	  else
	  {
		$nocommande = $arrLigne[0];
		$resultat_existe_commande = Commande::getCommandeByDescriptionAndPosition('Commande KTM $nocommande');
		if ($resultat_existe_commande)
		{ // UPDATE
          echo "Commande KTM déjà importée";
		}
        else
		{
		  $NoCommande=Trouve_No_Commande_Libre("CP");
		  echo "$NoCommande<BR/>";
		  $requettecommande="INSERT INTO commande".ID_GARAGE." (NoCommande,NoFourniseur,Type,Genre,PersonneModif,NoClient,NoClient2,Vendeur,Vehicule,KmVhc,NoPlaque,DateCommande,DateSaisie,DateModification,DateDelaisPayement, Recu) VALUES " .
                  "($NoCommande, '$nocommande', 'CP', 'C', 'commande ktm', '', '', '','', '', '', '" . date("Y-m-d") . "', '" . date("Y-m-d") . "', '" . date("Y-m-d") . "', '".date("Y-m-d",mktime(0,0,0,date("m"),date("d")+30,date("Y")))."', 'O')";
          //echo "$requettecommande<br/>";
		  Connection::executeRawQuery($requettecommande);
		  $pos = 1;		  
	      $requettearticle="INSERT INTO commandearticles".ID_GARAGE." (NoCommande, Position, TypeData, NoArticle, Description, TVA, GM, Quantite, PrixBase, Rabais, PrixMulti, NbRecu, DateRecu, Dest) VALUES ";
		  $requettearticle.="($NoCommande, $pos, 1, '', 'Commande KTM $nocommande', '', '', '', '', 0, 0, 0, '', '')";
          //echo "$requettearticle<br/>";
		  Connection::executeRawQuery($requettearticle);
		  $pos++;
		  $err = 0;
          while($ligne=fgets($file,1000))
          {
	        $ligne=mb_convert_encoding($ligne, "UTF-8");
	        $arrLigne = explode(";", $ligne);
		    if (count($arrLigne)!=23)
		    {
		      echo "Erreur : ligne article doit contenir 23 éléments";
			  $err++;
		    }
		    else
		    {
			  $Tax=Config::getTVA();
			  $noarticle = $arrLigne[4];
			  $NoArticleRR=str_replace(" ", "", $noarticle);
              $NoArticleRR=str_replace("-", "", $NoArticleRR);
			  $description = $arrLigne[5];
			  $quantite = $arrLigne[7];
			  $prix = str_replace(",", "", $arrLigne[10]) / $quantite;
			  $prix_multi = $prix * $quantite * ((100 + $Tax)/100);
			  $prixfourn = str_replace(",", "", $arrLigne[12]) / $quantite;
			  $Rabais= round((($prixfourn / $prix) - 1) * 100);
			  $CodeRabais="KTM";
			  $GroupeMarchandise="50";
			  $resultat=Article::getArticleByNoArticleRR($NoArticleRR);
              $nb_resultats=count($resultat);
			  echo "$noarticle $quantite $prix<br/>";
			  if ($nb_resultats == 0)
			  {
			    echo "--> Non trouvé<br/>";
                $requette2="INSERT INTO articles (NoArticle, NoArticleRR, Description, Type, PrixImportateur, Rabais, CodeRabais, GroupeMarchandise, TVA, DateModif, QuantiteMinimum, DateSaisie, PersonneModif) VALUES ";
                $requette2.="('".addslashes($NoArticle)."', '".addslashes($NoArticleRR)."', '".addslashes($description)."', 'KTM', $prix, $Rabais, '".addslashes($CodeRabais)."', $GroupeMarchandise, $Tax, '".date("Y-m-d")."', 1, '".date("Y-m-d")."', 'commande ktm')";
			  }
			  else
			  {
			    echo "--> Trouvé<br/>";
			    $requette2 = "UPDATE articles SET PrixImportateur=$prix, Rabais=$Rabais, DateModif='".date("Y-m-d")."', PersonneModif='commande ktm' WHERE NoArticleRR='".addslashes($noarticle)."'";
			  }
			  //echo "----> $requette2<br/>";
		      Connection::executeRawQuery($requette2);
	          $requettearticle="INSERT INTO commandearticles".ID_GARAGE." (NoCommande, Position, TypeData, NoArticle, Description, TVA, GM, Quantite, PrixBase, Rabais, PrixMulti, NbRecu, DateRecu, Dest) VALUES ";
		      $requettearticle.="($NoCommande, $pos, 0, '$NoArticleRR', '".Connection::getConnection()->quote($description)."', $Tax, 50, $quantite, $prix, -".$ligne['Rabais'].", $prix_multi, $quantite, '".date("Y-m-d")."', '".Connection::getConnection()->quote($arrLigne[20].$arrLigne[21])."')";
              //echo "$requettearticle<br/>";
		      Connection::executeRawQuery($requettearticle);
		      $resultat_existe_stock = Stock::getStockByNoArticleRR(addslashes($NoArticleRR));
		      if ($resultat_existe_stock)
		      { // UPDATE
                $requettestock="UPDATE stock".ID_GARAGE." SET EnStock = EnStock + $quantite WHERE NoArticleRR='".addslashes($NoArticleRR)."'";
		      }
		      else
		      { // INSERT
			    $requettestock="INSERT INTO stock".ID_GARAGE." (`NoArticleRR` ,`LieuxStock` ,`EnStock` ,`EnTransfert`) VALUES ('".addslashes($NoArticleRR)."', NULL , $quantite, 0);";
		      }
              //echo "$requettestock<br/>";
		      Connection::executeRawQuery($requettestock);
		      $pos++;
		    }
	      }
		}
	  }
    break;
  }
?>
