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':
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');
$idcausalet = post('idcausalet');
$idspedizione = post('idspedizione');
$idporto = post('idporto');
$idvettore = post('idvettore');
$idaspettobeni = post('idaspettobeni');
$idpagamento = post('idpagamento');
$idconto = post('idconto');
$idanagrafica = post('idanagrafica');
$idsede = post('idsede');
$totale_imponibile = get_imponibile_ddt($id_record);
$n_colli = post('n_colli');
$totale_ddt = get_totale_ddt($id_record);
if ($dir == 'uscita') {
@ -91,51 +77,60 @@ switch (post('op')) {
$pagamento = $rs[0]['descrizione'];
// Query di aggiornamento
$query = 'UPDATE dt_ddt SET idstatoddt='.prepare($idstatoddt).','.
' data='.prepare($data).','.
' idpagamento='.prepare($idpagamento).','.
' numero_esterno='.prepare($numero_esterno).','.
' note='.prepare($note).','.
' note_aggiuntive='.prepare($note_aggiuntive).','.
' idconto='.prepare($idconto).','.
' idanagrafica='.prepare($idanagrafica).','.
' idsede='.prepare($idsede).','.
' idcausalet='.prepare($idcausalet).','.
' idspedizione='.prepare($idspedizione).','.
' idporto='.prepare($idporto).','.
' idvettore='.prepare($idvettore).','.
' idaspettobeni='.prepare($idaspettobeni).','.
' idrivalsainps='.prepare($idrivalsainps).','.
' idritenutaacconto='.prepare($idritenutaacconto).','.
' tipo_sconto_globale='.prepare($tipo_sconto).','.
' sconto_globale='.prepare($sconto).','.
' bollo=0, rivalsainps=0, ritenutaacconto=0, n_colli='.prepare($n_colli).' WHERE id='.prepare($id_record);
$dbo->update('dt_ddt', [
'data' => post('data'),
'numero_esterno' => post('numero_esterno'),
'note' => post('note'),
'note_aggiuntive' => post('note_aggiuntive'),
if ($dbo->query($query)) {
aggiorna_sconto([
'parent' => 'dt_ddt',
'row' => 'dt_righe_ddt',
], [
'parent' => 'id',
'row' => 'idddt',
], $id_record);
'idstatoddt' => $idstatoddt,
'idpagamento' => $idpagamento,
'idconto' => post('idconto'),
'idanagrafica' => post('idanagrafica'),
'idspedizione' => post('idspedizione'),
'idcausalet' => post('idcausalet'),
'idsede' => post('idsede'),
'idvettore' => post('idvettore'),
'idporto' => post('idporto'),
'idaspettobeni' => post('idaspettobeni'),
'idrivalsainps' => $idrivalsainps,
'idritenutaacconto' => $idritenutaacconto,
$query = 'SELECT descrizione FROM dt_statiddt WHERE id='.prepare($idstatoddt);
$rs = $dbo->fetchArray($query);
'n_colli' => post('n_colli'),
'bollo' => 0,
'rivalsainps' => 0,
'ritenutaacconto' => 0,
], ['id' => $id_record]);
// Ricalcolo inps, ritenuta e bollo (se l'ddt non è stato evaso)
if ($dir == 'entrata') {
if ($rs[0]['descrizione'] != 'Pagato') {
ricalcola_costiagg_ddt($id_record);
}
} else {
if ($rs[0]['descrizione'] != 'Pagato') {
ricalcola_costiagg_ddt($id_record, $idrivalsainps, $idritenutaacconto, $bollo);
}
// Aggiornamento sconto
$dbo->update('co_documenti', [
'tipo_sconto_globale' => post('tipo_sconto_generico'),
'sconto_globale' => post('sconto_generico'),
], ['id' => $id_record]);
aggiorna_sconto([
'parent' => 'dt_ddt',
'row' => 'dt_righe_ddt',
], [
'parent' => 'id',
'row' => 'idddt',
], $id_record);
$query = 'SELECT descrizione FROM dt_statiddt WHERE id='.prepare($idstatoddt);
$rs = $dbo->fetchArray($query);
// Ricalcolo inps, ritenuta e bollo (se l'ddt non è stato evaso)
if ($dir == 'entrata') {
if ($rs[0]['descrizione'] != 'Pagato') {
ricalcola_costiagg_ddt($id_record);
}
} else {
if ($rs[0]['descrizione'] != 'Pagato') {
ricalcola_costiagg_ddt($id_record, $idrivalsainps, $idritenutaacconto, $bollo);
}
$_SESSION['infos'][] = tr('Ddt modificato correttamente!');
}
$_SESSION['infos'][] = tr('Ddt modificato correttamente!');
}
break;
@ -544,7 +539,7 @@ switch (post('op')) {
if (!empty($idarticolo)) {
$idiva_acquisto = $idiva;
$prezzo_acquisto = $subtot;
$riga = add_articolo_inddt($id_record, $idarticolo, $descrizione, $idiva, $qta, $um, $prezzo_acquisto, $sconto, $sconto_unitario, $tipo_sconto);
$riga = add_articolo_inddt($id_record, $idarticolo, $descrizione, $idiva, $qta, $um, $prezzo_acquisto, $sconto, $sconto_unitario, $tipo_sconto);
// Lettura lotto, serial, altro dalla riga dell'ordine
$dbo->query('INSERT INTO mg_prodotti (id_riga_documento, id_articolo, dir, serial, lotto, altro) SELECT '.prepare($riga).', '.prepare($idarticolo).', '.prepare($dir).', serial, lotto, altro FROM mg_prodotti AS t WHERE id_riga_ordine='.prepare($idrigaordine));

View File

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