Files

179 lines
6.4 KiB
Perl
Executable File

#!/usr/bin/perl
#script cgi de la page de commande
use DBI;
use CGI;
require "cgi-lib.pl";
#lire les infos sur le produit selectionne
&ReadParse(*query);
$taux_tva = 0.196;
$code_famille = $query{'code_famille'};
$code_produit = $query{'code_produit'};
$nomP = $query{'designation'};
$prix_ht = $query{'prix_ht'};
$ID_client_el = $query{'ID_client_el'};
$s_total= 1*$prix_ht;
$html = new CGI;
print $html->header;
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>Votre s&eacute;lection</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"\#FFFFFF\">\n";
print "<BODY BGCOLOR=\"\#FFFFFF\">\n";
print "<spacer TYPE=\"block\" HEIGHT=12>\n";
print "<CENTER><H1>Votre s&eacute;lection</H1></CENTER>\n";
print "<HR SIZE=7 NO SHADE>\n";
print "<P>\n";
print "<CENTER>";
# affichage du debut du calepin
print "<FORM METHOD=\"post\" ACTION=\"http://o2000/cgi/recalc_com.pl\">\n";
print "<TABLE BORDER=0 CELLSPACING=5 CELLPADING=3>\n";
print "<TR BGCOLOR=\"\#FFFFCC\" NOSAVE>\n";
print "<TD></TD>\n";
print "<TD><!- colonne reservee au numero du produit (compte) -></TD>\n";
print "<TD><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>Ref</FONT></TD>\n";
print "<TD><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>D&eacute;signation</FONT></TD>\n";
print "<TD><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>Qt&eacute;</FONT></TD>\n";
print "<TD><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>Prix unitaire HT </FONT></TD>\n";
print "<TD><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>Sous-total HT</FONT></TD>\n";
print "<TD></TD>\n";
print "</TR>\n";
# se connecter a la base
$dbh = DBI->connect("dbi:Pg:dbname=s_marchand", postgres, ) or die $DBI::errstr;
#mettre_produit_au_panier();
afficher_calepin();
# se deconnecter de la base
$dbh->disconnect;
#afficher la fin de la page de selection des produits
print "<P><P>\n";
# boutons de gestion de la commande
print "<TABLE BORDER=1 CELLSPACING=0 CELLPADING=1>\n";
print "<TR>\n";
print "<TD ></TD>\n";
print "<TD ></TD>\n";
print "<FORM METHOD=\"post\" ACTION=\"http://o2000/cgi/commander.pl\" >\n";
print "<TD><INPUT TYPE=\"Submit\" VALUE=\"Commander\"></TD>\n";
print "<INPUT TYPE=\"hidden\" NAME=\"ID_client_el\" VALUE=$ID_client_el>\n";
print "</FORM>\n";
print "<TD ></TD>\n";
print "<TD ></TD>\n";
print "<FORM METHOD=\"post\" ACTION=\"http://o2000/cgi/bdd_prod.pl\" >\n";
print "<TD><INPUT TYPE=submit VALUE='Voir les produits' NAME='go' bgclor=\"\#99CCFF\"></TD>\n";
print "</FORM>\n";
print "</TR>\n";
print "</TABLE>\n";
print "<P><P>\n";
print "</CENTER>";
print "Pour <B>ajouter des articles</B>, retournez sur le catalogue et s&eacute;lectionnez les articles choisis.<BR>\n";
print "Pour <B>supprimer un article</B> de votre s&eacute;lection, vous devez le d&eacute;cocher, puis cliquer sur le bouton recalculer pour mettre &agrave; jour les totaux.<BR>\n";
print "Pour <B>commander plusieurs exemplaires</B> d\'un produit, modifiez sa quantit&eacute; puis recalculez le montant de votre commande.<BR>\n";
print "Lorsque vous &ecirc;tes <B>satisfait de votre s&eacute;lection</B>, cliquez sur le bouton <B>commander</B>.\n";
print "<\BODY>\n";
print "<\HTML>\n";
sub mettre_produit_au_panier {
# rentrer le produit selectionne dans le panier du client
$cursor = $dbh->prepare( "INSERT INTO panier VALUES ('$ID_client_el','$code_famille','$code_produit',1)" );
$cursor->execute;
$cursor->finish;
}
sub afficher_calepin {
# recuperer les produits selectionnes par le client concerne
$cursor = $dbh->prepare( "SELECT pa.code_famille, pa.code_produit, pr.denomination, pa.qte, pr.prix_ht FROM produits pr, panier pa WHERE pa.id_client_el like '$ID_client_el' AND pa.code_famille = pr.code_famille AND pa.code_produit= pr.code_produit" );
$cursor->execute;
$cpt = 1;
while ( @lgcom = $cursor->fetchrow) {
($code_famille,$code_produit,$denomination,$qte,$prix_ht) = @lgcom;
print "<TR BGCOLOR=\"\#99CCFF\" NOSAVE>\n";
print "<TD><INPUT TYPE=\"checkbox\" NAME=\"suppr-$cpt\" SIZE=2 CHECKED></TD>\n";
print "<TD><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$cpt<!-numero de ligne></TD>\n";
print "<TD><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$code_famille $code_produit<!-reference produit></TD>\n";
print "<TD><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$denomination<!-nom produit></TD>\n";
print "<TD><INPUT TYPE=\"text\" NAME=\"qte$cpt\" SIZE=2 VALUE=$qte ></TD>\n";
print "<TD ALIGN=\"right\"><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$prix_ht<!-prix unitaire hors taxe></TD>\n";
$s_total = $prix_ht * $qte;
print "<TD ALIGN=\"right\"><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$s_total</FONT></TD>\n";
print "<INPUT TYPE=\"hidden\" NAME=\"code_famille$cpt\" VALUE=\"$code_famille\">\n";
print "<INPUT TYPE=\"hidden\" NAME=\"code_produit$cpt\" VALUE=\"$code_produit\">\n";
print "</TR>\n";
$total_ht += $s_total;
$cpt++;
}
print "<INPUT TYPE=\"hidden\" NAME=\"nb_lignes\" VALUE=$cpt>\n";
$cursor->finish;
# calcul de la tva
$tva = $total_ht * $taux_tva;
# calcul du total hors taxe
$total_ttc = $total_ht + $tva ;
# affichage des totaux
print "<TR BGCOLOR=\"\#FFFFCC\" NOSAVE>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD ALIGN=\"right\"><FONT SIZE=4><B><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5><HR><BR>Total H\.T\. \: </B></FONT></TD>\n";
print "<TD ALIGN=\"right\"><FONT SIZE=4><B><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5><hr><BR>$total_ht</B></FONT></TD>\n";
print "</TR>\n";
print "<TR BGCOLOR=\"\#99CCFF\" NOSAVE>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD ALIGN=\"right\"><FONT SIZE=4><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>T\.V\.A\.\ (19,6 \%\) \: </FONT></TD>\n";
print "<TD ALIGN=\"right\"><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$tva</TD>\n";
print "</TR>\n";
print "<TR BGCOLOR=\"#FFFFCC\" NOSAVE>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD></TD>\n";
print "<TD ALIGN=\"right\"><FONT SIZE=4><B><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>TOTAL T\.\T.\C\. \: </FONT></B></TD>\n";
print "<TD ALIGN=\"right\"><FONT SIZE=4><B><spacer TYPE=\"block\" WIDTH=5 HEIGHT=5>$total_ttc</FONT></B></TD>\n";
print "</TR>\n";
print "<TR>\n";
print "<TD COLSPAN=7 ALIGN=right><INPUT TYPE=\"submit\" VALUE=\"Recalculer\" ></TD>\n";
print "</TR>\n";
print "</TABLE>\n";
print "<INPUT TYPE=\"hidden\" NAME=\"ID_client_el\" VALUE=\"$ID_client_el\" >\n";
print "</FORM>\n";
}