<?php
include "library/DB_fct.inc.php";
include "library/_approDesign.inc.php";
// ========================================================================================
// Fonctions locales
// ========================================================================================
function _menuRight(){
	echo "Appro";
	echo "<br>Liste des fournisseurs.";
	echo "<div class='help'>
	Voir le détail d'un fournisseur et afficher ses commandes.
</div>";
}
// -------------------------------------------------------------------
function _isInTab($tab, $testValue){
	// attention, petit pbm si l'indice = 0
	$indice=-1;
	if(is_array($tab))
	foreach($tab as $key => $val)
		if ($val==$testValue){
			$indice=$key;
			break;
		}
	return $indice;
}
// ========================================================================================
// MAIN()
// ========================================================================================
$userId="";
$pageName="approFour.php";

$headTitle="Liste des Fournisseurs";
$contentTitle="Gestion des Approvisionnements";

$dspPage="approDspFour.php";
$updPage="approDspFour.php";
$delPage="approDspFour.php";
$addPage="approDspFour.php";
$workPage="approFourWorkSO.php";

// tableaux pour ne pas montrer le vrai nom des champs dans les paramètres transmis
$t_sortFieldNames=array("no", "rs", "ad", "pay", "rem");
$t_sortFieldDbTabNames=array("", "", "", "", "", "");  // mettre ici le nom de la table de la requête (avec le point !!!)
$t_sortFieldDbNames=array("tierNum", "tierRaisonSociale", "tierAdresse", "paysCode", "tierRemiseTier");
$t_sortFieldDesc=array("n°", "Raison Sociale", "Adresse", "Pays", "taux de remise");
$t_sortFieldDsp=array(true, true, true, true, true);
$t_sortFieldDir=array("", "", "", "", "");
$defaultSortClause=" ORDER BY Tier.tierNum desc";

//========================================================================
// AFFICHAGE
//========================================================================
_pageHeader($userId);	// entête de page et menu

//======================================================================
// gestion du tri et du filtre
//======================================================================
	//	Tris
	// -------------------------------------------------------------------
	// si le tri est nommé (desc ou asc) alors le tri demandé est changé, sinon il reste comme il est
	$sortDir="";
	$sortField="";

	// recup paramètres si existent
	(isset($_REQUEST['sortDir']))?$sortDir=$_REQUEST['sortDir']:$sortDir="desc"; // 
	(isset($_REQUEST['sortField']))?$sortField=$_REQUEST['sortField']:$sortField="artCode"; // 

	// si le tri est orienté, changer le tri : "">"asc">"desc">""
	if ($sortDir=="asc")
		$sortDirNew="desc";
	elseif ($sortDir=="desc")
		$sortDirNew="";
	else 
		$sortDirNew="asc";

	// construction de l'ordre de tri ; !!!! Actuellement, un tri annule les autres
	$sortClause="";
		foreach($t_sortFieldNames as $key => $val){
			if ($sortField == $val)
				$t_sortFieldDir[$key]=$sortDirNew;
			if ($t_sortFieldDir[$key]!=""){
				if (empty($sortClause))
					$sortClause=" ORDER BY ";
				else 
					$sortClause.=", ";
				$sortClause.=$t_sortFieldDbNames[$key]." ".$t_sortFieldDir[$key];
			}
		}
	// -------------------------------------------------------------------
	// filtre type de produit
	//	mode=0 : tous produits
	//	mode=1 : produits Finis
	//	mode=2 : profuits fini et matières
	// -------------------------------------------------------------------
	$mode=0;
	if (isset($_REQUEST['mode'])){
		$mode=$_REQUEST['mode'];
	}
//=======================================================================
// connexion et ouverture de la requête à afficher
//=======================================================================
	$connexion=DB_connecter();
	$requete_sql="SELECT tier.tierNum, tierRaisonSociale, tierAdresse, paysCode, 0 as tierPaimtCode 
	FROM tier WHERE tier.tierTypeCode='f' or tier.tierTypeCode='b' ";
	$requete_sql.=" ";
	if ($mode==1) // tous les fournisseurs clients
		$requete_sql.=" AND  tier.tierTypeCode='B'";
	if ($mode==2) // tous fournisseurs seulement
		$requete_sql.=" AND  tier.tierTypeCode<>'B'";
	// ajout du tri
	(!empty($sortClause))?$requete_sql.=$sortClause:$requete_sql.=$defaultSortClause;
	
	$requete_id=DB_ouvrirRequete($requete_sql, $connexion);
//=======================================================================
// Affichage 
//=======================================================================
	// formulaire d saisie d'un nouveau fournisseur
	echo "créer une nouveau fournisseur (à venir)<br>";
	// début de liste
	echo "<table border=1 align=center width=100%><!--Debut de liste-->\n";
	// Ouvrir et tester la requête. y a-t-il qqch à afficher ?
	if (DB_getNbEnreg($requete_id)){
		// afficher l'entête de la liste :
		// a) construire la liste des champ de la requête
		//tier.tierNum, tierRaisonSociale, tierAdresse, paysCode, tierRemiseTier
		echo "<tr>";
		echo "<th>Voir</th>";
		echo "<th>Mod</th>";
		echo "<th>Sup</th>";
		//echo "<th>Achat</th>";
		echo "<th>n°</th>";
		echo "<th>Raison Sociale</th>";
		echo "<th>Adresse</th>";
		echo "<th>Pays</th>";
		echo "<th>Condition de paiement</th>";
		echo "<th>nb Ventes</th>";
		echo "<th>nb Achats</th>";
		echo "</tr>";
		// c) afficher la liste des enregistrements
		$color=1;
		while ($t_record=DB_lireLigne($requete_id)){
			$recordKey=$t_record['tierNum'];
			// définition de la classe de style en fonction du type et du n° de ligne :
			($color)?$color=0:$color=1;
			//$classe="td".$t_record['tierTypeCode'].$color;
			$classe="td".$color;
			// affichage de la ligne
			// tierNum 	tierRaisonSociale 	tierAdresse 	paysCode 	tierRemiseTier 
			echo "	<tr class=$classe>";
			echo "		<td><a href=\"".$dspPage."?id=$recordKey\" ><img src=\"segami/btnDetail.png\" border=0 /></a></td>";
			echo "		<td><a href=\"".$updPage."?id=$recordKey\" ><img src=\"segami/btnModif.png\" border=0 /></a></td>";
			echo "		<td><a href=\"".$delPage."?id=$recordKey\" ><img src=\"segami/btnSupprimer.png\" border=0 /></a></td>";
			//echo "		<td><a href=\"".$workPage."?id=$recordKey\" ><img src=\"segami/btnWork.png\" border=0 /></a></td>";
				(empty($t_record['tierNum']))?print "<td>&nbsp;</td>":print "<td>".$t_record['tierNum']."</td>";
				(empty($t_record['tierRaisonSociale']))?print "<td>&nbsp;</td>":print "<td>".$t_record['tierRaisonSociale']."</td>";
				(empty($t_record['tierAdresse']))?print "<td>&nbsp;</td>":print "<td>".$t_record['tierAdresse']."</td>";
				(empty($t_record['paysCode']))?print "<td>&nbsp;</td>":print "<td>".$t_record['paysCode']."</td>";
				(empty($t_record['tierPaimtCode']))?print "<td>&nbsp;</td>":print "<td>".$t_record['tierPaimtCode']."</td>";
			
			$nbOVSql="SELECT count(*) FROM cdeclient WHERE cliNum=$recordKey ; ";
			$t_nbOVSql=DB_chercherEnreg($nbOVSql, $connexion);
			($t_nbOVSql[0]>0)?print "<td>".$t_nbOVSql[0]."</td>":print "<td>&nbsp;</td>";
			
			$nbOASql="SELECT count(*) FROM cdefour WHERE fourNum=$recordKey ; ";
			$t_nbOASql=DB_chercherEnreg($nbOASql, $connexion);
			($t_nbOASql[0]>0)?print "<td>".$t_nbOASql[0]."</td>":print "<td>&nbsp;</td>";
			
			echo "	</tr>\n";
		}
		// fin de liste
	}else
		echo "<tr><td colspan=100%>aucun enreg trouvé</td></tr>";
	// Fin de liste
	echo "</table><!-- Fin de liste -->\n";
//========================================================================
// fin de page
//========================================================================
_pageFooter(); // pied de page
?>