2017-08-04 16:28:16 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
2019-01-01 11:39:20 +01:00
use Modules\Preventivi\Preventivo ;
2017-08-04 16:28:16 +02:00
/**
* Questa funzione rimuove un articolo dal ddt data e lo riporta in magazzino
* $idarticolo integer codice dell 'articolo da scollegare dall' ordine
* $idordine integer codice dell 'ordine da cui scollegare l' articolo .
*/
function rimuovi_articolo_dapreventivo ( $idarticolo , $idpreventivo , $idriga )
{
global $dir ;
2018-09-20 12:05:22 +02:00
$dbo = database ();
2018-06-22 17:04:37 +02:00
// Leggo la quantità di questo articolo nell'ordine
2017-08-04 16:28:16 +02:00
$query = 'SELECT qta, subtotale FROM co_righe_preventivi WHERE id=' . prepare ( $idriga );
$rs = $dbo -> fetchArray ( $query );
$qta = floatval ( $rs [ 0 ][ 'qta' ]);
$subtotale = $rs [ 0 ][ 'subtotale' ];
2018-06-22 17:04:37 +02:00
// Elimino la riga dall'ordine
2017-08-04 16:28:16 +02:00
$dbo -> query ( 'DELETE FROM co_righe_preventivi WHERE id=' . prepare ( $idriga ));
}
function get_imponibile_preventivo ( $idpreventivo )
{
2019-01-01 11:39:20 +01:00
$preventivo = Preventivo :: find ( $idpreventivo );
2017-08-04 16:28:16 +02:00
2019-01-01 11:39:20 +01:00
return $preventivo -> imponibile ;
2017-08-04 16:28:16 +02:00
}
/**
* Restituisce lo stato dell ' ordine in base alle righe .
*/
function get_stato_preventivo ( $idpreventivo )
{
2018-09-20 12:05:22 +02:00
$dbo = database ();
2017-08-04 16:28:16 +02:00
$rs = $dbo -> fetchArray ( 'SELECT SUM(qta) AS qta, SUM(qta_evasa) AS qta_evasa FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo=' . prepare ( $idpreventivo ));
if ( $rs [ 0 ][ 'qta_evasa' ] > 0 ) {
if ( $rs [ 0 ][ 'qta' ] > $rs [ 0 ][ 'qta_evasa' ]) {
return 'Parzialmente evaso' ;
} elseif ( $rs [ 0 ][ 'qta' ] == $rs [ 0 ][ 'qta_evasa' ]) {
return 'Evaso' ;
}
} else {
return 'Non evaso' ;
}
}
/**
* Aggiorna il budget del preventivo leggendo tutte le righe inserite .
2018-02-18 19:53:23 +01:00
*
2017-08-31 12:52:15 +02:00
* @ deprecated 2.3
2017-08-04 16:28:16 +02:00
*/
function update_budget_preventivo ( $idpreventivo )
{
2018-09-20 12:05:22 +02:00
$dbo = database ();
2017-08-04 16:28:16 +02:00
2018-06-22 17:04:37 +02:00
// Totale articoli
2017-08-04 16:28:16 +02:00
$rs = $dbo -> fetchArray ( 'SELECT SUM(subtotale) AS totale FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo=' . prepare ( $idpreventivo ));
$totale_articoli = $rs [ 0 ][ 'totale' ];
$rs = $dbo -> fetchArray ( 'SELECT SUM(sconto*qta) AS totale FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo=' . prepare ( $idpreventivo ));
$totale_sconto = $rs [ 0 ][ 'totale' ];
$rs = $dbo -> fetchArray ( 'SELECT SUM(iva) AS totale FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo=' . prepare ( $idpreventivo ));
$totale_iva = $rs [ 0 ][ 'totale' ];
2018-06-22 17:04:37 +02:00
// Totale costo ore, km e diritto di chiamata
// $rs = $dbo->fetchArray("SELECT SUM(costo_orario*ore_lavoro + costo_diritto_chiamata) AS totale FROM co_preventivi GROUP BY id HAVING id=\"".$idpreventivo."\"");
// $totale_lavoro = $rs[0]['totale'];
2017-08-04 16:28:16 +02:00
2018-06-22 17:04:37 +02:00
// Aggiorno il budget su co_preventivi
2017-08-04 16:28:16 +02:00
$dbo -> query ( 'UPDATE co_preventivi SET budget=' . prepare (( $totale_articoli - $totale_sconto ) + $totale_iva ) . ' WHERE id=' . prepare ( $idpreventivo ));
}