Ottimizzazione codice

This commit is contained in:
Thomas Zilio 2018-07-03 18:06:36 +02:00
parent ff66ff8854
commit f6d48bb68c
2 changed files with 107 additions and 146 deletions

View File

@ -52,24 +52,10 @@ switch (post('op')) {
case 'update': case 'update':
if (!empty($id_record)) { if (!empty($id_record)) {
$numero_esterno = post('numero_esterno');
$data = post('data');
$idanagrafica = post('idanagrafica');
$note = post('note');
$note_aggiuntive = post('note_aggiuntive');
$idstatoddt = post('idstatoddt'); $idstatoddt = post('idstatoddt');
$idstatoddt = post('idstatoddt');
$idcausalet = post('idcausalet');
$idspedizione = post('idspedizione');
$idporto = post('idporto');
$idvettore = post('idvettore');
$idaspettobeni = post('idaspettobeni');
$idpagamento = post('idpagamento'); $idpagamento = post('idpagamento');
$idconto = post('idconto');
$idanagrafica = post('idanagrafica');
$idsede = post('idsede');
$totale_imponibile = get_imponibile_ddt($id_record); $totale_imponibile = get_imponibile_ddt($id_record);
$n_colli = post('n_colli');
$totale_ddt = get_totale_ddt($id_record); $totale_ddt = get_totale_ddt($id_record);
if ($dir == 'uscita') { if ($dir == 'uscita') {
@ -91,27 +77,37 @@ switch (post('op')) {
$pagamento = $rs[0]['descrizione']; $pagamento = $rs[0]['descrizione'];
// Query di aggiornamento // Query di aggiornamento
$query = 'UPDATE dt_ddt SET idstatoddt='.prepare($idstatoddt).','. $dbo->update('dt_ddt', [
' data='.prepare($data).','. 'data' => post('data'),
' idpagamento='.prepare($idpagamento).','. 'numero_esterno' => post('numero_esterno'),
' numero_esterno='.prepare($numero_esterno).','. 'note' => post('note'),
' note='.prepare($note).','. 'note_aggiuntive' => post('note_aggiuntive'),
' note_aggiuntive='.prepare($note_aggiuntive).','.
' idconto='.prepare($idconto).','. 'idstatoddt' => $idstatoddt,
' idanagrafica='.prepare($idanagrafica).','. 'idpagamento' => $idpagamento,
' idsede='.prepare($idsede).','. 'idconto' => post('idconto'),
' idcausalet='.prepare($idcausalet).','. 'idanagrafica' => post('idanagrafica'),
' idspedizione='.prepare($idspedizione).','. 'idspedizione' => post('idspedizione'),
' idporto='.prepare($idporto).','. 'idcausalet' => post('idcausalet'),
' idvettore='.prepare($idvettore).','. 'idsede' => post('idsede'),
' idaspettobeni='.prepare($idaspettobeni).','. 'idvettore' => post('idvettore'),
' idrivalsainps='.prepare($idrivalsainps).','. 'idporto' => post('idporto'),
' idritenutaacconto='.prepare($idritenutaacconto).','. 'idaspettobeni' => post('idaspettobeni'),
' tipo_sconto_globale='.prepare($tipo_sconto).','. 'idrivalsainps' => $idrivalsainps,
' sconto_globale='.prepare($sconto).','. 'idritenutaacconto' => $idritenutaacconto,
' bollo=0, rivalsainps=0, ritenutaacconto=0, n_colli='.prepare($n_colli).' WHERE id='.prepare($id_record);
'n_colli' => post('n_colli'),
'bollo' => 0,
'rivalsainps' => 0,
'ritenutaacconto' => 0,
], ['id' => $id_record]);
// Aggiornamento sconto
$dbo->update('co_documenti', [
'tipo_sconto_globale' => post('tipo_sconto_generico'),
'sconto_globale' => post('sconto_generico'),
], ['id' => $id_record]);
if ($dbo->query($query)) {
aggiorna_sconto([ aggiorna_sconto([
'parent' => 'dt_ddt', 'parent' => 'dt_ddt',
'row' => 'dt_righe_ddt', 'row' => 'dt_righe_ddt',
@ -136,7 +132,6 @@ switch (post('op')) {
$_SESSION['infos'][] = tr('Ddt modificato correttamente!'); $_SESSION['infos'][] = tr('Ddt modificato correttamente!');
} }
}
break; break;
case 'addarticolo': case 'addarticolo':

View File

@ -69,24 +69,9 @@ switch (post('op')) {
case 'update': case 'update':
if (isset($post['id_record'])) { if (isset($post['id_record'])) {
$numero_esterno = post('numero_esterno');
$data = $post['data'];
$idanagrafica = post('idanagrafica');
$idagente = post('idagente');
$note = post('note');
$note_aggiuntive = post('note_aggiuntive');
$idtipodocumento = post('idtipodocumento');
$idstatodocumento = post('idstatodocumento'); $idstatodocumento = post('idstatodocumento');
$idpagamento = post('idpagamento'); $idpagamento = post('idpagamento');
$idbanca = post('idbanca');
$idcausalet = post('idcausalet');
$idspedizione = post('idspedizione');
$idporto = post('idporto');
$idaspettobeni = post('idaspettobeni');
$idvettore = post('idvettore');
$n_colli = post('n_colli');
$idsede = post('idsede');
$idconto = post('idconto');
$totale_imponibile = get_imponibile_fattura($id_record); $totale_imponibile = get_imponibile_fattura($id_record);
$totale_fattura = get_totale_fattura($id_record); $totale_fattura = get_totale_fattura($id_record);
@ -97,7 +82,7 @@ switch (post('op')) {
} else { } else {
$idrivalsainps = 0; $idrivalsainps = 0;
$idritenutaacconto = 0; $idritenutaacconto = 0;
$numero = '(SELECT t.numero FROM (SELECT * FROM co_documenti) t WHERE t.id = '.prepare($post['id_record']).')'; $numero = '(SELECT t.numero FROM (SELECT * FROM co_documenti) t WHERE t.id = '.prepare($id_record).')';
} }
// Leggo la descrizione del pagamento // Leggo la descrizione del pagamento
@ -106,42 +91,44 @@ switch (post('op')) {
$pagamento = $rs[0]['descrizione']; $pagamento = $rs[0]['descrizione'];
// Query di aggiornamento // Query di aggiornamento
$query = 'UPDATE co_documenti SET '. $dbo->update('co_documenti', [
' data='.prepare($data).','. 'data' => post('data'),
' numero='.$numero.','. 'numero' => $numero,
' idstatodocumento='.prepare($idstatodocumento).','. 'numero_esterno' => post('numero_esterno'),
' idtipodocumento='.prepare($idtipodocumento).','. 'note' => post('note'),
' idanagrafica='.prepare($idanagrafica).','. 'note_aggiuntive' => post('note_aggiuntive'),
' idagente='.prepare($idagente).','.
' idpagamento='.prepare($idpagamento).','. 'idstatodocumento' => $idstatodocumento,
' idbanca='.prepare($idbanca).','. 'idtipodocumento' => post('idtipodocumento'),
' idcausalet='.prepare($idcausalet).','. 'idanagrafica' => post('idanagrafica'),
' idspedizione='.prepare($idspedizione).','. 'idagente' => post('idagente'),
' idporto='.prepare($idporto).','. 'idpagamento' => $idpagamento,
' idaspettobeni='.prepare($idaspettobeni).','. 'idbanca' => post('idbanca'),
' idvettore='.prepare($idvettore).','. 'idcausalet' => post('idcausalet'),
' n_colli='.prepare($n_colli).','. 'idspedizione' => post('idspedizione'),
' idsede='.prepare($idsede).','. 'idporto' => post('idporto'),
' numero_esterno='.prepare($numero_esterno).','. 'idaspettobeni' => post('idaspettobeni'),
' note='.prepare($note).','. 'idvettore' => post('idvettore'),
' note_aggiuntive='.prepare($note_aggiuntive).','. 'idsede' => post('idsede'),
' idconto='.prepare($idconto).','. 'idconto' => post('idconto'),
' idrivalsainps='.prepare($idrivalsainps).','. 'idrivalsainps' => $idrivalsainps,
' idritenutaacconto='.prepare($idritenutaacconto).','. 'idritenutaacconto' => $idritenutaacconto,
' bollo=0, rivalsainps=0, ritenutaacconto=0, iva_rivalsainps=0 '.
' WHERE id='.prepare($id_record); 'n_colli' => post('n_colli'),
'bollo' => 0,
'rivalsainps' => 0,
'ritenutaacconto' => 0,
'iva_rivalsainps' => 0,
], ['id' => $id_record]);
$dbo->query($query);
$query = 'SELECT descrizione FROM co_statidocumento WHERE id='.prepare($idstatodocumento); $query = 'SELECT descrizione FROM co_statidocumento WHERE id='.prepare($idstatodocumento);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
// Aggiornamento sconto
if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') { if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') {
$tipo_sconto = $post['tipo_sconto_generico'];
$sconto = $post['sconto_generico'];
$dbo->update('co_documenti', [ $dbo->update('co_documenti', [
'tipo_sconto_globale' => $tipo_sconto, 'tipo_sconto_globale' => post('tipo_sconto_generico'),
'sconto_globale' => $sconto, 'sconto_globale' => post('sconto_generico'),
], ['id' => $id_record]); ], ['id' => $id_record]);
aggiorna_sconto([ aggiorna_sconto([
@ -157,7 +144,7 @@ switch (post('op')) {
if ($dir == 'entrata') { if ($dir == 'entrata') {
ricalcola_costiagg_fattura($id_record); ricalcola_costiagg_fattura($id_record);
} else { } else {
ricalcola_costiagg_fattura($id_record, $idrivalsainps, $idritenutaacconto, $bollo); ricalcola_costiagg_fattura($id_record, $idrivalsainps, $idritenutaacconto, $bollo); // TODO: bollo non settato
} }
// Elimino la scadenza e tutti i movimenti, poi se la fattura è emessa le ricalcolo // Elimino la scadenza e tutti i movimenti, poi se la fattura è emessa le ricalcolo
@ -394,48 +381,27 @@ switch (post('op')) {
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$ritenutaacconto = $rst[$i]['tot_prezzo_dirittochiamata'] / 100 * $rs[0]['percentuale']; $ritenutaacconto = $rst[$i]['tot_prezzo_dirittochiamata'] / 100 * $rs[0]['percentuale'];
$query = 'INSERT INTO co_righe_documenti( $dbo->insert('co_righe_documenti', [
iddocumento, 'iddocumento' => $id_record,
idintervento, 'idintervento' => $idintervento,
idconto, 'idconto' => $idconto,
idiva, 'idiva' => $idiva,
desc_iva, 'desc_iva' => $desc_iva,
iva, 'iva' => $iva,
iva_indetraibile, 'iva_indetraibile' => $iva_indetraibile,
descrizione, 'descrizione' => 'Diritto di chiamata',
subtotale, 'subtotale' => $rst[$i]['tot_prezzo_dirittochiamata'],
sconto, 'sconto' => 0,
sconto_unitario, 'sconto_unitario' => 0,
tipo_sconto, 'tipo_sconto' => 'UNT',
um, 'um' => '-',
qta, 'qta' => $rst[$i]['qta'],
idrivalsainps, 'idrivalsainps' => get_var('Percentuale rivalsa INPS'),
rivalsainps, 'rivalsainps' => $rivalsainps,
idritenutaacconto, 'idritenutaacconto' => get_var("Percentuale ritenuta d'acconto"),
ritenutaacconto, 'ritenutaacconto' => $ritenutaacconto,
`order`) '#order' => '(SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).')',
VALUES( ]);
'.prepare($id_record).',
'.prepare($idintervento).',
'.prepare($idconto).',
'.prepare($idiva).',
'.prepare($desc_iva).',
'.prepare($iva).',
'.prepare($iva_indetraibile).',
"Diritto di chiamata",
'.prepare($rst[$i]['tot_prezzo_dirittochiamata']).',
0,
0,
"UNT",
"-",
'.$rst[$i]['qta'].',
'.prepare(get_var('Percentuale rivalsa INPS')).',
'.prepare($rivalsainps).',
'.prepare(get_var("Percentuale ritenuta d'acconto")).',
'.prepare($ritenutaacconto).',
(SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).')
)';
$dbo->query($query);
} }
// Collego in fattura eventuali articoli collegati all'intervento // Collego in fattura eventuali articoli collegati all'intervento