Skip to content

Commit da6b2c5

Browse files
committed
fix: aggiornamento scadenze
1 parent 2debf03 commit da6b2c5

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

modules/primanota/src/Mastrino.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public function aggiornaScadenzario($movimenti = null)
122122

123123
// Aggiornamento delle scadenze per i singoli documenti
124124
$documenti = $this->getUniqueDocumenti($movimenti);
125-
$scadenze = $this->getScadenzePerDocumenti($movimenti, $documenti);
125+
$scadenze = $this->getScadenzePerDocumenti($documenti);
126126

127127
foreach ($movimenti as $movimento) {
128128
$this->correggiScadenza($movimento, $scadenze[$movimento->iddocumento], $movimento->iddocumento);
@@ -198,12 +198,12 @@ protected function correggiScadenza(Movimento $movimento, $scadenze = null, $id_
198198
}
199199

200200
foreach ($scadenze as $scadenza) {
201-
$totale_da_distribuire = ($movimento['totale'] != 0 ? Movimento::where('id_scadenza', '=', $scadenza)
201+
$totale_movimenti += Movimento::where('id_scadenza', '=', $scadenza)
202202
->where('totale', '>', 0)
203-
->sum('totale') : 0);
203+
->sum('totale');
204204
}
205205

206-
$totale_da_distribuire = abs($totale_da_distribuire);
206+
$totale_da_distribuire = abs($totale_movimenti);
207207

208208
// Ciclo tra le rate dei pagamenti per inserire su `pagato` l'importo effettivamente pagato
209209
// Nel caso il pagamento superi la rata, devo distribuirlo sulle rate successive
@@ -256,14 +256,15 @@ private function getUniqueDocumenti($movimenti)
256256
return $documentIds;
257257
}
258258

259-
private function getScadenzePerDocumenti($movimenti, $documenti)
259+
private function getScadenzePerDocumenti($documenti)
260260
{
261261
$scadenze = [];
262-
foreach ($movimenti as $movimento) {
263-
if (in_array($movimento->iddocumento, $documenti)) {
264-
if (!in_array($movimento->id_scadenza, $scadenze[$movimento->iddocumento] ?? [])) {
265-
$scadenze[$movimento->iddocumento][] = $movimento->id_scadenza;
266-
}
262+
foreach ($documenti as $documento) {
263+
$scadenze[$documento] = [];
264+
$scadenze_documento = database()->fetchArray('SELECT id FROM co_scadenziario WHERE iddocumento='.prepare($documento));
265+
foreach ($scadenze_documento as $scadenza_row) {
266+
$id_scadenza = $scadenza_row['id'];
267+
$scadenze[$documento][$id_scadenza] = $id_scadenza;
267268
}
268269
}
269270

0 commit comments

Comments
 (0)