 |
|
// Colonna centrale utilizzata per visualizzare i dati ?>
if ($fornitore == $idsarzi)
$confronto = "" ;
else
$confronto = 0 ;
if (isset($prenotazione) and ($prenotazione != ""))
$epoca = "Prenotazione" ;
$sconto1 = NumToSql($sconto1) ;
$sconto2 = NumToSql($sconto2) ;
$sconto3 = NumToSql($sconto3) ;
/***************************************************
* trasformo le date nel formato accettato da
* MySql
****************************************************/
$dataordine = MySqlDate($dataordine) ;
$datarichiesta = MySqlDate($datarichiesta) ;
$dataspedizione = MySqlDate($dataspedizione) ;
$datafattura = MySqlDate($datafattura) ;
$datanc = MySqlDate($datanc) ;
/***************************************************
* Recupero l'id dell'agente responsabile dell'ordine.
* Se l'id agente passato = 0 allora vuol dire che
* devo recuperare l'id dell'agente in base al cliente
* selezionato.
****************************************************/
if ($ope != "del" and $idagente == 0)
{
$q = "select idagente from $tclienti where idclienti = $cliente" ;
$db->query($q) ;
while ($db->next_record())
$idagente = $db->f("idagente") ;
}
/*******************************************************
* Controllo che tipo di operazione devo fare:
* ope = add ==> Inserimento di un nuovo ordine
* ope = mod ==> Modifica di un ordine
* ope = del ==> Eliminazione di un ordine
********************************************************/
if ($ope == "add")
{
/*******************************************************
* Devo recuperare i dati passati:
********************************************************/
/***************************************************
* Prima di inserire l'ordine devo recuperare l'ID
* da assegnare a questa inserzione
****************************************************/
$qmax = "select max(IdOrdini) as MAX from $tordini" ;
$db->query($qmax) ;
while ($db->next_record())
$max = $db->f("MAX") + 1 ;
/******************************************************
* Inserisco i dati dell'ordine
******************************************************/
$qordini = "insert into $tordini (IdCliente, IdAgente, IdFornitore, DataOrdine, DataRichiesta, DataSpedizione, IdPagamento, NoteOrdini, Sconto1, Sconto2, Sconto3, EpocaDiConsegna, DaInviare) VALUES ('$cliente', '$idagente', '$fornitore', '$dataordine', '$datarichiesta', '$dataspedizione', '$pagamento', '$note', '$sconto1', '$sconto2', '$sconto3', '$epoca', 1)" ;
$ret = $db->query($qordini) ;
/*******************************************
* Inserisco i dati relativo al dettaglio
* dell'ordine
********************************************/
for ($i=1; $i<=20; $i++)
{
$cart = ${"cartoni$i"} ;
$conf = ${"confezione$i"} ;
$codprod = ${"prodotto$i"} ;
$scontoprd = ${"scontoprd$i"} ;
if ($codprod != $confronto and $conf != 0 and $cart != 0)
{
/*******************************************************
* devo inserire nella tabella dettagli questo prodotto
* con i relativi parametri
*******************************************************/
$qdett = "insert into $tdettagli (IdOrdine, IdProdotto, NumCartoni, ConfezioniDa, ScontoPrd) VALUES ($max, '$codprod', $cart, $conf, '$scontoprd')" ;
// debug (1, $qdett) ;
$ret = $db->query($qdett) ;
/************************************************************
* Aggiorno la tabella dei prodotti incrementando la quantita
* utilizzata per questo prodotto se non si tratta di SARZI
**************************************************************/
if ($fornitore != $idsarzi)
{
$ret = $db->query("select qutilizzata from $tprodotti where idprodotti = $codprod") ;
while ($db->next_record())
$quti = $db->f("qutilizzata") ;
$newuti = $quti + ($cart * $conf) ;
$ret = $db->query("update $tprodotti set qutilizzata = $newuti where idprodotti = $codprod") ;
}
}
}
}
elseif ($ope == "mod")
{
$dbt = new FC_SQL ;
/*********************************************************************
* oltre a recuperare i dati dell'ordine da modificare, controllo anche
* se ho inserito i dati riguardanti l'eventuale assegno con cui
* è stata pagata la fattura che si riferisce all'ordine
* che sto modificando.
*******************************************************************/
$importofattura = NumToSql($importofattura) ;
$importonc = NumToSql($importonc) ;
$impassegno = NumToSql($impassegno) ;
if ($saldofattura)
$sf = 1 ;
else
$sf = 0 ; ;
if ($saldoprovvigione)
$sp = 1 ;
else
$sp = 0 ; ;
if ($saldoprovvigioneagente)
$spa = 1 ;
else
$spa = 0 ; ;
if ($dainviare)
$da = 1 ;
else
$da = 0 ; ;
if ($daspedire)
$ds = 1 ;
else
$ds = 0 ;
$query = "update $tordini set idcliente='$cliente', idagente='$idagente', idfornitore='$fornitore', dataordine='$dataordine', datarichiesta='$datarichiesta', dataspedizione='$dataspedizione', numfattura='$numfattura', dataspedfattura='$datafattura', importofattura='$importofattura', numnc='$numnc', datanc='$datanc', importonc='$importonc', saldofattura='$sf', saldoprovvigione='$sp', saldoprovvigioneagente='$spa', idpagamento='$pagamento', noteordini='$note', sconto1='$sconto1', sconto2='$sconto2', sconto3='$sconto3', dainviare='$da', epocadiconsegna='$epoca', bancaordine='$banca', numassegno='$numassegno', impassegno = '$impassegno', daspedire='$ds' where idordini=$idordine" ;
$ret = $db->query($query) ;
/******************************************************************
* Per aggiornare i dettagli faccio la seguente operazione:
* prima elimino tutti i record in dettagli che hanno l'idordine
* uguale a quello che si sta modificando, poi inserisco tutti i
* record nuovi in dettagli con i parametri passati modificati
* Prima di eliminare dai dettagli i record dove l'idordine = a quello
* di modifica, devo aggiornare i valori del campo qutilizzata di
* ogni singolo prodotto dell'ordine
*********************************************************************/
if ($fornitore != $idsarzi)
{
$qdett = "select * from $tdettagli, $tprodotti where idordine = $idordine and $tprodotti.idprodotti = $tdettagli.idprodotto" ;
// debug (1, $qdett) ;
$db->query($qdett) ;
while ($db->next_record())
{
$id = $db->f("IdProdotti") ;
$newuti = $db->f("QUtilizzata") - ($db->f("NumCartoni") * $db->f("ConfezioniDa")) ;
$qmod = "update $tprodotti set qutilizzata = $newuti where idprodotti = $id" ;
// debug (1, $qmod) ;
$ret = $dbt->query($qmod) ;
}
}
$qdel = "delete from $tdettagli where idordine = $idordine" ;
// debug (1, $qdel) ;
$ret = $db->query($qdel) ;
for ($i=1; $i<=20; $i++)
{
$cart = ${"cartoni$i"} ;
$conf = ${"confezione$i"} ;
$codprod = ${"prodotto$i"} ;
$scontoprd = ${"scontoprd$i"} ;
if ($codprod != $confronto and $conf != 0 and $cart != 0)
{
/******************************************************
* devo inserire nella tabella dettagli questo prodotto
* con i relativi parametri
************************************************************/
$qdett = "insert into $tdettagli (IdOrdine, IdProdotto, NumCartoni, ConfezioniDa, ScontoPrd) VALUES ($idordine, '$codprod', $cart, $conf, '$scontoprd')" ;
if ($fornitore != $idsarzi)
{
$qprod = "select * from $tprodotti where idprodotti = $codprod" ;
$dbt->query($qprod) ;
while ($dbt->next_record())
$qut = $dbt->f("QUtilizzata") ;
$newqut = $qut + ($cart * $conf) ;
$qupd = "update $tprodotti set qutilizzata = $newqut where idprodotti = $codprod" ;
// debug (1, $qupd) ;
$ret = $dbt->query($qupd) ;
}
// debug (2, $qdett) ;
$ret = $db->query($qdett) ;
}
}
}
else // Operazione di cancellazione -- DA FARE
{
/*************************************************************
* Dall'id dell'ordine recupero l'id del fornitore
**************************************************************/
$dbo = new FC_SQL ;
$dbpro = new FC_SQL ;
$qord = "select * from $tordini where idordini = $id" ;
$dbo->query($qord) ;
while( $dbo->next_record())
{
$fornitore = $dbo->f("IdFornitore") ;
debug (0, "ID FORNITORE = $fornitore") ;
}
/*************************************************************
* recupero i dettagli dell'ordine da cancellare
*************************************************************/
$qdett = "select * from $tdettagli where idordine = $id" ;
debug (0, $qdett) ;
$db->query($qdett) ;
while ($db->next_record())
{
$idprodotto = $db->f("IdProdotto") ;
$numcartoni = $db->f("NumCartoni") ;
$confezionida = $db->f("ConfezioniDa") ;
$totbott = $numcartoni * $confezionida ;
debug (0, "IDPRODOTTO = $idprodotto -- NumCartoni = $numcartoni -- ConfezioniDa = $confezionida -- TOT BOTT = $totbott") ;
/*****************************************************************
* recupero i dati di questo prodotto e decremento la quantità
* utilizzata del valore $totbott se il fornitore != sarzi
******************************************************************/
if ($fornitore != $idsarzi)
{
$qpro = "select qutilizzata from $tprodotti where idprodotti = $idprodotto" ;
debug (0, $qpro) ;
$ret = $dbpro->query($qpro) ;
while ($dbpro->next_record())
$quti = $dbpro->f("qutilizzata") ;
$newuti = $quti - $totbott ;
$qpro = "update $tprodotti set qutilizzata = $newuti where idprodotti = $idprodotto" ;
debug (0, $qpro) ;
$ret = $dbpro->query($qpro) ;
}
}
/****************************************************************
* Dopo aver aggiornato i dati relativi alle quantità utilizzate
* dei singoli prodotti, posso eliminare i record della tabella
* dei dettagli che si riferiscono all'ordine in esame
*****************************************************************/
$qeli = "delete from $tdettagli where idordine = $id" ;
debug (0, $qeli) ;
$db->query($qeli) ;
/*******************************************************************
* Infine elimino dalla tabella $tordini il record che si riferisce
* all'ordine in esame
********************************************************************/
$qeli = "delete from $tordini where idordini = $id" ;
debug (0, $qeli) ;
$db->query($qeli) ;
}
if ($ret)
{
?>
Operazione eseguita con successo
|
}
else
{
?>
Problemi nell'eseguire l'operazione richiesta
|
}
?>
Clicca qui per tornare alla pagina del menu degli ordini,
if ($ope=="add")
{
?>
oppure clicca qui per inserire un altro ordine,
}
?>
oppure scegli un folder nella parte alta della finestra |
// Fine Colonna centrale ?>
|
|
 |