Skip to content

Commit cdbac74

Browse files
committed
refactor: rimozione query documenti collegati in caricamento documenti
1 parent e5b4dc9 commit cdbac74

10 files changed

Lines changed: 62 additions & 306 deletions

File tree

modules/contratti/edit.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,8 @@ function aggiungiRigaOre(idTipoIntervento, titoloTipo) {
607607
// Funzioni per i documenti collegati
608608
var documentiCaricati = false;
609609
610+
var count = 0;
611+
610612
function caricaConteggioDocumenti() {
611613
$.get(globals.rootdir + "/ajax_documenti_collegati.php", {
612614
id_module: globals.id_module,
@@ -615,11 +617,17 @@ function caricaConteggioDocumenti() {
615617
})
616618
.done(function(data) {
617619
var title = $("#documenti-collegati-title");
618-
if (data.count > 0) {
619-
title.html("'.tr('Documenti collegati').' (" + data.count + ")");
620+
count = data.count;
621+
if (count > 0) {
622+
title.html("'.tr('Documenti collegati').' (" + count + ")");
620623
} else {
621624
title.html("'.tr('Documenti collegati').'");
622625
}
626+
if (count > 0) {
627+
$("#alert-eliminazione-documenti").show();
628+
} else {
629+
$("#alert-eliminazione-documenti").hide();
630+
}
623631
})
624632
.fail(function() {
625633
var title = $("#documenti-collegati-title");
@@ -668,22 +676,16 @@ function caricaDocumentiCollegati() {
668676
});
669677
</script>';
670678

671-
if (!empty($elementi)) {
672-
echo '
673-
<div class="alert alert-danger">
679+
echo '
680+
<div class="alert alert-danger" id="alert-eliminazione-documenti" style="display: none;">
674681
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
675682
</div>';
676-
} else {
677-
?>
683+
?>
678684

679685
<a class="btn btn-danger ask" data-backto="record-list">
680686
<i id ="elimina" class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
681687
</a>
682688

683-
<?php
684-
}
685-
686-
echo '
687689
<script type="text/javascript">
688690
$(document).ready(function() {
689691
$("#data_conclusione").on("dp.change", function (e) {

modules/contratti/init.php

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -44,43 +44,6 @@
4444
WHERE
4545
`co_contratti`.`id`='.prepare($id_record));
4646

47-
$elementi = $dbo->fetchArray('
48-
SELECT
49-
`co_documenti`.`id`,
50-
`co_documenti`.`data`,
51-
`co_documenti`.`numero`,
52-
`co_documenti`.`numero_esterno`,
53-
`co_tipidocumento_lang`.`title` AS tipo_documento,
54-
IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo,
55-
GROUP_CONCAT(CONCAT(`co_righe_documenti`.`original_id`, " - ", `co_righe_documenti`.`qta`) SEPARATOR ", ") AS righe,
56-
`co_statidocumento_lang`.`title` AS stato_documento
57-
FROM `co_documenti`
58-
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
59-
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
60-
LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
61-
LEFT JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
62-
WHERE `co_righe_documenti`.`idcontratto` = '.prepare($id_record).'
63-
GROUP BY id
64-
65-
UNION
66-
67-
SELECT
68-
`in_interventi`.`id`,
69-
`in_interventi`.`data_richiesta`,
70-
`in_interventi`.`codice`,
71-
NULL,
72-
\'Attività\',
73-
\'Interventi\',
74-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
75-
`in_statiintervento_lang`.`title` AS stato_documento
76-
FROM `in_interventi`
77-
LEFT JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
78-
LEFT JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.id LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
79-
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($id_record).' AND `in_righe_interventi`.`original_document_type` = \'Modules\\\\Contratti\\\\Contratto\') OR `in_interventi`.`id_contratto` = '.prepare($id_record).'
80-
GROUP BY id
81-
82-
ORDER BY `modulo`');
83-
8447
$is_anagrafica_deleted = !$contratto->anagrafica;
8548

8649
// Estrazione numero contratto originale

modules/ddt/edit.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -659,11 +659,17 @@ function caricaConteggioDocumenti() {
659659
})
660660
.done(function(data) {
661661
var title = $("#documenti-collegati-title");
662-
if (data.count > 0) {
663-
title.html("'.tr('Documenti collegati').' (" + data.count + ")");
662+
count = data.count;
663+
if (count > 0) {
664+
title.html("'.tr('Documenti collegati').' (" + count + ")");
664665
} else {
665666
title.html("'.tr('Documenti collegati').'");
666667
}
668+
if (count > 0) {
669+
$("#alert-eliminazione-documenti").show();
670+
} else {
671+
$("#alert-eliminazione-documenti").hide();
672+
}
667673
})
668674
.fail(function() {
669675
var title = $("#documenti-collegati-title");
@@ -713,12 +719,10 @@ function caricaDocumentiCollegati() {
713719
</script>';
714720

715721

716-
if (!empty($elementi)) {
717-
echo '
718-
<div class="alert alert-danger">
722+
echo '
723+
<div class="alert alert-danger" id="alert-eliminazione-documenti" style="display: none;">
719724
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
720725
</div>';
721-
}
722726

723727
?>
724728

modules/ddt/init.php

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -64,47 +64,5 @@
6464
$record['flag_completato'] = 1;
6565
}
6666

67-
$elementi = $dbo->fetchArray('SELECT
68-
`co_documenti`.`id`,
69-
`co_documenti`.`data`,
70-
`co_documenti`.`numero`,
71-
`co_documenti`.`numero_esterno`,
72-
`co_tipidocumento_lang`.`title` AS tipo_documento,
73-
IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo,
74-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
75-
`co_statidocumento_lang`.`title` AS stato_documento
76-
FROM
77-
`co_documenti`
78-
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
79-
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
80-
LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
81-
LEFT JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
82-
WHERE
83-
`co_righe_documenti`.`idddt` = '.prepare($id_record).'
84-
GROUP BY
85-
id
86-
87-
UNION
88-
89-
SELECT
90-
`in_interventi`.`id`,
91-
`in_interventi`.`data_richiesta`,
92-
`in_interventi`.`codice`,
93-
NULL,
94-
\'Attività\' AS tipo_documento,
95-
\'Interventi\' as modulo,
96-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
97-
`in_statiintervento_lang`.`title` AS stato_documento
98-
FROM
99-
`in_interventi`
100-
JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
101-
LEFT JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.id LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
102-
WHERE
103-
(`in_righe_interventi`.`original_document_id` = '.prepare($id_record).' AND `in_righe_interventi`.`original_document_type` = \'Modules\\\\DDT\\\\DDT\')
104-
GROUP BY
105-
id
106-
107-
ORDER BY `modulo`');
108-
10967
$is_anagrafica_deleted = !$ddt->anagrafica;
11068
}

modules/interventi/edit.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ function caricaConteggioDocumenti() {
800800
})
801801
.done(function(data) {
802802
var response;
803-
803+
804804
// Se la risposta è già un oggetto (jQuery ha fatto il parsing automatico)
805805
if (typeof data === "object") {
806806
response = data;
@@ -816,13 +816,20 @@ function caricaConteggioDocumenti() {
816816
return;
817817
}
818818
}
819-
819+
820+
count = response.count;
821+
820822
// Mostra sempre la card, aggiorna il titolo con il conteggio se ci sono documenti
821-
if (response.count > 0) {
822-
$("#documenti-collegati-title").text("'.tr('Documenti collegati').': " + response.count);
823+
if (count > 0) {
824+
$("#documenti-collegati-title").text("'.tr('Documenti collegati').': " + count);
823825
} else {
824826
$("#documenti-collegati-title").text("'.tr('Documenti collegati').'");
825827
}
828+
if (count > 0) {
829+
$("#alert-eliminazione-documenti").show();
830+
} else {
831+
$("#alert-eliminazione-documenti").hide();
832+
}
826833
$("#documenti-collegati-card").show();
827834
})
828835
.fail(function(xhr, status, error) {
@@ -868,6 +875,10 @@ function caricaDocumentiCollegati() {
868875

869876
?>
870877

878+
<div class="alert alert-danger" id="alert-eliminazione-documenti" style="display: none;">
879+
<?php echo tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale'); ?>
880+
</div>
881+
871882
<a class="btn btn-danger ask" data-backto="record-list">
872883
<i id ="elimina" class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
873884
</a>

modules/interventi/init.php

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,5 @@
4545
WHERE
4646
`in_interventi`.`id`='.prepare($id_record));
4747

48-
$elementi = $dbo->fetchArray('SELECT
49-
`co_documenti`.`id`,
50-
`co_documenti`.`data`,
51-
`co_documenti`.`numero`,
52-
`co_documenti`.`numero_esterno`,
53-
`co_tipidocumento_lang`.`title` AS tipo_documento,
54-
IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo,
55-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe
56-
FROM
57-
`co_documenti`
58-
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
59-
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
60-
LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
61-
WHERE
62-
(`co_righe_documenti`.`original_document_id` = '.prepare($id_record).' AND `co_righe_documenti`.`original_document_type` = \'Modules\\\\Interventi\\\\Intervento\')
63-
GROUP BY
64-
id
65-
ORDER BY `modulo`');
66-
6748
$is_anagrafica_deleted = !$intervento->anagrafica;
6849
}

modules/ordini/edit.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,8 @@ function caricaRighe(id_riga) {
484484
// Funzioni per i documenti collegati
485485
var documentiCaricati = false;
486486
487+
var count = 0;
488+
487489
function caricaConteggioDocumenti() {
488490
$.get(globals.rootdir + "/ajax_documenti_collegati.php", {
489491
id_module: globals.id_module,
@@ -492,11 +494,17 @@ function caricaConteggioDocumenti() {
492494
})
493495
.done(function(data) {
494496
var title = $("#documenti-collegati-title");
495-
if (data.count > 0) {
496-
title.html("'.tr('Documenti collegati').' (" + data.count + ")");
497+
count = data.count;
498+
if (count > 0) {
499+
title.html("'.tr('Documenti collegati').' (" + count + ")");
497500
} else {
498501
title.html("'.tr('Documenti collegati').'");
499502
}
503+
if (count > 0) {
504+
$("#alert-eliminazione-documenti").show();
505+
} else {
506+
$("#alert-eliminazione-documenti").hide();
507+
}
500508
})
501509
.fail(function() {
502510
var title = $("#documenti-collegati-title");
@@ -622,12 +630,10 @@ function caricaDocumentiCollegati() {
622630
}
623631
});
624632
</script>';
625-
if (!empty($elementi)) {
626-
echo '
627-
<div class="alert alert-danger">
633+
echo '
634+
<div class="alert alert-danger" id="alert-eliminazione-documenti" style="display: none;">
628635
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
629636
</div>';
630-
}
631637

632638
?>
633639

modules/ordini/init.php

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -46,87 +46,5 @@
4646
WHERE
4747
`or_ordini`.`id`='.prepare($id_record));
4848

49-
$elementi = $dbo->fetchArray('
50-
SELECT
51-
`co_documenti`.`id`,
52-
`co_documenti`.`data`,
53-
`co_documenti`.`numero`,
54-
`co_documenti`.`numero_esterno`,
55-
`co_tipidocumento_lang`.`title` AS tipo_documento,
56-
IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo,
57-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
58-
`co_statidocumento_lang`.`title` AS stato_documento
59-
FROM
60-
`co_documenti`
61-
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
62-
LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
63-
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
64-
LEFT JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
65-
WHERE
66-
`co_righe_documenti`.`idordine` = '.prepare($id_record).'
67-
GROUP BY id
68-
69-
UNION
70-
SELECT
71-
`dt_ddt`.`id`,
72-
`dt_ddt`.`data`,
73-
`dt_ddt`.`numero`,
74-
`dt_ddt`.`numero_esterno`,
75-
`dt_tipiddt_lang`.`title` AS tipo_documento,
76-
IF(`dt_tipiddt`.`dir` = \'entrata\', \'Ddt in uscita\', \'Ddt in entrata\') as modulo,
77-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
78-
`dt_statiddt_lang`.`title` AS stato_documento
79-
FROM
80-
`dt_ddt`
81-
INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt`
82-
LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
83-
INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
84-
LEFT JOIN dt_statiddt ON dt_ddt.idstatoddt=dt_statiddt.id LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
85-
WHERE
86-
`dt_righe_ddt`.`idordine` = '.prepare($id_record).'
87-
GROUP BY id
88-
89-
UNION
90-
91-
SELECT
92-
`or_ordini`.`id`,
93-
`or_ordini`.`data`,
94-
`or_ordini`.`numero`,
95-
`or_ordini`.`numero_esterno`,
96-
`or_tipiordine_lang`.`title`,
97-
IF(`or_tipiordine`.`dir` = \'entrata\', \'Ordini cliente\', \'Ordini fornitore\') as modulo,
98-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
99-
`or_statiordine_lang`.`title` AS stato_documento
100-
FROM
101-
`or_ordini`
102-
INNER JOIN `or_righe_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id`
103-
INNER JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine`
104-
LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine_lang`.`id_record` = `or_tipiordine`.`id` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
105-
LEFT JOIN or_statiordine ON or_ordini.idstatoordine=or_statiordine.id LEFT JOIN `or_statiordine_lang` ON (`or_statiordine`.`id` = `or_statiordine_lang`.`id_record` AND `or_statiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
106-
WHERE
107-
(`or_righe_ordini`.`original_document_id` = '.prepare($id_record).' AND `or_righe_ordini`.`original_document_type` = \'Modules\\\\Ordini\\\\Ordine\')
108-
GROUP BY
109-
id
110-
111-
UNION
112-
113-
SELECT
114-
`in_interventi`.`id`,
115-
`in_interventi`.`data_richiesta`,
116-
`in_interventi`.`codice`,
117-
NULL,
118-
\'Attività\',
119-
\'Interventi\' as modulo,
120-
GROUP_CONCAT(CONCAT(`original_id`, " - ", `qta`) SEPARATOR ", ") AS righe,
121-
`in_statiintervento_lang`.`title` AS stato_documento
122-
FROM `in_interventi`
123-
JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
124-
LEFT JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.id LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
125-
WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($id_record).' AND `in_righe_interventi`.`original_document_type` = \'Modules\\\\Ordini\\\\Ordine\') OR `in_interventi`.`id_ordine` = '.prepare($id_record).'
126-
GROUP BY id
127-
128-
ORDER BY
129-
`modulo`');
130-
13149
$is_anagrafica_deleted = !$ordine->anagrafica;
13250
}

0 commit comments

Comments
 (0)