openstamanager/modules/scadenzario/variables.php

62 lines
4.6 KiB
PHP
Raw Normal View History

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
$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.'" />' : '',
'nome_referente' => $r['nome'],
'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
];