<?php
  switch($Etape)
  {
    case 0:
      if(isset($Nb) && is_numeric($Nb))
      {
        $tmp=str_replace("-","",$NoArticle);
        $tmp=str_replace(" ","",$tmp);
        $requette="SELECT a.*, s.LieuxStock, s.EnStock, s.EnTransfert FROM articles a LEFT JOIN stock".ID_GARAGE." s ON a.NoArticleRR = s.NoArticleRR WHERE a.NoArticleRR='" . addslashes($tmp) . "'";
		//echo $requette."<br/>";
        $resultat=Article::getArticleStockLieuxByNoArticleRR(addslashes($tmp));
        if($ligne=$resultat[0])
        {
          $tmp=str_replace("-","",$ligne['Description']);
          $tmp=str_replace(" ","",$tmp);
          $resultat2=Article::getArticleStockLieuxByNoArticleRR(addslashes($tmp));
          if($ligne2=$resultat2[0])
          {
            $last=$ligne2['NoArticle'];
            $tmp=str_replace("-","",$ligne2['Description']);
            $tmp=str_replace(" ","",$tmp);
            $resultat2=Article::getArticleStockLieuxByNoArticleRR(addslashes($tmp));
            foreach($resultat2 as $ligne2) // TODO pass by reference ?
            {
              $last=$ligne2['NoArticle'];
              $tmp=str_replace("-","",$ligne2['Description']);
              $tmp=str_replace(" ","",$tmp);
              $resultat2=Article::getArticleStockLieuxByNoArticleRR(addslashes($tmp));
            }
            echo "<script language=JavaScript>\n";
            echo "alert('$NoArticle à changé en $last');\n";
            echo "</script>\n";
            $noArticleRR = Texte_Sans_Espace($last);
            $resultat_existe_stock = Stock::getStockByNoArticleRR(addslashes($noArticleRR));
            if ($resultat_existe_stock)
            { // UPDATE
                  $resultat=Article::getArticleStockLieuxByNoArticleRR(addslashes($last));
                  $ligne=$resultat[0];
                  $requette="UPDATE stock".ID_GARAGE." SET EnStock=EnStock+$Nb WHERE NoArticleRR='".addslashes($noArticleRR)."'";
            }
            else
            { // INSERT
                  $resultat=Article::getPasDeStockLieuxArticle(addslashes($last));
                  $ligne=$resultat[0];
                  $requette="INSERT INTO stock".ID_GARAGE." (`NoArticleRR` ,`LieuxStock` ,`EnStock` ,`EnTransfert`) VALUES ('".addslashes($noArticleRR)."', NULL , +(".$Nb."), 0);";
            }
            if(strtoupper($ligne['LieuxStock'])!=strtoupper($Stock))
            {
              if($ligne['EnStock']==0)
              {
                Connection::executeRawQuery($requette);
                $requette="INSERT INTO log_inventaire".ID_GARAGE." (Date, NoArticle, Stock, Quantite, Total, Poste) VALUES (NOW(), '".addslashes($last)."', '".strtoupper($Stock)."', $Nb, $Nb, '".$_SERVER["REMOTE_ADDR"]."')";
                Connection::executeRawQuery($requette);
                $requette="UPDATE stock".ID_GARAGE." SET LieuxStock='".addslashes($Stock)."' WHERE NoArticleRR='".addslashes($ligne['NoArticleRR'])."'";
                Connection::executeRawQuery($requette);
              }
              else
              {
                echo "<script language=JavaScript>\n";
                echo "alert('Article ".$ligne['NoArticle']." déjà dans un autre stock ".$ligne['LieuxStock']." doit être corrigé et refait!!!');\n";
                echo "</script>\n";
              }
            }
            else
            {
              Connection::executeRawQuery($requette);
              $requette="INSERT INTO log_inventaire".ID_GARAGE." (Date, NoArticle, Stock, Quantite, Total, Poste) VALUES (NOW(), '".addslashes($last)."', '".strtoupper($Stock)."', $Nb, ".($Nb+$ligne['EnStock']).", '".$_SERVER["REMOTE_ADDR"]."')";
              Connection::executeRawQuery($requette);
            }
          }
          else
          {
		    $noArticleRR = Texte_Sans_Espace($ligne['NoArticle']);
		    $resultat_existe_stock = Stock::getStockByNoArticleRR(addslashes($noArticleRR));
		    if ($resultat_existe_stock)
		    { // UPDATE
              $requette="UPDATE stock".ID_GARAGE." SET EnStock=EnStock+$Nb WHERE NoArticleRR='".addslashes($noArticleRR)."'";
		    }
		    else
		    { // INSERT
			  $requette="INSERT INTO stock".ID_GARAGE." (`NoArticleRR` ,`LieuxStock` ,`EnStock` ,`EnTransfert`) VALUES ('".addslashes($noArticleRR)."', NULL , +(".$Nb."), 0);";
		    }
            if(strtoupper($ligne['LieuxStock'])!=strtoupper($Stock))
            {
              if($ligne['EnStock']==0)
              {
                Connection::executeRawQuery($requette);
                $requette="INSERT INTO log_inventaire".ID_GARAGE." (Date, NoArticle, Stock, Quantite, Total, Poste) VALUES (NOW(), '".addslashes($ligne['NoArticle'])."', '".strtoupper($Stock)."', $Nb, $Nb, '".$_SERVER["REMOTE_ADDR"]."')";
                Connection::executeRawQuery($requette);
                $requette="UPDATE stock".ID_GARAGE." SET LieuxStock='".addslashes(strtoupper($Stock))."' WHERE NoArticleRR='".addslashes($ligne['NoArticleRR'])."'";
                Connection::executeRawQuery($requette);
              }
              else
              {
                echo "<script language=JavaScript>\n";
		        echo "beep(100, 60, 100);\n";
                echo "</script>\n";
                echo "<h1 style='color:FFFF00;font-size:30px;'>Article ".$ligne['NoArticle']." déjà dans un autre stock ".$ligne['LieuxStock']." doit être corrigé et refait!!!</h1>";
              }
            }
            else
            {
              Connection::executeRawQuery($requette);
              $requette="INSERT INTO log_inventaire".ID_GARAGE." (Date, NoArticle, Stock, Quantite, Total, Poste) VALUES (NOW(), '".addslashes($ligne['NoArticle'])."', '".strtoupper($Stock)."', $Nb, ".($Nb+$ligne['EnStock']).", '".$_SERVER["REMOTE_ADDR"]."')";
              Connection::executeRawQuery($requette);
            }
          }
        }
        else
        {
          echo "<script language=JavaScript>\n";
		  echo "beep(100, 60, 100);\n";
          echo "</script>\n";
          echo "<h1 style='color:FFFF00;font-size:40px;'>Article inconnu $NoArticle</h1>";
        }
      }
      if(!isset($Stock))
      {
        $Stock="";
      }
      echo "<form name='info'>";
      echo "Stock<input type='text' name='Stock' value='$Stock' size=9 MAXLENGTH=9><BR>";
      echo "Quantité<input type='text' name='Nb' value='1' size=3 MAXLENGTH=3><BR>";
      echo "NoArticle<input type='text' name='NoArticle' value='' size=30 MAXLENGTH=30><BR>";
      echo "<input type='hidden' name='Type' value=$Type>";
      echo "<input type='hidden' name='Sous_Type' value=$Sous_Type>";
      echo "<input type='hidden' name='Etape' value='0'>";
      echo "</form>";
      $resultat = LogInventaire::getLogInventaire();
      echo "<br /><textarea style=\"FONT-WEIGHT: bold;\" cols='55' rows='1' readonly>\n";
      $first = true;
      foreach ($resultat as $ligne)
      {
        echo substr($ligne["Date"],11,8)." ".substr($ligne["Date"],8,2).".".substr($ligne["Date"],5,2).".".substr($ligne["Date"],0,4)." ".aligne_gauche_select($ligne["NoArticle"],20)." ".aligne_gauche_select($ligne["Stock"],4)." ".aligne_gauche_select($ligne["Quantite"],4)." ".aligne_gauche_select($ligne["Total"],4)."\n";
        if($first)
        {
          $first = false;
          echo "</textarea><br />\n";
          echo "<textarea cols='55' rows='20' readonly>\n";
        }
      }
      echo "</textarea>\n";
      echo "<script language=JavaScript>\n";
      echo "force_submit=true;\n";
      echo "this.document.forms['info'].elements[2].focus();\n";
      echo "</script>\n";
    break;
  }
?>
