fetchArray("SELECT id,name FROM zz_modules WHERE id=\"".$id_module."\""); $name = $rs[0]['name']; $dir = "uscita"; $idordine = $id_record; switch( $html->form('op', 'post') ){ case "add": $idanagrafica = $html->form( 'idanagrafica', 'post' ); if( $modules_info[$module_name]["permessi"] == 'rw' ){ $data = saveDate( $_POST['data'] ); if( isset($_POST['idanagrafica']) ) { $numero = get_new_numeroordine( $data ); $numero_esterno = get_new_numerosecondarioordine( $data ); //Tipo di pagamento predefinito dall'anagrafica $query = "SELECT id FROM co_pagamenti WHERE id=(SELECT idpagamento FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."')"; $rs = $dbo->fetchArray($query); $idpagamento = $rs[0]['id']; //Se l'ordine è un ordine cliente e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni if( $dir=='entrata' && $idpagamento=='' ) $idpagamento = get_var("Tipo di pagamento predefinito"); $query = "INSERT INTO or_ordini( numero, numero_esterno, idanagrafica, idtipoordine, idpagamento, data, idstatoordine ) VALUES ( '".$numero."', '".$numero_esterno."', '$idanagrafica', '1', '$idpagamento', '$data', (SELECT `id` FROM `or_statiordine` WHERE `descrizione`='Non evaso') )"; $id_record = $dbo->query($query); array_push( $_SESSION['infos'], "Aggiunto ordine numero ".$numero."!" ); } } break; case "update": if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( $idordine != '' ){ $numero_esterno = save( $_POST['numero_esterno'] ); $numero = save( $_POST['numero'] ); $data = saveDate( $_POST['data'] ); $note = save( $_POST['note'] ); $idstatoordine = save($_POST['idstatoordine']); $idpagamento = save($_POST['idpagamento']); $idsede = save($_POST['idsede']); $idconto = save($_POST['idconto']); $idagente = save($_POST['idagente']); $totale_imponibile = get_imponibile_ordine($idordine); $totale_ordine = get_totale_ordine($idordine); $data_prevista_consegna = saveDate( $_POST['data_prevista_consegna'] ); if( $dir=='uscita' ){ $idrivalsainps = save($_POST['idrivalsainps']); $idritenutaacconto = save($_POST['idritenutaacconto']); $bollo = save($_POST['bollo']); } else{ $idrivalsainps = 0; $idritenutaacconto = 0; $bollo = 0; } //Leggo la descrizione del pagamento $query = "SELECT descrizione FROM co_pagamenti WHERE id='".$idpagamento."'"; $rs = $dbo->fetchArray($query); $pagamento = $rs[0]['descrizione']; //Query di aggiornamento $query = "UPDATE or_ordini SET numero=\"".$numero."\", data=\"".$data."\", data_prevista_consegna=\"".$data_prevista_consegna."\", idagente='".$idagente."', idstatoordine='$idstatoordine', idpagamento=\"".$idpagamento."\", idsede=\"".$idsede."\", numero_esterno=\"$numero_esterno\", note=\"$note\", idconto=\"$idconto\", idrivalsainps=\"$idrivalsainps\", idritenutaacconto=\"$idritenutaacconto\", bollo=0, rivalsainps=0, ritenutaacconto=0 WHERE id=\"$idordine\""; if( $dbo->query($query) ){ $query = "SELECT descrizione FROM or_statiordine WHERE id='$idstatoordine'"; $rs = $dbo->fetchArray($query); //Ricalcolo inps, ritenuta e bollo (se l'ordine non è stato evaso) if( $dir=='entrata' ){ if( $rs[0]['descrizione']!='Pagato' ){ ricalcola_costiagg_ordine($idordine); } } else{ if( $rs[0]['descrizione']!='Pagato' ){ ricalcola_costiagg_ordine($idordine, $idrivalsainps, $idritenutaacconto, $bollo); } } array_push( $_SESSION['infos'], "Ordine modificato correttamente!" ); } } } break; case "addarticolo": if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( $idordine != '' && isset($_POST['idarticolo']) ){ $idarticolo = save( $_POST['idarticolo'] ); // $idiva = save( $_POST['idiva'] ); $descrizione = save( $_POST['descrizione'] ); $lotto = save( $_POST['lotto'] ); $serial = save( $_POST['serial'] ); $altro = save( $_POST['altro'] ); $qta = force_decimal( $html->form('qta', 'post') ); $prezzo_vendita = force_decimal( $html->form('prezzo', 'post') ); // $sconto = force_decimal( $html->form('sconto', 'post') ); // $sconto = $sconto*$qta; $idtiposconto = save( $_POST['idtiposconto'] ); $sconto = force_decimal($_POST['sconto']); $sconto_extra = force_decimal($_POST['sconto_extra']); $sconto_extra1 = force_decimal($_POST['sconto_extra1']); $query = "SELECT idiva_vendita FROM mg_articoli WHERE id='".$idarticolo."'"; $rs = $dbo->fetchArray( $query ); $idiva = $rs[0]['idiva_vendita']; if($idtiposconto=='2'){ $sconto_prc = $sconto; $sconto = ($prezzo_vendita * $sconto_prc)/100; }else{ $sconto_prc = $sconto; } if($idtiposconto=='2'){ $sconto_extra = $sconto_extra; $sconto1 = (($prezzo_vendita - $sconto) * $sconto_extra)/100; }else{ $sconto1 = $sconto_extra; } if($idtiposconto=='2'){ $sconto_extra1 = $sconto_extra1; $sconto2 = (($prezzo_vendita - $sconto - $sconto1 ) * $sconto_extra1)/100; }else{ $sconto2 = $sconto_extra1; } $sconto = ( $sconto + $sconto1 + $sconto2 ) *$qta; add_articolo_inordine( $idordine, $idarticolo, $descrizione, $idiva, $qta, $prezzo_vendita*$qta, $sconto, $lotto, $serial, $altro ,$idtiposconto , $sconto_prc ,$sconto_extra ,$sconto_extra1); array_push( $_SESSION['infos'], "1Articolo aggiunto!" ); } ricalcola_costiagg_ordine($idordine); } break; case "addriga": if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( $idordine != '' ){ //Selezione costi da intervento $descrizione = save( $_POST['descrizione'] ); $importo_manuale = force_decimal( $html->form('subtot', 'post') ); $qta = force_decimal( $html->form('qta', 'post') ); $idiva = save($_POST['idiva']); $um = save($_POST['um']); $subtot = $importo_manuale*$qta; $idtiposconto = save( $_POST['idtiposconto'] ); $sconto = force_decimal($_POST['sconto']); $sconto_extra = force_decimal($_POST['sconto_extra']); $sconto_extra1 = force_decimal($_POST['sconto_extra1']); if($idtiposconto=='2'){ $sconto_prc = $sconto; $sconto = ($importo_manuale * $sconto_prc)/100; }else{ $sconto_prc = $sconto; } if($idtiposconto=='2'){ $sconto_extra = $sconto_extra; $sconto1 = (($importo_manuale - $sconto) * $sconto_extra)/100; }else{ $sconto1 = $sconto_extra; } if($idtiposconto=='2'){ $sconto_extra1 = $sconto_extra1; $sconto2 = (($importo_manuale - $sconto - $sconto1 ) * $sconto_extra1)/100; }else{ $sconto2 = $sconto_extra1; } $sconto = ( $sconto + $sconto1 + $sconto2 ) *$qta; //Calcolo iva $query = "SELECT percentuale, indetraibile FROM co_iva WHERE id='$idiva'"; $rs = $dbo->fetchArray($query); $iva = ($subtot-$sconto)/100*$rs[0]['percentuale']; $iva_indetraibile = $iva/100*$rs[0]['indetraibile']; $query = "INSERT INTO or_righe_ordini( idordine, idiva, iva, iva_indetraibile, descrizione, subtotale, sconto, um, qta , tipo_sconto , sconto_primo,sconto_extra,sconto_extra1) VALUES ( \"$idordine\", \"$idiva\", \"$iva\", \"$iva_indetraibile\", \"$descrizione\", \"$subtot\", \"$sconto\", \"$um\", \"$qta\" , \"$idtiposconto\", \"$sconto_prc\", \"$sconto_extra\", \"$sconto_extra1\" )"; if( $dbo->query($query) ){ array_push( $_SESSION['infos'], "Riga aggiunta!" ); //Ricalcolo inps, ritenuta e bollo if( $dir=='entrata' ){ ricalcola_costiagg_ordine($idordine); } else{ ricalcola_costiagg_ordine($idordine); } } } } break; //Scollegamento articolo da ordine case "unlink_articolo": if( $modules_info[$module_name]["permessi"] == 'rw' ){ $idarticolo = $html->form( 'idarticolo', 'post' ); $idriga = $html->form( 'idriga', 'post' ); if( $idordine != '' && $idarticolo != '' ){ rimuovi_articolo_daordine( $idarticolo, $idordine, $idriga ); //if( $dbo->query($query) ){ //Ricalcolo inps, ritenuta e bollo if( $dir == 'entrata' ){ ricalcola_costiagg_ordine($idordine); } else{ ricalcola_costiagg_ordine($idordine, 0, 0, 0); } array_push( $_SESSION['infos'], "Articolo rimosso!" ); } //} } break; //Scollegamento riga generica da ordine case "unlink_riga": if( $modules_info[$module_name]["permessi"] == 'rw' ){ $idriga = $html->form( 'idriga', 'post' ); if( $idordine != '' && $idriga != '' ){ $query = "DELETE FROM or_righe_ordini WHERE idordine=\"$idordine\" AND id=\"$idriga\""; $dbo->query($query); //Ricalcolo inps, ritenuta e bollo if( $dir=='entrata' ){ ricalcola_costiagg_ordine($idordine); } else{ ricalcola_costiagg_ordine($idordine, 0, 0, 0); } array_push( $_SESSION['infos'], "Riga rimossa!" ); } } break; //Modifica riga case "editriga": if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( isset($_POST['idriga']) ){ $idriga = $html->form('idriga', 'post'); $descrizione = save( $_POST['descrizione'] ); $importo_manuale = save( $_POST['subtot'] ); $importo_manuale = str_replace( ",", ".", $importo_manuale ); $qta = save($_POST['qta']); $qta = str_replace( ",", ".", $qta ); $idiva = save($_POST['idiva']); $um = save($_POST['um']); $subtot = $importo_manuale*$qta; $idtiposconto = save( $_POST['idtiposconto'] ); $sconto = force_decimal($_POST['sconto']); $sconto_extra = force_decimal($_POST['sconto_extra']); $sconto_extra1 = force_decimal($_POST['sconto_extra1']); if($idtiposconto=='2'){ $sconto_prc = $sconto; $sconto = ($importo_manuale*$sconto_prc)/100; }else{ $sconto_prc = $sconto; } if($idtiposconto=='2'){ $sconto_extra = $sconto_extra; $sconto1 = (($importo_manuale - $sconto) * $sconto_extra)/100; }else{ $sconto1 = $sconto_extra; } if($idtiposconto=='2'){ $sconto_extra1 = $sconto_extra1; $sconto2 = (($importo_manuale - $sconto - $sconto1) * $sconto_extra1)/100; }else{ $sconto2 = $sconto_extra1; } $sconto = ( $sconto + $sconto1 + $sconto2 ) *$qta; //Calcolo iva $query = "SELECT * FROM co_iva WHERE id='".$idiva."'"; $rs = $dbo->fetchArray($query); $iva = ($subtot-$sconto)/100*$rs[0]['percentuale']; $iva_indetraibile = $iva/100*$rs[0]['indetraibile']; $desc_iva = $rs[0]['descrizione']; //Modifica riga generica sul documento $query = "UPDATE or_righe_ordini SET idiva=\"".$idiva."\", iva=\"".$iva."\", iva_indetraibile=\"".$iva_indetraibile."\", descrizione=\"".$descrizione."\", subtotale=\"".$subtot."\", sconto=\"".$sconto."\", um=\"".$um."\", qta=\"".$qta."\" , tipo_sconto=\"".$idtiposconto."\" , sconto_primo=\"".$sconto_prc."\" , sconto_extra=\"".$sconto_extra."\" , sconto_extra1=\"".$sconto_extra1."\" WHERE id=\"".$idriga."\""; if( $dbo->query($query) ){ array_push( $_SESSION['infos'], "Riga modificata!" ); //Ricalcolo inps, ritenuta e bollo if( $dir=='entrata' ) ricalcola_costiagg_ordine($idordine); else ricalcola_costiagg_ordine($idordine); } } } break; //eliminazione ordine case "delete": if( $modules_info[$module_name]["permessi"] == 'rw' ){ if( isset( $_GET['id_record'] ) ){ // scollego eventuali articoli in ordine associati ad un documento $dbo->query("UPDATE co_righe_documenti SET idordine='0' WHERE idordine='".$idordine."'"); $dbo->query( "DELETE FROM or_ordini WHERE id='$idordine'" ); // svuoto eventuali seriali arrivati $q = "SELECT idarticolo, id FROM or_righe_ordini WHERE idordine='".$idordine."'"; $rsr = $dbo->fetchArray($q); for( $i=0; $i < sizeof($rsr); $i++ ){ // svuoto seriali precedeneti $dbo->query( "DELETE FROM mg_prodotti WHERE idarticolo='".$rsr[$i]['idarticolo']."' and id_riga_ordine='".$rsr[$i]['id']."'"); } $dbo->query( "DELETE FROM or_righe_ordini WHERE idordine='$idordine'" ); array_push( $_SESSION['infos'], "Ordine eliminato!" ); } } break; case "add_seriale": $idriga = $html->form('idriga', 'post'); $q = "SELECT * FROM or_righe_ordini WHERE idordine='".$idordine."' AND id='".$idriga."'"; $rsr = $dbo->fetchArray($q); $idarticolo=$rsr[0]['idarticolo']; // svuoto seriali precedeneti $dbo->query( "DELETE FROM mg_prodotti WHERE idarticolo='".$idarticolo."' and id_riga_ordine='".$idriga."'"); //Lettura di tutte le righe della tabella in arrivo for( $i=0; $i<$rsr[0]['qta']; $i++ ){ //Processo solo le righe da evadere $seriale=$_POST['ser_'][$i]; if ($seriale != '') { //Creo la query per le combinazioni prodotto con ogni combinazione $query = "INSERT INTO mg_prodotti( idarticolo, serial , data , id_riga_ordine , dir ) VALUES ('".$idarticolo."' , '".$seriale."', NOW(),'".$idriga."','uscita')"; if( $dbo->query($query) ){ array_push( $_SESSION['infos'], "Inserito seriale : ".$seriale); } } } break; case "sendemail": $from_address = str_replace( ",", ".", get_var("Indirizzo per le email in uscita") ); $oggetto = html_entity_decode($_POST['oggetto']); $allegato = $_POST['allegato']; $testo_email = $_POST['body']; $destinatario=$_POST['destinatario']; $messaggio = new PHPmailer(str_replace( ",", ".", get_var("Indirizzo per le email in uscita") )); $messaggio->FromName = str_replace( ",", ".", get_var("Nome Form Mail") ); $messaggio->AddAddress($destinatario); $mail_cc=str_replace( ",", ".", get_var("Destinatario fisso in copia (campo CC)")); if ($mail_cc =""){ $messaggio->AddCC($mail_cc); } $messaggio->Subject=($oggetto); $messaggio->Body=strip_tags($testo_email); $messaggio->AddAttachment( $allegato ); if(!$messaggio->Send()){ array_push( $_SESSION['infos'], $messaggio->ErrorInfo ); }else{ array_push( $_SESSION['infos'], "Email inviata correttamente" ); } break; } ?>