Funzione creazione contratto da preventivo
This commit is contained in:
parent
62780f9495
commit
95c4d4d98f
|
@ -383,5 +383,54 @@ $riga = $contratto->getRiga($type, $id_riga);
|
|||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'add_preventivo':
|
||||
|
||||
$preventivo = \Modules\Preventivi\Preventivo::find(post('id_documento'));
|
||||
|
||||
// Creazione del contratto al volo
|
||||
if (post('create_document') == 'on') {
|
||||
|
||||
$contratto = Contratto::build($preventivo->anagrafica, $preventivo->nome);
|
||||
|
||||
$contratto->idpagamento = $preventivo->idpagamento;
|
||||
$contratto->idsede = $preventivo->idsede;
|
||||
|
||||
$contratto->id_documento_fe = $preventivo->id_documento_fe;
|
||||
$contratto->codice_cup = $preventivo->codice_cup;
|
||||
$contratto->codice_cig = $preventivo->codice_cig;
|
||||
$contratto->num_item = $preventivo->num_item;
|
||||
|
||||
$contratto->descrizione = $preventivo->descrizione;
|
||||
$contratto->esclusioni = $preventivo->esclusioni;
|
||||
|
||||
$contratto->save();
|
||||
|
||||
$id_record = $contratto->id;
|
||||
}
|
||||
|
||||
$parziale = false;
|
||||
$righe = $preventivo->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) {
|
||||
$qta = post('qta_da_evadere')[$riga->id];
|
||||
|
||||
$copia = $riga->copiaIn($contratto, $qta);
|
||||
|
||||
$copia->save();
|
||||
}
|
||||
|
||||
if ($riga->qta != $riga->qta_evasa) {
|
||||
$parziale = true;
|
||||
}
|
||||
}
|
||||
|
||||
ricalcola_costiagg_ordine($id_record);
|
||||
|
||||
flash()->info(tr('Preventivo _NUM_ aggiunto!', [
|
||||
'_NUM_' => $preventivo->numero,
|
||||
]));
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\Preventivi\Preventivo;
|
||||
|
||||
$documento_finale = Contratto::find($id_record);
|
||||
|
||||
$id_documento = get('id_documento');
|
||||
if (!empty($id_documento)) {
|
||||
$documento = Preventivo::find($id_documento);
|
||||
|
||||
$options = [
|
||||
'op' => 'add_preventivo',
|
||||
'type' => 'preventivo',
|
||||
'button' => tr('Aggiungi'),
|
||||
'documento' => $documento,
|
||||
'documento_finale' => $documento_finale,
|
||||
];
|
||||
|
||||
echo App::load('importa.php', [], $options, true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$id_anagrafica = $documento_finale->idanagrafica;
|
||||
|
||||
$_SESSION['superselect']['idanagrafica'] = $id_anagrafica;
|
||||
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "select", "label": "'.tr('Preventivo').'", "name": "id_documento", "ajax-source": "preventivi" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="righe_documento">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info" id="box-loading">
|
||||
<i class="fa fa-spinner fa-spin"></i> '.tr('Caricamento in corso').'...
|
||||
</div>';
|
||||
|
||||
$file = basename(__FILE__);
|
||||
echo '
|
||||
<script>$(document).ready(init)</script>
|
||||
|
||||
<script>
|
||||
var content = $("#righe_documento");
|
||||
var loader = $("#box-loading");
|
||||
|
||||
$(document).ready(function(){
|
||||
loader.hide();
|
||||
});
|
||||
|
||||
$("#id_documento").on("change", function(){
|
||||
loader.show();
|
||||
|
||||
var id = $(this).selectData() ? $(this).selectData().id : "";
|
||||
|
||||
content.html("");
|
||||
content.load("'.$structure->fileurl($file).'?id_module='.$id_module.'&id_record='.$id_record.'&id_documento=" + id, function() {
|
||||
loader.hide();
|
||||
});
|
||||
});
|
||||
</script>';
|
|
@ -34,6 +34,12 @@ echo '
|
|||
<i class="fa fa-file"></i> '.tr('Fattura').'
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="'.($disabled ? '' : 'disabled').'" data-href="'.$structure->fileurl('crea_documento.php').'?id_module='.$id_module.'&id_record='.$id_record.'&documento=contratto" data-toggle="modal" data-title="'.tr('Crea contratto').'">
|
||||
<i class="fa fa-file-o"></i> '.tr('Contratto').'
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>';
|
||||
|
||||
|
|
|
@ -9,9 +9,12 @@ $documento = Preventivo::find($id_record);
|
|||
if (get('documento') == 'fattura') {
|
||||
$final_module = 'Fatture di vendita';
|
||||
$op = 'add_documento';
|
||||
} else {
|
||||
} elseif (get('documento') == 'ordine') {
|
||||
$final_module = 'Ordini cliente';
|
||||
$op = 'add_preventivo';
|
||||
} else {
|
||||
$final_module = 'Contratti';
|
||||
$op = 'add_preventivo';
|
||||
}
|
||||
|
||||
$options = [
|
||||
|
|
|
@ -5,4 +5,7 @@ UPDATE `zz_views` SET `search` = 1 WHERE `zz_views`.`name` IN ('Categoria', 'Nom
|
|||
-- Aggiunta rivalsa inps e relativa iva per il calcolo del totale ivato del documento
|
||||
UPDATE `zz_views` SET `query` = 'righe.totale + `co_documenti`.`rivalsainps` + `co_documenti`.`iva_rivalsainps`' WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita') AND `name` = 'Totale ivato';
|
||||
|
||||
UPDATE `zz_views` SET `query` = 'righe.totale + `co_documenti`.`rivalsainps` + `co_documenti`.`iva_rivalsainps`' WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto') AND `name` = 'Totale ivato';
|
||||
UPDATE `zz_views` SET `query` = 'righe.totale + `co_documenti`.`rivalsainps` + `co_documenti`.`iva_rivalsainps`' WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto') AND `name` = 'Totale ivato';
|
||||
|
||||
-- Aggiunta campi righe contratti --
|
||||
ALTER TABLE `co_righe_contratti` ADD `original_id` INT(11) NULL DEFAULT NULL AFTER `abilita_serial` , ADD `original_type` VARCHAR(255) NULL DEFAULT NULL AFTER `original_id`;
|
Loading…
Reference in New Issue