famille=$fam; $this->produit=$prod; $this->quantite=$qte; $this->_da_id=$da_id; } } // FIN classe LDacaht class DemandeAchat { var $_id_mag; var $_ligneAchat; var $_ligneIdx; var $_numero; function DemandeAchat($id_mag){ /* initialiser les var */ $this->_id_mag=$id_mag; $this->_ligneAchat=array(); $this->_ligneIdx=0; //$this->_numero=666; } function load($id_da){ // rempli l'objet DA a partir de la base pour l'id id_da $connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD); if(!$connexion) { echo "Erreur serveur mysql $connexion"; } $requete1="SELECT * FROM Ligne_d_achat " ."WHERE numero_da=".$id_da; $result1=mysql_db_query(SQL_BASE, $requete1, $connexion) or die(mysql_error($connexion)); while($row=mysql_fetch_object($result1)) { $prod_ref_in=$row->reference_interne; $prod_qte=$row->quantite; $requete2="SELECT nom_fam FROM Produit_Interne, Famille_de_produit " ."WHERE Produit_Interne.reference_fam=Famille_de_produit.reference_fam " ."AND reference_interne='$prod_ref_in'"; $result2=mysql_db_query(SQL_BASE, $requete2, $connexion) or die(mysql_error($connexion)); while($row=mysql_fetch_array($result2)) { $this->ajouteLDA($row[0], $prod_ref_in, $prod_qte); } } } function ajouteLDA($famProd,$prodSelect,$quantiteDem,$prodUnit="kg"){ $lda = new LDachat($famProd, $prodSelect, $quantiteDem); $this->_ligneAchat[$this->_ligneIdx]=&$lda; $this->_ligneIdx++; } function supprimeLDA($Cases_supp){ // on cherche les lignes selectionnees pour la suppression if (is_array($Cases_supp)){ while( list($case,$val) = each($Cases_supp) ){ // on supprime les lignes selectionnees $idx=preg_replace("/Check_/","",$val); unset($this->_ligneAchat[$idx]); } // on reindexe les tableaux $tmp_tab = array_values($this->_ligneAchat); $this->_ligneAchat = $tmp_tab; $this->_ligneIdx=count($this->_ligneAchat); } } function toHTML($editable=0){ if ($this->_ligneIdx<1){ $content=""; } else { for($i=0;$i<$this->_ligneIdx;$i++) { $content.="

"; if ($editable){ $content.=" "; } $content.=""; $content.=$this->_ligneAchat[$i]->famille; $content.=" "; $content.=""; $content.=$this->_ligneAchat[$i]->produit; $content.=" "; $content.=""; $content.=$this->_ligneAchat[$i]->quantite; $content.=" "; $content.="\n"; $content.="

"; } $content.="
"; if ($editable){ $content.="\n "; } } return $content; } /* * fonction qui insere la demande d'achat dans la base de donnees */ function insereBD() { /* * connexion a la base de donnees */ $connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD); if (!$connexion) { echo "Erreur serveur mysql $connexion"; } /* * insertion dans la base de donnees */ do{ $requete="SELECT max(numero_da) AS newId FROM Demande_d_achat"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion) or die(mysql_error($connexion)); $row=mysql_fetch_object($resultat); $id_DA=$row->newId; if ($id_DA!= "NULL"){ $id_DA+=1; } else { $id_DA=1; } //TODO: remplacer la date bidon par une vraie $date = date("Y")."-".date("m")."-".date("d"); $requete="INSERT INTO Demande_d_achat (numero_da, date, id_magasinier) " ."VALUES ('', '$date','".$this->_id_mag."')"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion); $numeroDA=mysql_insert_id(); } while (!$resultat); // insertion des lignes d'achat for($i=0; $i<$this->_ligneIdx; $i++) { $id_LDA=-1; $requete=0; $resultat=0; do{ $requete="SELECT max(numero_lda) AS newId from Ligne_d_achat"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion) or die(mysql_error($connexion)); $row=mysql_fetch_object($resultat); $id_LDA=$row->newId; if ($id_LDA!= "NULL"){ $id_LDA+=1; } else { $id_LDA=1; } $requete="INSERT INTO Ligne_d_achat (numero_lda, " ."numero_da, " ."reference_interne, " ."quantite) " ."VALUES ('$id_LDA', '$numeroDA', " ."'".$this->_ligneAchat[$i]->produit."', " ."'".$this->_ligneAchat[$i]->quantite."');"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion); } while(!$resultat); //TODO: corriger date $date = date("Y")."-".date("m")."-".date("d"); $requete="INSERT INTO Etats_LA " ."(date,Libelle,numero_lda,quantite_recue) " ."VALUES " ."('$date','CREE','$id_LDA','0')"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion) or die(mysql_error($connexion)); } // next lda } }// END Class DemandeAchat /* * fonctions pour creer les menus deroulant */ function menu_deroulant_familleProd ($famille) { echo "\n"; } function menu_deroulant_Produits ($ref_int, $designation) { $ref_des = "".$ref_int." : ".$designation; echo "\n"; } /* * fonction qui donne les familles de produits */ function donne_familles() { /* * Connexion a la base de donnees */ require("db.conf.php"); $connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD); /* * Requete et resultat */ $familles = array(); $requete="SELECT nom_fam FROM Famille_de_produit"; $resultat=mysql_db_query(SQL_BASE,$requete,$connexion) or die($requete.":".mysql_error($connexion)); while ($ligneTab= mysql_fetch_array($resultat)) { $familles[] = $ligneTab[0]; } return $familles; } /* * fonction qui cherche les produits en fonctions de la famille selectionnée */ function trouve_produits($ref_famille) { require("db.conf.php"); $connexion = @mysql_connect(SQL_SERVER,SQL_USER,SQL_PASSWD); if (!$connexion) { echo "Erreur serveur mysql $connexion"; } /* on cherche les produits associes */ $produits = array(); $requetePROD="SELECT reference_interne, ". "designation ". "FROM Produit_Interne ". "WHERE reference_fam=".$ref_famille; $resultatPROD=mysql_db_query(SQL_BASE,$requetePROD,$connexion) or die($requetePROD.":".mysql_error($connexion)); while ($lignePROD = mysql_fetch_array($resultatPROD)) { $produits[] = $lignePROD[0]; $produits[] = $lignePROD[1]; } return $produits; } /* * fonction permettant de convertir du php en javascript */ function convertToJS($var) { if (is_array($var)) { $res = "["; $array = array(); foreach ($var as $a_var) { $array[] = convertToJS($a_var); } return "(" . join(",", $array) . ")"; } elseif (is_bool($var)) { return $var ? "true" : "false"; } elseif (is_int($var) || is_integer($var) || is_double($var) || is_float($var)) { return $var; } elseif (is_string($var)) { return "'" . addslashes(stripslashes($var)) . "'"; } // autres cas: objets, on ne les gère pas return FALSE; } } // defined LIBLDACHAT_INC ?>