2019-03-29 12:46:17 +01: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 />.
*/
2019-03-29 12:46:17 +01:00
use Modules\Interventi\Intervento ;
include_once __DIR__ . '/../../core.php' ;
$documento = Intervento :: find ( $id_record );
2020-04-20 18:33:43 +02:00
$show_prezzi = Auth :: user ()[ 'gruppo' ] != 'Tecnici' || ( Auth :: user ()[ 'gruppo' ] == 'Tecnici' && setting ( 'Mostra i prezzi al tecnico' ));
2019-03-29 12:46:17 +01:00
// Impostazioni per la gestione
$options = [
'op' => 'manage_riga' ,
'action' => 'add' ,
'dir' => $documento -> direzione ,
'idanagrafica' => $documento [ 'idanagrafica' ],
2020-09-29 15:27:00 +02:00
'totale_imponibile_documento' => $documento -> totale_imponibile ,
'totale_documento' => $documento -> totale ,
2020-04-20 18:33:43 +02:00
'nascondi_prezzi' => ! $show_prezzi ,
2021-06-16 18:54:09 +02:00
'idsede_partenza' => $documento -> idsede_partenza ,
2020-08-17 16:25:01 +02:00
'select-options' => [
'articoli' => [
'idanagrafica' => $documento -> idanagrafica ,
'dir' => $documento -> direzione ,
'idsede_partenza' => $documento -> idsede_partenza ,
'idsede_destinazione' => $documento -> idsede_destinazione ,
2020-08-18 09:53:58 +02:00
'permetti_movimento_a_zero' => 0 ,
2022-05-19 17:42:41 +02:00
'idagente' => $documento -> idagente ,
2020-08-17 16:25:01 +02:00
],
'impianti' => [
'idintervento' => $documento -> id ,
],
],
2019-03-29 12:46:17 +01:00
];
// Dati di default
$result = [
'descrizione' => '' ,
'qta' => 1 ,
'um' => '' ,
'prezzo' => 0 ,
'sconto_unitario' => 0 ,
'tipo_sconto' => '' ,
'idiva' => '' ,
'idconto' => $idconto ,
'ritenuta_contributi' => true ,
2022-05-19 17:42:41 +02:00
'provvigione_default' => 0 ,
'tipo_provvigione_default' => 'PRC' ,
2019-03-29 12:46:17 +01:00
];
2022-05-19 17:42:41 +02:00
// Leggo la provvigione predefinita per l'anagrafica
$result [ 'provvigione_default' ] = $dbo -> fetchOne ( 'SELECT provvigione_default FROM an_anagrafiche WHERE idanagrafica=' . prepare ( $documento -> idagente ))[ 'provvigione_default' ];
2019-03-29 12:46:17 +01:00
// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica
$iva = $dbo -> fetchArray ( 'SELECT idiva_vendite AS idiva FROM an_anagrafiche WHERE idanagrafica=' . prepare ( $documento [ 'idanagrafica' ]));
$result [ 'idiva' ] = $iva [ 0 ][ 'idiva' ] ? : setting ( 'Iva predefinita' );
// Importazione della gestione dedicata
$file = 'riga' ;
if ( get ( 'is_descrizione' ) !== null ) {
$file = 'descrizione' ;
$options [ 'op' ] = 'manage_descrizione' ;
} elseif ( get ( 'is_articolo' ) !== null ) {
$file = 'articolo' ;
2019-07-11 17:20:58 +02:00
// Aggiunta sconto di default da listino per le vendite
2022-11-15 17:38:42 +01:00
$listino = $dbo -> fetchOne ( 'SELECT prc_guadagno FROM an_anagrafiche INNER JOIN mg_piani_sconto ON an_anagrafiche.id_piano_sconto_vendite=mg_piani_sconto.id WHERE idanagrafica=' . prepare ( $documento [ 'idanagrafica' ]));
2019-07-11 17:20:58 +02:00
if ( ! empty ( $listino [ 'prc_guadagno' ])) {
2020-02-15 14:11:44 +01:00
$result [ 'sconto_percentuale' ] = $listino [ 'prc_guadagno' ];
2019-07-11 17:20:58 +02:00
$result [ 'tipo_sconto' ] = 'PRC' ;
}
2019-03-29 12:46:17 +01:00
$options [ 'op' ] = 'manage_articolo' ;
} elseif ( get ( 'is_sconto' ) !== null ) {
$file = 'sconto' ;
$options [ 'op' ] = 'manage_sconto' ;
2020-07-20 14:40:11 +02:00
} elseif ( get ( 'is_barcode' ) !== null ) {
$file = 'barcode' ;
$options [ 'op' ] = 'manage_barcode' ;
2019-03-29 12:46:17 +01:00
}
echo App :: load ( $file . '.php' , $result , $options );