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

Problemi nell'eseguire l'operazione richiesta

Clicca qui per tornare alla pagina del menu degli ordini,
oppure clicca qui per inserire un altro ordine,
oppure scegli un folder nella parte alta della finestra