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:
@@ -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') {
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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>';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user