Skip to content

Commit 8a24588

Browse files
feat: select impianti in attività in base al contratto e sede
1 parent 797db12 commit 8a24588

4 files changed

Lines changed: 27 additions & 10 deletions

File tree

modules/contratti/edit.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142
</div>
143143

144144
<div class="col-md-6">
145-
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|<?php echo Module::where('name', 'Impianti')->first()->id; ?>|<?php echo 'id_anagrafica='.$record['idanagrafica']; ?>||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
145+
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": <?php echo ($record['idanagrafica'] ?: '""'); ?>, "idsede_destinazione": "", "idcontratto": ""}, "value": "$idimpianti$", "icon-after": "add|<?php echo Module::where('name', 'Impianti')->first()->id; ?>|<?php echo 'id_anagrafica='.$record['idanagrafica']; ?>||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
146146
</div>
147147

148148
<div class="col-md-2">
@@ -539,6 +539,12 @@ function caricaRighe(id_riga) {
539539
}
540540
});
541541
542+
$("#idsede_destinazione").change(function() {
543+
updateSelectOption("idsede_destinazione", $(this).val());
544+
session_set("superselect,idsede_destinazione", $(this).val(), 0);
545+
$("#matricolaimpianto").selectReset();
546+
});
547+
542548
$("#codice_cig, #codice_cup").bind("keyup change", function(e) {
543549
544550
if ($("#codice_cig").val() == "" && $("#codice_cup").val() == "" ){

modules/impianti/ajax/select.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,22 @@
3939
* - idanagrafica
4040
*/
4141
case 'impianti-cliente':
42-
$query = 'SELECT my_impianti.id, CONCAT(my_impianti.matricola, " - ", my_impianti.nome) AS descrizione, my_impianti.idanagrafica, an_anagrafiche.ragione_sociale, my_impianti.idsede, IFNULL(an_sedi.nomesede, "Sede legale") AS nomesede FROM my_impianti LEFT JOIN an_anagrafiche ON my_impianti.idanagrafica=an_anagrafiche.idanagrafica LEFT JOIN an_sedi ON my_impianti.idsede=an_sedi.id |where| ORDER BY idsede';
42+
$query = 'SELECT my_impianti.id, CONCAT(my_impianti.matricola, " - ", my_impianti.nome) AS descrizione, my_impianti.idanagrafica, an_anagrafiche.ragione_sociale, my_impianti.idsede, IFNULL(an_sedi.nomesede, "Sede legale") AS nomesede FROM my_impianti LEFT JOIN an_anagrafiche ON my_impianti.idanagrafica=an_anagrafiche.idanagrafica LEFT JOIN an_sedi ON my_impianti.idsede=an_sedi.id';
43+
if (!empty($superselect['idcontratto'])) {
44+
$query .= ' INNER JOIN my_impianti_contratti ON my_impianti.id=my_impianti_contratti.idimpianto';
45+
$where[] = 'my_impianti_contratti.idcontratto='.prepare($superselect['idcontratto']);
46+
}
47+
$query .= ' |where| ORDER BY idsede';
4348

4449
foreach ($elements as $element) {
4550
$filter[] = 'my_impianti.id='.prepare($element);
4651
}
4752

4853
if (!empty($superselect['idanagrafica'])) {
4954
$where[] = 'my_impianti.idanagrafica='.prepare($superselect['idanagrafica']);
55+
}
56+
57+
if (isset($superselect['idsede_destinazione']) && $superselect['idsede_destinazione'] != "") {
5058
$where[] = 'my_impianti.idsede='.prepare($superselect['idsede_destinazione'] ?: 0);
5159
}
5260

modules/interventi/add.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -172,16 +172,16 @@
172172
173173
<div class="row">
174174
<div class="col-md-4">
175-
{[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '""').'}, "icon-after": "add|'.Module::where('name', 'Impianti')->first()->id.'|id_anagrafica='.$id_anagrafica.'" ]}
175+
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.Module::where('name', 'Contratti')->first()->id.'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
176176
</div>
177177
178178
<div class="col-md-4">
179-
{[ "type": "select", "label": "'.tr('Componenti').'", "multiple": 1, "name": "componenti[]", "placeholder": "'.tr('Seleziona prima un impianto').'", "ajax-source": "componenti" ]}
179+
{[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '0').', "idcontratto": '.($id_contratto ?: '""').'}, "icon-after": "add|'.Module::where('name', 'Impianti')->first()->id.'|id_anagrafica='.$id_anagrafica.'" ]}
180180
</div>
181181
182182
<div class="col-md-4">
183-
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_module, 'is_sezionale' => 1]).', "value": "'.$_SESSION['module_'.$id_module]['id_segment'].'" ]}
184-
</div>
183+
{[ "type": "select", "label": "'.tr('Componenti').'", "multiple": 1, "name": "componenti[]", "placeholder": "'.tr('Seleziona prima un impianto').'", "ajax-source": "componenti" ]}
184+
</div>
185185
</div>
186186
187187
<div class="row">
@@ -190,12 +190,12 @@
190190
</div>
191191
192192
<div class="col-md-4">
193-
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.Module::where('name', 'Contratti')->first()->id.'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
193+
{[ "type": "select", "label": "'.tr('Ordine').'", "name": "idordine", "ajax-source": "ordini-cliente", "value": "'.$id_ordine.'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).' ]}
194194
</div>
195195
196196
<div class="col-md-4">
197-
{[ "type": "select", "label": "'.tr('Ordine').'", "name": "idordine", "ajax-source": "ordini-cliente", "value": "'.$id_ordine.'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).' ]}
198-
</div>
197+
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_module, 'is_sezionale' => 1]).', "value": "'.$_SESSION['module_'.$id_module]['id_segment'].'" ]}
198+
</div>
199199
</div>
200200
201201
<div class="row">
@@ -668,6 +668,9 @@
668668
input("idtipointervento").getElement()
669669
.selectSetNew($(this).selectData().idtipointervento, $(this).selectData().idtipointervento_descrizione);
670670
}
671+
672+
updateSelectOption("idcontratto", contratto.get());
673+
session_set("superselect,idcontratto",contratto.get(), 0);
671674
}
672675
});
673676

plugins/impianti_intervento/edit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
6161
<div class="row">
6262
<div class="col-md-4">
63-
{[ "type": "select", "name": "id_impianto_add", "label": "'.tr('Impianto').'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.($record['idsede_destinazione'] ?: '""').', "idintervento": '.$id_record.'}, "extra": "'.$readonly.'", "icon-after": "add|'.$id_modulo_impianti.'|id_anagrafica='.$record['idanagrafica'].'" ]}
63+
{[ "type": "select", "name": "id_impianto_add", "label": "'.tr('Impianto').'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.($record['idsede_destinazione'] ?: '0').', "idintervento": '.$id_record.', "idcontratto": "'.$record['idcontratto'].'"}, "extra": "'.$readonly.'", "icon-after": "add|'.$id_modulo_impianti.'|id_anagrafica='.$record['idanagrafica'].'" ]}
6464
</div>
6565
6666
<div class="col-md-3" style="margin-top: 25px">

0 commit comments

Comments
 (0)