2017-08-04 16:28:16 +02:00
< ? php
2020-09-07 15:04:06 +02:00
/*
* OpenSTAManager : il software gestionale open source per l ' assistenza tecnica e la fatturazione
2021-01-20 15:08:51 +01:00
* Copyright ( C ) DevCode s . r . l .
2020-09-07 15:04:06 +02:00
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < https :// www . gnu . org / licenses />.
*/
2017-08-04 16:28:16 +02:00
include_once __DIR__ . '/../../core.php' ;
2022-02-05 22:05:46 +01:00
use Modules\Interventi\Intervento ;
2023-08-04 14:54:28 +02:00
use Modules\Preventivi\Preventivo ;
2019-01-01 11:39:20 +01:00
2023-12-06 16:48:54 +01:00
if ( ! function_exists ( 'get_imponibile_preventivo' )) {
2017-08-04 16:28:16 +02:00
function get_imponibile_preventivo ( $idpreventivo )
2023-12-06 16:48:54 +01:00
{
$preventivo = Preventivo :: find ( $idpreventivo );
2017-08-04 16:28:16 +02:00
2023-12-06 16:48:54 +01:00
return $preventivo -> totale_imponibile ;
}
2017-08-04 16:28:16 +02:00
}
/**
2022-02-05 16:05:59 +01:00
* Restituisce lo stato del preventivo in base alle righe .
2017-08-04 16:28:16 +02:00
*/
2023-12-06 16:48:54 +01:00
if ( ! function_exists ( 'get_stato_preventivo' )) {
function get_stato_preventivo ( $idpreventivo )
{
$dbo = database ();
$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 ));
2017-08-04 16:28:16 +02:00
2023-12-06 16:48:54 +01:00
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' ;
2017-08-04 16:28:16 +02:00
}
}
}
2022-02-05 22:05:46 +01:00
2023-12-06 16:48:54 +01:00
if ( ! function_exists ( 'get_totale_interventi_preventivo' )) {
function get_totale_interventi_preventivo ( $idpreventivo )
{
$interventi = Intervento :: where ( 'id_preventivo' , $idpreventivo ) -> get ();
$array_interventi = $interventi -> toArray ();
2022-02-05 22:05:46 +01:00
2023-12-06 16:48:54 +01:00
$totale = sum ( array_column ( $array_interventi , 'totale_imponibile' ));
2022-02-05 22:05:46 +01:00
2023-12-06 16:48:54 +01:00
return $totale ;
}
}