Miglioramenti discussi in #29 e #34

Miglioramento della gestione delle casistiche per Rivalsa INPS/Ritenuta d'acconto e per la selezione della tipologia di anagrafica.
This commit is contained in:
Thomas Zilio 2017-09-29 17:30:30 +02:00
parent 3673a43bc9
commit c8588f22a6
5 changed files with 18 additions and 36 deletions

View File

@ -82,7 +82,12 @@ switch (post('op')) {
}
// Aggiorno le tipologie di anagrafica
$dbo->sync('an_tipianagrafiche_anagrafiche', ['idanagrafica' => $id_record], ['idtipoanagrafica' => (array) $post['idtipoanagrafica']]);
$post['idtipoanagrafica'] = (array) $post['idtipoanagrafica'];
if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
$post['idtipoanagrafica'][] = $id_azienda;
}
$dbo->sync('an_tipianagrafiche_anagrafiche', ['idanagrafica' => $id_record], ['idtipoanagrafica' => $post['idtipoanagrafica']]);
// Verifico se esiste già l'associazione dell'anagrafica a conti del partitario
$rs = $dbo->fetchArray('SELECT idconto_cliente, idconto_fornitore FROM an_anagrafiche WHERE idanagrafica='.prepare($id_record));
@ -209,7 +214,7 @@ switch (post('op')) {
case 'delete':
// Se l'anagrafica non è l'azienda principale, la disattivo
if (str_contains($records[0]['idtipianagrafica'], $id_azienda) === false) {
if (!str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($id_record).Modules::getAdditionalsQuery($id_module));
$_SESSION['infos'][] = tr('Anagrafica eliminata!');

View File

@ -311,9 +311,13 @@ if ($fornitore) {
<div class="row">
<div class="col-md-3">
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) OR idtipoanagrafica IN (SELECT DISTINCT(z.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche z WHERE idanagrafica = <?php echo $records[0]['idanagrafica']; ?>) ORDER BY descrizione", "value": "$idtipianagrafica$"<?php if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo ', "readonly": 1';
} ?> ]}
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) ORDER BY descrizione", "value": "$idtipianagrafica$" ]}
<?php
if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo '
<p>'.tr('Questa anagrafica appartiene alla tipologia "Azienda"').'.</p>';
}
?>
</div>
<?php
if (in_array('Tecnico', explode(',', $records[0]['tipianagrafica']))) {

View File

@ -47,7 +47,7 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d
if (get_var('Percentuale rivalsa INPS') != '' || $dir == 'uscita') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "required": 1, "value": "'.get_var('Percentuale rivalsa INPS').'", "values": "query=SELECT * FROM co_rivalsainps" ]}
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "value": "'.get_var('Percentuale rivalsa INPS').'", "values": "query=SELECT * FROM co_rivalsainps", "required": '.intval($dir != 'uscita').' ]}
</div>';
}
@ -55,7 +55,7 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d
if (get_var("Percentuale ritenuta d'acconto") != '' || $dir == 'uscita') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "required": 1, "value": "'.get_var("Percentuale ritenuta d'acconto").'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "value": "'.get_var("Percentuale ritenuta d'acconto").'", "values": "query=SELECT * FROM co_ritenutaacconto", "required": '.intval($dir != 'uscita').' ]}
</div>';
}

View File

@ -53,7 +53,7 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d
if (get_var('Percentuale rivalsa INPS') != '' || $dir == 'uscita') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "value": "'.$rsr[0]['idrivalsainps'].'", "values": "query=SELECT * FROM co_rivalsainps" ]}
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "value": "'.$rsr[0]['idrivalsainps'].'", "values": "query=SELECT * FROM co_rivalsainps", "required": '.intval($dir != 'uscita').' ]}
</div>';
}
@ -61,7 +61,7 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d
if (get_var("Percentuale ritenuta d'acconto") != '' || $dir == 'uscita') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "value": "'.$rsr[0]['idritenutaacconto'].'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "value": "'.$rsr[0]['idritenutaacconto'].'", "values": "query=SELECT * FROM co_ritenutaacconto", "required": '.intval($dir != 'uscita').' ]}
</div>';
}

View File

@ -97,33 +97,6 @@ echo '
</div>
</div>';
/*
if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != '') {
echo '
<div class="row">';
// Rivalsa INPS
if (get_var('Percentuale rivalsa INPS') != '') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "required": 1, "value": "'.get_var('Percentuale rivalsa INPS').'", "values": "query=SELECT * FROM co_rivalsainps" ]}
</div>';
}
// Ritenuta d'acconto
if (get_var("Percentuale ritenuta d'acconto") != '') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "required": 1, "value": "'.get_var("Percentuale ritenuta d'acconto").'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
</div>';
}
echo '
</div>';
}
*/
// Costo unitario
echo '
<div class="row">