2019-02-21 12:24:57 +01:00
|
|
|
<?php
|
2020-09-07 15:04:06 +02:00
|
|
|
/*
|
|
|
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
2021-01-20 15:08:51 +01:00
|
|
|
* Copyright (C) DevCode s.r.l.
|
2020-09-07 15:04:06 +02:00
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
2019-02-21 12:24:57 +01:00
|
|
|
|
2024-07-02 12:18:17 +02:00
|
|
|
$giorni_promemoria = setting('Intervallo di giorni in anticipo per invio promemoria scadenza');
|
|
|
|
|
|
|
|
$r = $dbo->fetchOne('SELECT
|
|
|
|
`co_scadenziario`.*,
|
2024-05-06 11:25:41 +02:00
|
|
|
`co_documenti`.*,
|
|
|
|
`an_anagrafiche`.`email`,
|
|
|
|
`an_anagrafiche`.`pec`,
|
|
|
|
`an_anagrafiche`.`ragione_sociale`,
|
|
|
|
`an_referenti`.`nome`,
|
|
|
|
`co_scadenziario`.`da_pagare` - `co_scadenziario`.`pagato` AS totale,
|
|
|
|
`title` AS pagamento,
|
2024-07-02 12:18:17 +02:00
|
|
|
(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 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,
|
|
|
|
(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
|
2024-05-06 11:25:41 +02:00
|
|
|
FROM `co_scadenziario`
|
|
|
|
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_scadenziario`.`iddocumento`
|
|
|
|
LEFT JOIN `co_pagamenti` ON `co_pagamenti`.`id` = `co_documenti`.`idpagamento`
|
|
|
|
LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti_lang`.`id_record` = `co_pagamenti`.`id` AND `co_pagamenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
|
|
|
|
LEFT JOIN `em_accounts` ON `em_accounts`.`id` = '.prepare($template['id_account']).'
|
|
|
|
INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
|
|
|
LEFT JOIN `an_referenti` ON `an_referenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
|
|
|
WHERE
|
2024-07-02 12:18:17 +02:00
|
|
|
`co_scadenziario`.`da_pagare` > `co_scadenziario`.`pagato` AND `co_scadenziario`.`iddocumento` = (SELECT `iddocumento` FROM `co_scadenziario` s WHERE `id`='.prepare($id_record).')
|
|
|
|
GROUP BY iddocumento');
|
2019-02-21 12:24:57 +01:00
|
|
|
|
2020-09-23 17:53:19 +02:00
|
|
|
$logo_azienda = str_replace(base_dir(), base_path(), App::filepath('templates/base|custom|/logo_azienda.jpg'));
|
2019-02-21 12:24:57 +01:00
|
|
|
|
|
|
|
// Variabili da sostituire
|
|
|
|
return [
|
2021-01-28 21:13:48 +01:00
|
|
|
'email' => $options['is_pec'] ? $r['pec'] : $r['email'],
|
2019-02-21 12:24:57 +01:00
|
|
|
'id_anagrafica' => $r['idanagrafica'],
|
|
|
|
'ragione_sociale' => $r['ragione_sociale'],
|
|
|
|
'numero' => empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'],
|
|
|
|
'note' => $r['note'],
|
|
|
|
'pagamento' => $r['pagamento'],
|
2024-05-06 11:25:41 +02:00
|
|
|
'totale' => $r['totale'] ? Translator::numberToLocale(abs($r['totale'])) : 0,
|
2019-02-21 12:24:57 +01:00
|
|
|
'data_scadenza' => Translator::dateToLocale($r['scadenza']),
|
2019-05-24 18:24:02 +02:00
|
|
|
'data' => Translator::dateToLocale($r['data']),
|
2019-02-21 12:24:57 +01:00
|
|
|
'logo_azienda' => !empty($logo_azienda) ? '<img src="'.$logo_azienda.'" />' : '',
|
2022-09-16 17:03:17 +02:00
|
|
|
'nome_referente' => $r['nome'],
|
2023-07-07 15:17:40 +02:00
|
|
|
'scadenze_fatture_scadute' => $r['scadenze_fatture_scadute'],
|
2024-07-02 12:18:17 +02:00
|
|
|
'scadenze_fatture_promemoria' => $r['scadenze_fatture_promemoria'],
|
2019-02-21 12:24:57 +01:00
|
|
|
];
|