2018-05-10 19:06:20 +02:00
< ? php
2018-06-22 17:04:37 +02:00
2018-05-10 19:06:20 +02:00
include_once __DIR__ . '/../../../core.php' ;
2018-06-26 09:41:43 +02:00
include_once Modules :: filepath ( 'Fatture di vendita' , 'modutil.php' );
2018-05-10 19:06:20 +02:00
switch ( post ( 'op' )) {
2018-06-22 17:04:37 +02:00
/*
2018-05-16 12:50:59 +02:00
GESTIONE ARTICOLI
*/
case 'editarticolo' :
$idriga = post ( 'idriga' );
$idarticolo = post ( 'idarticolo' );
$idimpianto = post ( 'idimpianto' );
//$idautomezzo = post('idautomezzo');
//$idarticolo_originale = post('idarticolo_originale');
// Leggo la quantità attuale nell'intervento
$q = 'SELECT qta, idautomezzo, idimpianto FROM co_righe_contratti_articoli WHERE id=' . prepare ( $idriga );
$rs = $dbo -> fetchArray ( $q );
$old_qta = $rs [ 0 ][ 'qta' ];
$idimpianto = $rs [ 0 ][ 'idimpianto' ];
//$idautomezzo = $rs[0]['idautomezzo'];
//$serials = array_column($dbo->select('mg_prodotti', 'serial', ['id_riga_intervento' => $idriga]), 'serial');
//add_movimento_magazzino($idarticolo_originale, $old_qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
// Elimino questo articolo dall'intervento
$dbo -> query ( 'DELETE FROM co_righe_contratti_articoli WHERE id=' . prepare ( $idriga ));
// Elimino il collegamento al componente
//$dbo->query('DELETE FROM my_impianto_componenti WHERE idimpianto='.prepare($idimpianto).' AND idintervento='.prepare($id_record));
/* Ricollego l'articolo modificato all'intervento */
/* ci può essere il caso in cui cambio idarticolo e anche qta */
2018-06-22 17:04:37 +02:00
//no break;
2018-05-16 12:50:59 +02:00
case 'addarticolo' :
2018-06-22 17:04:37 +02:00
2018-05-16 12:50:59 +02:00
$idarticolo = post ( 'idarticolo' );
//$idautomezzo = post('idautomezzo');
$descrizione = post ( 'descrizione' );
$idimpianto = post ( 'idimpianto' );
$qta = post ( 'qta' );
$um = post ( 'um' );
$prezzo_vendita = post ( 'prezzo_vendita' );
$idiva = post ( 'idiva' );
$sconto_unitario = $post [ 'sconto' ];
$tipo_sconto = $post [ 'tipo_sconto' ];
$sconto = ( $tipo_sconto == 'PRC' ) ? ( $prezzo_vendita * $sconto_unitario ) / 100 : $sconto_unitario ;
$sconto = $sconto * $qta ;
2018-06-22 17:04:37 +02:00
$idcontratto_riga = $post [ 'idcontratto_riga' ];
2018-05-16 12:50:59 +02:00
// Decremento la quantità
//add_movimento_magazzino($idarticolo, -$qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
// Aggiorno l'automezzo dell'intervento
//$dbo->query('UPDATE in_interventi SET idautomezzo='.prepare($idautomezzo).' WHERE id='.prepare($id_record).' '.Modules::getAdditionalsQuery($id_module));
//$rsart = $dbo->fetchArray('SELECT abilita_serial, prezzo_acquisto FROM mg_articoli WHERE id='.prepare($idarticolo));
//$prezzo_acquisto = $rsart[0]['prezzo_acquisto'];
//Calcolo iva
$rs_iva = $dbo -> fetchArray ( 'SELECT * FROM co_iva WHERE id=' . prepare ( $idiva ));
$desc_iva = $rs_iva [ 0 ][ 'descrizione' ];
$iva = (( $prezzo_vendita * $qta ) - $sconto ) * $rs_iva [ 0 ][ 'percentuale' ] / 100 ;
// Aggiunto il collegamento fra l'articolo e l'intervento
$idriga = $dbo -> query ( 'INSERT INTO co_righe_contratti_articoli(idarticolo, id_riga_contratto, idimpianto, idautomezzo, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial) VALUES (' . prepare ( $idarticolo ) . ', ' . prepare ( $idcontratto_riga ) . ', ' . ( empty ( $idimpianto ) ? 'NULL' : prepare ( $idimpianto )) . ', ' . prepare ( $idautomezzo ) . ', ' . prepare ( $descrizione ) . ', ' . prepare ( $prezzo_vendita ) . ', ' . prepare ( $prezzo_acquisto ) . ', ' . prepare ( $sconto ) . ', ' . prepare ( $sconto_unitario ) . ', ' . prepare ( $tipo_sconto ) . ', ' . prepare ( $idiva ) . ', ' . prepare ( $desc_iva ) . ', ' . prepare ( $iva ) . ', ' . prepare ( $qta ) . ', ' . prepare ( $um ) . ', ' . prepare ( $rsart [ 0 ][ 'abilita_serial' ]) . ')' );
/* if ( ! empty ( $serials )) {
if ( $old_qta > $qta ) {
$serials = array_slice ( $serials , 0 , $qta );
}
$dbo -> sync ( 'mg_prodotti' , [ 'id_riga_intervento' => $idriga , 'dir' => 'entrata' , 'id_articolo' => $idarticolo ], [ 'serial' => $serials ]);
} */
//link_componente_to_articolo($id_record, $idimpianto, $idarticolo, $qta);
break ;
case 'unlink_articolo' :
2018-06-22 17:04:37 +02:00
2018-05-16 12:50:59 +02:00
$idriga = post ( 'idriga' );
//$idarticolo = post('idarticolo');
2018-06-22 17:04:37 +02:00
2018-05-16 12:50:59 +02:00
$dbo -> query ( 'DELETE FROM co_righe_contratti_articoli WHERE id=' . prepare ( $idriga ) . ' ' . Modules :: getAdditionalsQuery ( $id_module ));
// Riporto la merce nel magazzino
if ( ! empty ( $idriga ) && ! empty ( $id_record )) {
// Leggo la quantità attuale nell'intervento
//$q = 'SELECT qta, idautomezzo, idarticolo, idimpianto FROM co_righe_contratti_articoli WHERE id='.prepare($idriga);
//$rs = $dbo->fetchArray($q);
//$qta = $rs[0]['qta'];
//$idarticolo = $rs[0]['idarticolo'];
//$idimpianto = $rs[0]['idimpianto'];
//$idautomezzo = $rs[0]['idautomezzo'];
// add_movimento_magazzino($idarticolo, $qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
// Elimino questo articolo dall'intervento
//$dbo->query('DELETE FROM mg_articoli_interventi WHERE id='.prepare($idriga).' AND idintervento='.prepare($id_record));
// Elimino il collegamento al componente
//$dbo->query('DELETE FROM my_impianto_componenti WHERE idimpianto='.prepare($idimpianto).' AND idintervento='.prepare($id_record));
// Elimino i seriali utilizzati dalla riga
//$dbo->query('DELETE FROM `mg_prodotti` WHERE id_articolo = '.prepare($idarticolo).' AND id_riga_intervento = '.prepare($id_record));
}
break ;
2018-06-22 17:04:37 +02:00
/*
2018-05-10 19:06:20 +02:00
Gestione righe generiche
*/
case 'addriga' :
2018-06-22 17:04:37 +02:00
$descrizione = post ( 'descrizione' );
$qta = post ( 'qta' );
$um = post ( 'um' );
$idiva = post ( 'idiva' );
$prezzo_vendita = post ( 'prezzo_vendita' );
$prezzo_acquisto = post ( 'prezzo_acquisto' );
$sconto_unitario = $post [ 'sconto' ];
$tipo_sconto = $post [ 'tipo_sconto' ];
$sconto = ( $tipo_sconto == 'PRC' ) ? ( $prezzo_vendita * $sconto_unitario ) / 100 : $sconto_unitario ;
$sconto = $sconto * $qta ;
//Calcolo iva
$rs_iva = $dbo -> fetchArray ( 'SELECT * FROM co_iva WHERE id=' . prepare ( $idiva ));
$desc_iva = $rs_iva [ 0 ][ 'descrizione' ];
$iva = (( $prezzo_vendita * $qta ) - $sconto ) * $rs_iva [ 0 ][ 'percentuale' ] / 100 ;
$idcontratto_riga = $post [ 'idcontratto_riga' ];
$dbo -> query ( 'INSERT INTO co_righe_contratti_materiali(descrizione, qta, um, prezzo_vendita, prezzo_acquisto, idiva, desc_iva, iva, sconto, sconto_unitario, tipo_sconto, id_riga_contratto) VALUES (' . prepare ( $descrizione ) . ', ' . prepare ( $qta ) . ', ' . prepare ( $um ) . ', ' . prepare ( $prezzo_vendita ) . ', ' . prepare ( $prezzo_acquisto ) . ', ' . prepare ( $idiva ) . ', ' . prepare ( $desc_iva ) . ', ' . prepare ( $iva ) . ', ' . prepare ( $sconto ) . ', ' . prepare ( $sconto_unitario ) . ', ' . prepare ( $tipo_sconto ) . ', ' . prepare ( $idcontratto_riga ) . ')' );
break ;
2018-05-10 19:06:20 +02:00
case 'editriga' :
2018-06-22 17:04:37 +02:00
$idriga = post ( 'idriga' );
$descrizione = post ( 'descrizione' );
$qta = post ( 'qta' );
$um = post ( 'um' );
$idiva = post ( 'idiva' );
$prezzo_vendita = post ( 'prezzo_vendita' );
$prezzo_acquisto = post ( 'prezzo_acquisto' );
$sconto_unitario = $post [ 'sconto' ];
$tipo_sconto = $post [ 'tipo_sconto' ];
$sconto = ( $tipo_sconto == 'PRC' ) ? ( $prezzo_vendita * $sconto_unitario ) / 100 : $sconto_unitario ;
$sconto = $sconto * $qta ;
//Calcolo iva
$rs_iva = $dbo -> fetchArray ( 'SELECT * FROM co_iva WHERE id=' . prepare ( $idiva ));
$desc_iva = $rs_iva [ 0 ][ 'descrizione' ];
$iva = (( $prezzo_vendita * $qta ) - $sconto ) * $rs_iva [ 0 ][ 'percentuale' ] / 100 ;
$dbo -> query ( 'UPDATE co_righe_contratti_materiali SET ' .
' descrizione=' . prepare ( $descrizione ) . ',' .
' qta=' . prepare ( $qta ) . ',' .
' um=' . prepare ( $um ) . ',' .
' prezzo_vendita=' . prepare ( $prezzo_vendita ) . ',' .
' prezzo_acquisto=' . prepare ( $prezzo_acquisto ) . ',' .
' idiva=' . prepare ( $idiva ) . ',' .
' desc_iva=' . prepare ( $desc_iva ) . ',' .
' iva=' . prepare ( $iva ) . ',' .
' sconto=' . prepare ( $sconto ) . ',' .
' sconto_unitario=' . prepare ( $sconto_unitario ) . ',' .
' tipo_sconto=' . prepare ( $tipo_sconto ) .
' WHERE id=' . prepare ( $idriga ));
break ;
case 'delriga' :
2018-05-10 19:06:20 +02:00
$idriga = post ( 'idriga' );
$dbo -> query ( 'DELETE FROM co_righe_contratti_materiali WHERE id=' . prepare ( $idriga ) . ' ' . Modules :: getAdditionalsQuery ( $id_module ));
2018-06-22 17:04:37 +02:00
break ;
2018-05-10 19:06:20 +02:00
}