Skip to content

Commit 3580daf

Browse files
fix: invio sollecito scadenze selezionate
1 parent 4a5c98f commit 3580daf

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

modules/scadenzario/bulk.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@
8181
$id_records_inviati = [];
8282
$anagrafiche = [];
8383
$id_anagrafica = 0;
84+
85+
// Salvo le scadenze selezionate in sessione
86+
$_SESSION['scadenzario_selected_ids'] = $id_records;
8487

8588
$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');
8689
foreach ($scadenze as $key => $scadenza) {
@@ -167,6 +170,9 @@
167170
}
168171
}
169172

173+
// Rimuovo la sessione
174+
unset($_SESSION['scadenzario_selected_ids']);
175+
170176
if ($list) {
171177
flash()->info(tr('Mail inviata per le Fatture _LIST_ !', [
172178
'_LIST_' => implode(',', $list),

modules/scadenzario/variables.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@
2020

2121
$giorni_promemoria = setting('Intervallo di giorni in anticipo per invio promemoria scadenza');
2222

23+
// Filtro per scadenze selezionate (se presente in sessione)
24+
$filtro_scadenze_selezionate = '';
25+
if (!empty($_SESSION['scadenzario_selected_ids'])) {
26+
$ids_selezionati = implode(',', array_map('intval', $_SESSION['scadenzario_selected_ids']));
27+
$filtro_scadenze_selezionate = ' AND `co_scadenziario`.`id` IN ('.$ids_selezionati.')';
28+
}
29+
2330
$r = $dbo->fetchOne('SELECT
2431
`co_scadenziario`.*,
2532
`co_documenti`.*,
@@ -29,8 +36,8 @@
2936
`an_referenti`.`nome`,
3037
`co_scadenziario`.`da_pagare` - `co_scadenziario`.`pagato` AS totale,
3138
`title` AS pagamento,
32-
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare` - `pagato`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) < NOW() AND `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica` ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_scadute,
33-
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica` AND IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL '.prepare($giorni_promemoria).' DAY),"%Y-%m-%d") ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_promemoria
39+
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare` - `pagato`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) < NOW() AND `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica`'.$filtro_scadenze_selezionate.' ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_scadute,
40+
(SELECT GROUP_CONCAT(CONCAT("<li>",DATE_FORMAT(IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`),"%d/%m/%Y")," - ",FORMAT(`da_pagare`,2),"€ - ",`descrizione`,"</li>") SEPARATOR "<br>") FROM `co_scadenziario` LEFT JOIN (SELECT `id`, `ref_documento` FROM `co_documenti`)as nota ON `co_scadenziario`.`iddocumento` = `nota`.`ref_documento` WHERE `iddocumento`!=0 AND `nota`.`id` IS NULL AND `da_pagare`>`pagato` AND `idanagrafica`=`co_documenti`.`idanagrafica`'.$filtro_scadenze_selezionate.' AND IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`) = DATE_FORMAT(DATE_ADD(NOW(), INTERVAL '.prepare($giorni_promemoria).' DAY),"%Y-%m-%d") ORDER BY IF(`co_scadenziario`.`data_concordata`, `co_scadenziario`.`data_concordata`, `co_scadenziario`.`scadenza`)) AS scadenze_fatture_promemoria
3441
FROM `co_scadenziario`
3542
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_scadenziario`.`iddocumento`
3643
LEFT JOIN `co_pagamenti` ON `co_pagamenti`.`id` = `co_documenti`.`idpagamento`

0 commit comments

Comments
 (0)