1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-06-05 22:09:38 +02:00

Aggiunta gestione revisione preventivi

This commit is contained in:
Matteo
2018-10-17 18:28:15 +02:00
parent 34417053dd
commit 83849196da
6 changed files with 190 additions and 1 deletions

View File

@@ -43,6 +43,9 @@ switch (post('op')) {
$dbo->query('INSERT INTO co_preventivi(idanagrafica, nome, numero, idagente, idstato, idtipointervento, data_bozza, data_conclusione, idiva, idpagamento) VALUES ('.prepare($idanagrafica).', '.prepare($nome).', '.prepare($numero).', '.prepare($idagente).", (SELECT `id` FROM `co_statipreventivi` WHERE `descrizione`='Bozza'), ".prepare($idtipointervento).', NOW(), DATE_ADD(NOW(), INTERVAL +1 MONTH), '.prepare($idiva).', '.prepare($idpagamento).')');
$id_record = $dbo->lastInsertedID();
//Aggiungo master_revision e default_revision
$dbo->query('UPDATE co_preventivi SET master_revision='.prepare($id_record).', default_revision=1 WHERE id='.$id_record);
/*
// inserisco righe standard preventivo
@@ -192,7 +195,10 @@ switch (post('op')) {
// eliminazione preventivo
case 'delete':
$dbo->query('DELETE FROM co_preventivi WHERE id='.prepare($id_record));
$rs_revisioni = $dbo->fetchArray('SELECT master_revision FROM co_preventivi WHERE id='.prepare($id_record));
//Cancello preventivo e revisioni
$dbo->query('DELETE FROM co_preventivi WHERE master_revision='.prepare($rs_revisioni[0]['master_revision']));
$dbo->update('in_interventi', [
'id_preventivo' => null,
@@ -299,6 +305,78 @@ switch (post('op')) {
}
break;
case 'add_revision':
//Copio il preventivo
$rs_preventivo = $dbo->fetchArray("SELECT * FROM co_preventivi WHERE id='".$id_record."'");
//Tolgo il flag default_revision da tutte le revisioni e dal record_principale
$dbo->query("UPDATE co_preventivi SET default_revision=0 WHERE master_revision=".prepare($rs_preventivo[0]['master_revision']));
$preventivo = [
'numero' => $rs_preventivo[0]['numero'],
'nome' => $rs_preventivo[0]['nome'],
'idagente' => $rs_preventivo[0]['idagente'],
'data_bozza' => $rs_preventivo[0]['data_bozza'],
'data_accettazione' => $rs_preventivo[0]['data_accettazione'],
'data_rifiuto' => $rs_preventivo[0]['data_rifiuto'],
'data_conclusione' => $rs_preventivo[0]['data_conclusione'],
'data_pagamento' => $rs_preventivo[0]['data_pagamento'],
'budget' => $rs_preventivo[0]['budget'],
'descrizione' => $rs_preventivo[0]['descrizione'],
'idstato' => $rs_preventivo[0]['idstato'],
'validita' => $rs_preventivo[0]['validita'],
'tempi_consegna' => $rs_preventivo[0]['tempi_consegna'],
'idanagrafica' => $rs_preventivo[0]['idanagrafica'],
'esclusioni' => $rs_preventivo[0]['esclusioni'],
'idreferente' => $rs_preventivo[0]['idreferente'],
'idpagamento' => $rs_preventivo[0]['idpagamento'],
'idporto' => $rs_preventivo[0]['idporto'],
'idtipointervento' => $rs_preventivo[0]['idtipointervento'],
'idiva' => $rs_preventivo[0]['idiva'],
'costo_diritto_chiamata' => $rs_preventivo[0]['costo_diritto_chiamata'],
'ore_lavoro' => $rs_preventivo[0]['ore_lavoro'],
'costo_orario' => $rs_preventivo[0]['costo_orario'],
'costo_km' => $rs_preventivo[0]['costo_km'],
'sconto_globale' => $rs_preventivo[0]['sconto_globale'],
'tipo_sconto_globale' => $rs_preventivo[0]['tipo_sconto_globale'],
'master_revision' => $rs_preventivo[0]['master_revision'],
'default_revision' => '1',
];
$dbo->insert('co_preventivi', $preventivo);
$id_record_new = $dbo->lastInsertedID();
$rs_righe_preventivo = $dbo->fetchArray("SELECT * FROM co_righe_preventivi WHERE idpreventivo=".prepare($id_record));
for($i=0;$i<sizeof($rs_righe_preventivo);$i++){
$righe_preventivo = [
'data_evasione' => $rs_righe_preventivo[$i]['data_evasione'],
'idpreventivo' => $id_record_new,
'idarticolo' => $rs_righe_preventivo[$i]['idarticolo'],
'is_descrizione' => $rs_righe_preventivo[$i]['is_descrizione'],
'idiva' => $rs_righe_preventivo[$i]['idiva'],
'desc_iva' => $rs_righe_preventivo[$i]['desc_iva'],
'iva' => $rs_righe_preventivo[$i]['iva'],
'iva_indetraibile' => $rs_righe_preventivo[$i]['iva_indetraibile'],
'descrizione' => $rs_righe_preventivo[$i]['descrizione'],
'subtotale' => $rs_righe_preventivo[$i]['subtotale'],
'sconto' => $rs_righe_preventivo[$i]['sconto'],
'sconto_unitario' => $rs_righe_preventivo[$i]['sconto_unitario'],
'tipo_sconto' => $rs_righe_preventivo[$i]['tipo_sconto'],
'sconto_globale' => $rs_righe_preventivo[$i]['sconto_globale'],
'um' => $rs_righe_preventivo[$i]['um'],
'qta' => $rs_righe_preventivo[$i]['qta'],
'order' => $rs_righe_preventivo[$i]['order'],
];
$dbo->insert('co_righe_preventivi', $righe_preventivo);
}
$id_record = $id_record_new;
flash()->info(tr('Aggiunta nuova revisione!'));
break;
}
if (post('op') !== null && post('op') != 'update') {

View File

@@ -12,6 +12,7 @@ switch ($resource) {
}
$where[] = 'an_anagrafiche.idanagrafica='.prepare($superselect['idanagrafica']);
$where[] = 'co_preventivi.default_revision=1';
$stati = !empty($superselect['stati']) ? $superselect['stati'] : [
'In attesa di conferma',

View File

@@ -18,4 +18,14 @@ if (!in_array($record['stato'], ['Bozza', 'Rifiutato', 'In attesa di conferma'])
</ul>
</div>';
}else{
echo '
<form action="" method="post" id="form_crearevisione">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="add_revision">
<input type="hidden" name="id_record" value="'.$id_record.'">
<button type="button" class="btn btn-warning" onclick="if(confirm(\'Vuoi creare un nuova revisione?\')){$(\'#form_crearevisione\').submit();}"><i class="fa fa-copy"></i> Crea nuova revisione...</button>
</form>';
}