This commit is contained in:
Thomas Zilio 2020-01-15 11:48:45 +01:00
parent 5720c8f0a2
commit bfff48e6d0
1 changed files with 17 additions and 56 deletions

View File

@ -66,6 +66,7 @@ switch (post('op')) {
// Duplica preventivo
case 'copy':
// Copia del preventivo
$new = $preventivo->replicate();
$new->numero = Preventivo::getNextNumero();
$new->idstato = 1;
@ -76,6 +77,7 @@ switch (post('op')) {
$id_record = $new->id;
// Copia delle righe
$righe = $preventivo->getRighe();
foreach ($righe as $riga) {
$new_riga = $riga->replicate();
@ -261,69 +263,28 @@ switch (post('op')) {
break;
case 'add_revision':
//Copio il preventivo
$rs_preventivo = $dbo->fetchArray("SELECT * FROM co_preventivi WHERE id='".$id_record."'");
// Rimozione flag default_revision dal record principale e dalle revisioni
$dbo->query('UPDATE co_preventivi SET default_revision=0 WHERE master_revision = '.prepare($preventivo->master_revision));
//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']));
// Copia del preventivo
$new = $preventivo->replicate();
$new->save();
$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'],
'master_revision' => $rs_preventivo[0]['master_revision'],
'default_revision' => '1',
];
$new->default_revision = 1;
$new->save();
$dbo->insert('co_preventivi', $preventivo);
$id_record_new = $dbo->lastInsertedID();
$id_record = $new->id;
$rs_righe_preventivo = $dbo->fetchArray('SELECT * FROM co_righe_preventivi WHERE idpreventivo='.prepare($id_record));
// Copia delle righe
$righe = $preventivo->getRighe();
foreach ($righe as $riga) {
$new_riga = $riga->replicate();
$new_riga->setParent($new);
for ($i = 0; $i < sizeof($rs_righe_preventivo); ++$i) {
$righe_preventivo = [
'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'],
'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);
$new_riga->qta_evasa = 0;
$new_riga->save();
}
$id_record = $id_record_new;
flash()->info(tr('Aggiunta nuova revisione!'));
break;