1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-08 07:38:54 +01:00

Bugfix distribuiti

This commit is contained in:
Thomas Zilio 2017-09-18 18:11:19 +02:00
parent 6b41e5648e
commit 32b6d8d1a5
7 changed files with 74 additions and 53 deletions

View File

@ -346,7 +346,7 @@ switch ($op) {
$query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY idsede'; $query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY idsede';
foreach ($elements as $element) { foreach ($elements as $element) {
$filter[] = 'idsede='.prepare($element); $filter[] = 'id='.prepare($element);
} }
$where[] = 'idanagrafica='.prepare($superselect['idanagrafica']); $where[] = 'idanagrafica='.prepare($superselect['idanagrafica']);

View File

@ -95,8 +95,12 @@ if (count($rsp) != 0) {
<td align="right">'; <td align="right">';
if (empty($rsp[$i]['idintervento'])) { if (empty($rsp[$i]['idintervento'])) {
if($records[0]['stato'] != 'Bozza' && $records[0]['stato'] != 'Rifiutato'){
echo '
<button type="button" class="btn btn-primary btn-sm" title="Pianifica ora..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica intervento\', \''.$rootdir.'/add.php?id_module='.Modules::getModule('Interventi')['id'].'&ref=interventi_contratti&idcontratto='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"><i class="fa fa-calendar"></i></button>';
}
echo ' echo '
<button type="button" class="btn btn-primary btn-sm" title="Pianifica ora..." data-toggle="tooltip" onclick="launch_modal(\'Pianifica intervento\', \''.$rootdir.'/add.php?id_module='.Modules::getModule('Interventi')['id'].'&ref=interventi_contratti&idcontratto='.$id_record.'&idcontratto_riga='.$rsp[$i]['id'].'\');"><i class="fa fa-calendar"></i></button>
<button type="button" class="btn btn-danger btn-sm ask" data-op="depianifica" data-id="'.$rsp[$i]['id'].'"> <button type="button" class="btn btn-danger btn-sm ask" data-op="depianifica" data-id="'.$rsp[$i]['id'].'">
<i class="fa fa-trash"></i> <i class="fa fa-trash"></i>
</button>'; </button>';

View File

@ -14,6 +14,8 @@ unset($_SESSION['superselect']['idsede']);
$idanagrafica = filter('idanagrafica'); $idanagrafica = filter('idanagrafica');
$idsede = filter('idsede'); $idsede = filter('idsede');
$impianti = [];
if (!empty($idanagrafica)) { if (!empty($idanagrafica)) {
$rs = $dbo->fetchArray('SELECT idtipointervento_default FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); $rs = $dbo->fetchArray('SELECT idtipointervento_default FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$idtipointervento = $rs[0]['idtipointervento_default']; $idtipointervento = $rs[0]['idtipointervento_default'];
@ -22,7 +24,7 @@ if (!empty($idanagrafica)) {
} }
// Calcolo orario di inizio e fine di default // Calcolo orario di inizio e fine di default
if (filter('orario_inizio') !== null && filter('orario_inizio') != '00:00:00') { if (null !== filter('orario_inizio') && '00:00:00' != filter('orario_inizio')) {
$orario_inizio = filter('orario_inizio'); $orario_inizio = filter('orario_inizio');
$orario_fine = filter('orario_fine'); $orario_fine = filter('orario_fine');
} else { } else {
@ -61,17 +63,20 @@ elseif (!empty($idcontratto) && !empty($idcontratto_riga)) {
// Info riga pianificata // Info riga pianificata
$rs = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga)); $rs = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga));
$idtipointervento = $rs[0]['idtipointervento']; $idtipointervento = $rs[0]['idtipointervento'];
$data = (filter('data') !== null) ? filter('data') : $rs[0]['data_richiesta']; $data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta'];
$richiesta = $rs[0]['richiesta']; $richiesta = $rs[0]['richiesta'];
$idsede = $rs[0]['idsede']; $idsede = $rs[0]['idsede'];
$rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto));
$idimpianto = implode(',', array_column($rs, 'idimpianto'));
// Seleziono "In programmazione" come stato // Seleziono "In programmazione" come stato
$rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE descrizione='In programmazione'"); $rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE descrizione='In programmazione'");
$idstatointervento = $rs[0]['idstatointervento']; $idstatointervento = $rs[0]['idstatointervento'];
} }
if (empty($data)) { if (empty($data)) {
if (filter('data') !== null) { if (null !== filter('data')) {
$data = filter('data'); $data = filter('data');
} else { } else {
$data = date(Translator::getLocaleFormatter()->getDatePattern()); $data = date(Translator::getLocaleFormatter()->getDatePattern());
@ -111,11 +116,11 @@ if (empty($new_codice)) {
<!-- RIGA 1 --> <!-- RIGA 1 -->
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $idanagrafica ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo Modules::getModule('Anagrafiche')['id']; ?>|tipoanagrafica=Cliente", "data-heavy": 0 ]} {[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $idanagrafica; ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo Modules::getModule('Anagrafiche')['id']; ?>|tipoanagrafica=Cliente", "data-heavy": 0 ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "value": "<?php echo $idsede ?>", "placheholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "sedi" ]} {[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "value": "<?php echo $idsede; ?>", "placheholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "sedi" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -126,21 +131,21 @@ if (empty($new_codice)) {
<!-- RIGA 2 --> <!-- RIGA 2 -->
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Preventivo'); ?>", "name": "idpreventivo", "value": "<?php echo $idpreventivo ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "preventivi" ]} {[ "type": "select", "label": "<?php echo tr('Preventivo'); ?>", "name": "idpreventivo", "value": "<?php echo $idpreventivo; ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "preventivi" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Contratto'); ?>", "name": "idcontratto", "value": "<?php echo $idcontratto ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "contratti" ]} {[ "type": "select", "label": "<?php echo tr('Contratto'); ?>", "name": "idcontratto", "value": "<?php echo $idcontratto; ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "contratti" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Impianto'); ?>", "multiple": 1, "name": "idimpianti[]", "value": "<?php echo $idimpianto ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "impianti" ]} {[ "type": "select", "label": "<?php echo tr('Impianto'); ?>", "multiple": 1, "name": "idimpianti[]", "value": "<?php echo $idimpianto; ?>", "placeholder": "<?php echo tr('Seleziona prima un cliente'); ?>...", "ajax-source": "impianti" ]}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
{[ "type": "select", "label": "<?php echo tr('Componenti'); ?>", "multiple": 1, "name": "componenti[]", "value": "<?php echo $componenti ?>", "placeholder": "<?php echo tr('Seleziona prima un impianto'); ?>...", "ajax-source": "componenti" ]} {[ "type": "select", "label": "<?php echo tr('Componenti'); ?>", "multiple": 1, "name": "componenti[]", "value": "<?php echo $componenti; ?>", "placeholder": "<?php echo tr('Seleziona prima un impianto'); ?>...", "ajax-source": "componenti" ]}
</div> </div>
</div> </div>
</div> </div>
@ -156,7 +161,7 @@ if (empty($new_codice)) {
<!-- RIGA 3 --> <!-- RIGA 3 -->
<div class="row"> <div class="row">
<!--div class="col-md-3"> <!--div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Codice intervento'); ?>", "name": "codice", "required": 1, "class": "text-center", "value": "<?php echo $new_codice ?>" ]} {[ "type": "text", "label": "<?php echo tr('Codice intervento'); ?>", "name": "codice", "required": 1, "class": "text-center", "value": "<?php echo $new_codice; ?>" ]}
</div--> </div-->
<div class="col-md-4"> <div class="col-md-4">
@ -164,41 +169,41 @@ if (empty($new_codice)) {
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "date", "label": "<?php echo tr('Data intervento'); ?>", "name": "data", "required": 1, "value": "<?php echo $data ?>" ]} {[ "type": "date", "label": "<?php echo tr('Data intervento'); ?>", "name": "data", "required": 1, "value": "<?php echo $data; ?>" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, nome AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona ?>" ]} {[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, nome AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>" ]}
</div> </div>
</div> </div>
<!-- RIGA 4 --> <!-- RIGA 4 -->
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Tipo intervento'); ?>", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento", "value": "<?php echo $idtipointervento ?>", "ajax-source": "tipiintervento" ]} {[ "type": "select", "label": "<?php echo tr('Tipo intervento'); ?>", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento", "value": "<?php echo $idtipointervento; ?>", "ajax-source": "tipiintervento" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Stato intervento'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento", "value": "<?php echo $idstatointervento ?>" ]} {[ "type": "select", "label": "<?php echo tr('Stato intervento'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento", "value": "<?php echo $idstatointervento; ?>" ]}
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
{[ "type": "time", "label": "<?php echo tr('Orario inizio'); ?>", "name": "orario_inizio", "required": 1, "value": "<?php echo $orario_inizio ?>" ]} {[ "type": "time", "label": "<?php echo tr('Orario inizio'); ?>", "name": "orario_inizio", "required": 1, "value": "<?php echo $orario_inizio; ?>" ]}
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
{[ "type": "time", "label": "<?php echo tr('Orario fine'); ?>", "name": "orario_fine", "required": 1, "value": "<?php echo $orario_fine ?>" ]} {[ "type": "time", "label": "<?php echo tr('Orario fine'); ?>", "name": "orario_fine", "required": 1, "value": "<?php echo $orario_fine; ?>" ]}
</div> </div>
</div> </div>
<!-- RIGA 5 --> <!-- RIGA 5 -->
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": 1, "ajax-source": "tecnici", "value": "<?php echo $idtecnico ?>" ]} {[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": 1, "ajax-source": "tecnici", "value": "<?php echo $idtecnico; ?>" ]}
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Richiesta'); ?>", "name": "richiesta", "required": 1, "value": "<?php echo $richiesta ?>", "extra": "style='max-height:80px; ' " ]} {[ "type": "textarea", "label": "<?php echo tr('Richiesta'); ?>", "name": "richiesta", "required": 1, "value": "<?php echo $richiesta; ?>", "extra": "style='max-height:80px; ' " ]}
</div> </div>
<?php <?php
@ -223,7 +228,7 @@ if (empty($new_codice)) {
</div> </div>
</form> </form>
<script src="<?php echo $rootdir ?>/lib/init.js"></script> <script src="<?php echo $rootdir; ?>/lib/init.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
@ -296,7 +301,7 @@ if (empty($new_codice)) {
$("#componenti").selectReset(); $("#componenti").selectReset();
}); });
var ref = "<?php echo $get['ref'] ?>"; var ref = "<?php echo $get['ref']; ?>";
function add_intervento(){ function add_intervento(){
// Se l'aggiunta intervento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi... // Se l'aggiunta intervento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi...
@ -304,7 +309,7 @@ if (empty($new_codice)) {
$('#add-form').find('[type=submit]').prop("disabled", true).addClass("disabled"); $('#add-form').find('[type=submit]').prop("disabled", true).addClass("disabled");
$('#add-form').find('input:disabled, select:disabled, textarea:disabled').removeAttr('disabled'); $('#add-form').find('input:disabled, select:disabled, textarea:disabled').removeAttr('disabled');
$.post(globals.rootdir + '/actions.php?id_module=<?php echo Modules::getModule('Interventi')['id'] ?>', $('#add-form').serialize(), function(data,response){ $.post(globals.rootdir + '/actions.php?id_module=<?php echo Modules::getModule('Interventi')['id']; ?>', $('#add-form').serialize(), function(data,response){
if(response=="success"){ if(response=="success"){
// Se l'aggiunta intervento proviene dalla scheda di pianificazione ordini di servizio della dashboard, la ricarico // Se l'aggiunta intervento proviene dalla scheda di pianificazione ordini di servizio della dashboard, la ricarico
if(ref == "dashboard"){ if(ref == "dashboard"){
@ -317,7 +322,7 @@ if (empty($new_codice)) {
// Se l'aggiunta intervento proviene dai contratti, faccio il submit via ajax e ricarico la tabella dei contratti // Se l'aggiunta intervento proviene dai contratti, faccio il submit via ajax e ricarico la tabella dei contratti
else if(ref == "interventi_contratti"){ else if(ref == "interventi_contratti"){
$('#elenco_interventi > tbody').load(globals.rootdir + '/modules/contratti/plugins/contratti.pianificazioneinterventi.php?op=get_interventi_pianificati&idcontratto=<?php echo $idcontratto ?>'); $('#elenco_interventi > tbody').load(globals.rootdir + '/modules/contratti/plugins/contratti.pianificazioneinterventi.php?op=get_interventi_pianificati&idcontratto=<?php echo $idcontratto; ?>');
$("#bs-popup").modal('hide'); $("#bs-popup").modal('hide');
} }
} }

View File

@ -61,8 +61,6 @@ echo '
$query = 'SELECT * FROM my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id WHERE idintervento='.prepare($id_record); $query = 'SELECT * FROM my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id WHERE idintervento='.prepare($id_record);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$impianti = array_column($rs, 'id');
echo ' echo '
<div class="row">'; <div class="row">';
@ -154,8 +152,8 @@ echo '
Aggiunta impianti all'intervento Aggiunta impianti all'intervento
*/ */
// Elenco impianti collegati all'intervento // Elenco impianti collegati all'intervento
$matricole = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento='.prepare($id_record)); $impianti = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
$matricole = !empty($matricole) ? array_column($matricole, 'idimpianto') : []; $impianti = !empty($impianti) ? array_column($impianti, 'idimpianto') : [];
// Elenco sedi // Elenco sedi
$sedi = $dbo->fetchArray('SELECT id, nomesede, citta FROM an_sedi WHERE idanagrafica='.prepare($records[0]['idanagrafica'])." UNION SELECT 0, 'Sede legale', '' ORDER BY id"); $sedi = $dbo->fetchArray('SELECT id, nomesede, citta FROM an_sedi WHERE idanagrafica='.prepare($records[0]['idanagrafica'])." UNION SELECT 0, 'Sede legale', '' ORDER BY id");

View File

@ -128,7 +128,7 @@ if ($module['name'] == 'Ordini cliente') {
<?php <?php
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data` UNION $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idordine` = '.prepare($id_record).') UNION
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data`'); SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data`');
if (!empty($elementi)) { if (!empty($elementi)) {
echo ' echo '

View File

@ -129,6 +129,8 @@ $(document).ready(function() {
// Clienti top // Clienti top
$clienti = $dbo->fetchArray("SELECT SUM(subtotale - sconto) AS totale, (SELECT COUNT(*) FROM co_documenti WHERE co_documenti.idanagrafica =an_anagrafiche.idanagrafica) AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY an_anagrafiche.idanagrafica ORDER BY SUM(subtotale - sconto) DESC LIMIT 15'); $clienti = $dbo->fetchArray("SELECT SUM(subtotale - sconto) AS totale, (SELECT COUNT(*) FROM co_documenti WHERE co_documenti.idanagrafica =an_anagrafiche.idanagrafica) AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY an_anagrafiche.idanagrafica ORDER BY SUM(subtotale - sconto) DESC LIMIT 15');
$totale = $dbo->fetchArray("SELECT SUM(subtotale - sconto) AS totale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end));
echo ' echo '
<div class="row"> <div class="row">
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
@ -145,18 +147,24 @@ echo '
<div class="box-body collapse in">'; <div class="box-body collapse in">';
if (!empty($clienti)) { if (!empty($clienti)) {
echo ' echo '
<ul>'; <table class="table table-striped">
<tr>
<th>'.tr('Ragione sociale').'</th>
<th class="text-center">'.tr('Num. fatture').'</th>
<th class="text-right">'.tr('Totale').'</th>
<th class="text-right">'.tr('Percentuale').'</th>
</tr>';
foreach ($clienti as $cliente) { foreach ($clienti as $cliente) {
echo ' echo '
<li>'.Modules::link('Anagrafiche', $cliente['idanagrafica'], tr('_PERSON_, con _TOT_ fatture', [ <tr>
'_PERSON_' => $cliente['ragione_sociale'], <td>'.Modules::link('Anagrafiche', $cliente['idanagrafica'], $cliente['ragione_sociale']).'</td>
'_TOT_' => intval($cliente['qta']), <td class="text-center">'.intval($cliente['qta']).'</td>
])).' <td class="text-right">'.Translator::numberToLocale($cliente['totale']).' &euro;</td>
<span class="label label-success pull-right">'.Translator::numberToLocale($cliente['totale']).' &euro;</span> <td class="text-right">'.Translator::numberToLocale($cliente['totale'] * 100 / $totale[0]['totale']).' %</td>
</li>'; </tr>';
} }
echo ' echo '
</ul>'; </table>';
} else { } else {
echo ' echo '
<p>'.tr('Nessun articolo è stato venduto').'...</p>'; <p>'.tr('Nessun articolo è stato venduto').'...</p>';
@ -185,15 +193,22 @@ echo '
<div class="box-body collapse in">'; <div class="box-body collapse in">';
if (!empty($articoli)) { if (!empty($articoli)) {
echo ' echo '
<ul>'; <table class="table table-striped">
<tr>
<th>'.tr('Codice').'</th>
<th>'.tr('Descrizione').'</th>
<th class="text-right">'.tr('Q.').'</th>
</tr>';
foreach ($articoli as $articolo) { foreach ($articoli as $articolo) {
echo ' echo '
<li>'.Modules::link('Articoli', $articolo['id'], $articolo['codice'].' - '.$articolo['descrizione']).' <tr>
<span class="label label-info pull-right">'.Translator::numberToLocale($articolo['qta']).' '.$articolo['um'].'</span> <td>'.Modules::link('Articoli', $articolo['id'], $articolo['codice']).'</td>
</li>'; <td>'.$articolo['descrizione'].'</td>
<td class="text-right">'.Translator::numberToLocale($articolo['qta']).' '.$articolo['um'].'</td>
</tr>';
} }
echo ' echo '
</ul>'; </table>';
} else { } else {
echo ' echo '
<p>'.tr('Nessun articolo è stato venduto').'...</p>'; <p>'.tr('Nessun articolo è stato venduto').'...</p>';

View File

@ -44,20 +44,20 @@ switch ($periodo[0]) {
break; break;
}*/ }*/
if ($dir == 'entrata') { if ('entrata' == $dir) {
$query = "SELECT *, SUM(subtotale-co_righe_documenti.sconto) AS subtotale, SUM(iva) AS iva, (SELECT ragione_sociale FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS ragione_sociale FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir='entrata' AND co_documenti.data>='".$date_start."' AND co_documenti.data<='".$date_end."' GROUP BY co_documenti.id, co_righe_documenti.idiva"; $query = "SELECT *, SUM(subtotale-co_righe_documenti.sconto) AS subtotale, SUM(iva) AS iva, (SELECT ragione_sociale FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS ragione_sociale FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir='entrata' AND co_documenti.data>='".$date_start."' AND co_documenti.data<='".$date_end."' GROUP BY co_documenti.id, co_righe_documenti.idiva";
} elseif ($dir == 'uscita') { } elseif ('uscita' == $dir) {
$query = "SELECT *, SUM(subtotale-co_righe_documenti.sconto) AS subtotale, SUM(iva) AS iva, (SELECT ragione_sociale FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS ragione_sociale FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir='uscita' AND co_documenti.data>='".$date_start."' AND co_documenti.data<='".$date_end."' GROUP BY co_documenti.id, co_righe_documenti.idiva"; $query = "SELECT *, SUM(subtotale-co_righe_documenti.sconto) AS subtotale, SUM(iva) AS iva, (SELECT ragione_sociale FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS ragione_sociale FROM co_documenti INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir='uscita' AND co_documenti.data>='".$date_start."' AND co_documenti.data<='".$date_end."' GROUP BY co_documenti.id, co_righe_documenti.idiva";
} }
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
if ($dir == 'entrata') { if ('entrata' == $dir) {
$body .= "<span style='font-size:15pt; margin-left:6px;'><b>".tr('Registro iva vendita dal _START_ al _END_', [ $body .= "<span style='font-size:15pt; margin-left:6px;'><b>".tr('Registro iva vendita dal _START_ al _END_', [
'_START_' => Translator::dateToLocale($_SESSION['period_start']), '_START_' => Translator::dateToLocale($_SESSION['period_start']),
'_END_' => Translator::dateToLocale($_SESSION['period_end']), '_END_' => Translator::dateToLocale($_SESSION['period_end']),
], ['upper' => true]).'</b></span><br><br>'; ], ['upper' => true]).'</b></span><br><br>';
} elseif ($dir == 'uscita') { } elseif ('uscita' == $dir) {
$body .= "<span style='font-size:15pt; margin-left:6px;'><b>".tr('Registro iva acquisto dal _START_ al _END_', [ $body .= "<span style='font-size:15pt; margin-left:6px;'><b>".tr('Registro iva acquisto dal _START_ al _END_', [
'_START_' => Translator::dateToLocale($_SESSION['period_start']), '_START_' => Translator::dateToLocale($_SESSION['period_start']),
'_END_' => Translator::dateToLocale($_SESSION['period_end']), '_END_' => Translator::dateToLocale($_SESSION['period_end']),
@ -69,9 +69,8 @@ $body .= "
<col width='40'><col width='100'><col width='100'><col width='362'><col width='160'><col width='90'><col width='90'> <col width='40'><col width='100'><col width='100'><col width='362'><col width='160'><col width='90'><col width='90'>
<thead> <thead>
<tr> <tr>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Prot.</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Data</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'> Documento</th> <th bgcolor='#dddddd' class='full_cell1 cell-padded'> Documento</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Data</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Causale<br>Ragione sociale</th> <th bgcolor='#dddddd' class='full_cell1 cell-padded'>Causale<br>Ragione sociale</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Aliquota</th> <th bgcolor='#dddddd' class='full_cell1 cell-padded'>Aliquota</th>
<th bgcolor='#dddddd' class='full_cell1 cell-padded'>Imponibile</th> <th bgcolor='#dddddd' class='full_cell1 cell-padded'>Imponibile</th>
@ -86,16 +85,16 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
$body .= " <td class='first_cell cell-padded text-center'></td>"; $body .= " <td class='first_cell cell-padded text-center'></td>";
$body .= " <td class='table_cell cell-padded text-center'></td>"; $body .= " <td class='table_cell cell-padded text-center'></td>";
} else { } else {
$body .= " <td class='first_cell cell-padded text-center'>".$rs[$i]['numero'].'</td>'; $body .= " <td class='first_cell cell-padded text-center'>".(!empty($rs[$i]['numero_esterno']) ? $rs[$i]['numero_esterno'] : $rs[$i]['numero']).'</td>';
$body .= " <td class='table_cell cell-padded text-center'>".date('d/m/Y', strtotime($rs[$i]['data'])).'</td>'; $body .= " <td class='table_cell cell-padded text-center'>".date('d/m/Y', strtotime($rs[$i]['data'])).'</td>';
} }
$body .= " <td class='table_cell cell-padded text-center'>".$rs[$i]['numero_esterno'].'</td>';
if ($dir == 'entrata') { if ('entrata' == $dir) {
$body .= "<td class='table_cell cell-padded'> $body .= "<td class='table_cell cell-padded'>
Fattura di vendita<br> Fattura di vendita<br>
".$rs[$i]['ragione_sociale'].' ".$rs[$i]['ragione_sociale'].'
</td>'; </td>';
} elseif ($dir == 'uscita') { } elseif ('uscita' == $dir) {
$body .= "<td class='table_cell cell-padded'> $body .= "<td class='table_cell cell-padded'>
Fattura di acquisto<br> Fattura di acquisto<br>
".$rs[$i]['ragione_sociale'].' ".$rs[$i]['ragione_sociale'].'
@ -131,7 +130,7 @@ $body .= "
"; ";
foreach ($v_iva as $desc_iva => $tot_iva) { foreach ($v_iva as $desc_iva => $tot_iva) {
if ($desc_iva != '') { if ('' != $desc_iva) {
$body .= "<tr><td valign='top' class='first_cell cell-padded'>\n"; $body .= "<tr><td valign='top' class='first_cell cell-padded'>\n";
$body .= $desc_iva."\n"; $body .= $desc_iva."\n";
$body .= "</td>\n"; $body .= "</td>\n";