This commit is contained in:
Thomas Zilio 2020-08-10 10:20:22 +02:00
parent 29481f2776
commit a309a24e8a
4 changed files with 31 additions and 21 deletions

View File

@ -38,8 +38,6 @@ class Movimenti
$data = $this->fattura->data_competenza;
$mastrino = Mastrino::build($descrizione, $data, false, false);
$mastrino->iddocumento = $this->fattura->id;
$this->mastrino = $mastrino;
return $this->mastrino;
@ -194,7 +192,7 @@ class Movimenti
// Registrazione dei singoli Movimenti nel relativo Mastrino
$mastrino = $this->generateMastrino();
foreach ($movimenti as $element) {
$movimento = Movimento::build($mastrino, $element['id_conto']);
$movimento = Movimento::build($mastrino, $element['id_conto'], $this->fattura);
$movimento->setTotale($element['avere'] ?: 0, $element['dare'] ?: 0);
$movimento->save();
}

View File

@ -2,6 +2,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Fatture\Fattura;
use Modules\PrimaNota\Mastrino;
use Modules\PrimaNota\Movimento;
use Modules\Scadenzario\Scadenza;
@ -17,12 +18,14 @@ switch (post('op')) {
$conti = post('idconto');
foreach ($conti as $i => $id_conto) {
$id_scadenza = post('id_scadenza')[$i];
$id_documento = post('id_documento')[$i];
$dare = post('dare')[$i];
$avere = post('avere')[$i];
$scadenza = Scadenza::find($id_scadenza);
$fattura = Fattura::find($id_documento);
$movimento = Movimento::build($mastrino, $id_conto, $scadenza);
$movimento = Movimento::build($mastrino, $id_conto, $fattura, $scadenza);
$movimento->setTotale($avere, $dare);
$movimento->save();
}
@ -63,12 +66,14 @@ switch (post('op')) {
$conti = post('idconto');
foreach ($conti as $i => $id_conto) {
$id_scadenza = post('id_scadenza')[$i];
$id_documento = post('id_documento')[$i];
$dare = post('dare')[$i];
$avere = post('avere')[$i];
$scadenza = Scadenza::find($id_scadenza);
$fattura = Fattura::find($id_documento);
$movimento = Movimento::build($mastrino, $id_conto, $scadenza);
$movimento = Movimento::build($mastrino, $id_conto, $fattura, $scadenza);
$movimento->setTotale($avere, $dare);
$movimento->save();
}

View File

@ -9,6 +9,7 @@ function renderRiga($id, $riga)
// Conto
echo '
<tr>
<input type="hidden" name="id_documento['.$id.']" value="'.$riga['iddocumento'].'">
<input type="hidden" name="id_scadenza['.$id.']" value="'.$riga['id_scadenza'].'">
<td>
@ -29,12 +30,16 @@ function renderRiga($id, $riga)
</tr>';
}
function renderTabella($nome, $righe, $id_scadenza_default = null)
function renderTabella($nome, $righe)
{
global $counter;
$prima_riga = $righe->first();
$id_documento = $prima_riga ? $prima_riga['iddocumento'] : null;
$id_scadenza = $prima_riga ? $prima_riga['id_scadenza'] : null;
echo '
<div class="raggruppamento_primanota" data-id_scadenza="'.$id_scadenza_default.'">
<div class="raggruppamento_primanota" data-id_scadenza="'.$id_scadenza.'" data-id_documento="'.$id_documento.'">
<button class="btn btn-info btn-xs pull-right" type="button" onclick="addRiga(this)">
<i class="fa fa-plus"></i> '.tr('Aggiungi riga').'
</button>
@ -105,7 +110,7 @@ foreach ($scadenze as $id_documento => $righe) {
'_NUM_' => $documento['numero_esterno'] ?: $documento['numero'],
]);
renderTabella($nome, $righe, $righe->first()['id_scadenza']);
renderTabella($nome, $righe);
}
// Elenco per scadenze
@ -118,7 +123,7 @@ foreach ($scadenze as $id_scadenza => $righe) {
'_ID_' => $id_scadenza,
]);
renderTabella($nome, $righe, $righe->first()['id_scadenza']);
renderTabella($nome, $righe);
}
// Elenco generale
@ -139,6 +144,7 @@ echo '
<tbody id="template">';
renderRiga('-id-', [
'iddocumento' => '-id_documento-',
'id_scadenza' => '-id_scadenza-',
]);
@ -157,7 +163,8 @@ function addRiga(btn) {
var tabella = raggruppamento.find("tbody");
var content = $("#template").html();
content = content.replace("-id_scadenza-", raggruppamento.data("id_scadenza"));
content = content.replace("-id_scadenza-", raggruppamento.data("id_scadenza"))
.replace("-id_documento-", raggruppamento.data("id_documento"));
var text = replaceAll(content, "-id-", "" + n);
tabella.append(text);

View File

@ -16,30 +16,30 @@ class Movimento extends Model
'dare',
];
public static function build(Mastrino $mastrino, $id_conto, Scadenza $scadenza = null)
public static function build(Mastrino $mastrino, $id_conto, Fattura $documento = null, Scadenza $scadenza = null)
{
$model = parent::build();
// Informazioni dipendenti dal mastrino
$model->idmastrino = $mastrino->idmastrino;
$model->data = $mastrino->data;
$model->descrizione = $mastrino->descrizione;
$model->primanota = $mastrino->primanota;
$model->is_insoluto = $mastrino->is_insoluto;
// Associazione al documento del mastrino
if (!empty($mastrino->iddocumento)) {
$model->iddocumento = $mastrino->iddocumento;
// Conto associato
$model->idconto = $id_conto;
// Associazione al documento indicato
$documento_scadenza = $scadenza ? $scadenza->documento : null;
$documento = $documento ?: $documento_scadenza;
if (!empty($documento)) {
$model->idanagrafica = $documento->idanagrafica;
$model->iddocumento = $documento->id;
}
// Associazione alla scadenza indicata
$model->id_scadenza = $scadenza ? $scadenza->id : null;
$documento = $scadenza ? $scadenza->documento : null;
if (!empty($documento)) {
$model->iddocumento = $documento->id;
$model->idanagrafica = $documento->idanagrafica;
}
$model->idconto = $id_conto;
$model->save();