refactor: aggiunta tipi documento nella tabella fe_tipi_documento e allineamento codice

This commit is contained in:
valentina 2024-10-21 13:43:47 +02:00
parent ef39995d8f
commit b16f3d0b4f
3 changed files with 34 additions and 5 deletions

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../../core.php';
use Modules\Segmenti\Segmento;
switch ($resource) {
case 'segmenti':
@ -27,6 +28,9 @@ switch ($resource) {
$is_sezionale = $superselect['is_sezionale'];
$for_fe = $superselect['for_fe'];
$escludi_id = $superselect['escludi_id'];
$tipo = $dbo->fetchOne('SELECT * FROM fe_tipi_documento WHERE codice = '.prepare($superselect['tipo']));
$predefined_accredito = Segmento::where('predefined_accredito', 1)->where('id_module', $id_module)->first();
$predefined_addebito = Segmento::where('predefined_addebito', 1)->where('id_module', $id_module)->first();
if (isset($id_module)) {
$query = 'SELECT `zz_segments`.`id`, `zz_segments_lang`.`title` AS descrizione FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `zz_group_segment` ON `zz_segments`.`id` = `zz_group_segment`.`id_segment` |where| ORDER BY `title` ASC';
@ -34,19 +38,19 @@ switch ($resource) {
$where[] = '`zz_segments`.`id_module` = '.prepare($id_module);
$where[] = '`zz_group_segment`.`id_gruppo` = '.prepare($user->idgruppo);
if ($is_fiscale != null) {
if ($is_fiscale) {
$where[] = '`zz_segments`.`is_fiscale` = '.prepare($is_fiscale);
}
if ($is_sezionale != null) {
if ($is_sezionale) {
$where[] = '`zz_segments`.`is_sezionale` = '.prepare($is_sezionale);
}
if ($for_fe != null) {
if ($for_fe) {
$where[] = '`zz_segments`.`for_fe` = '.prepare($for_fe);
}
if ($escludi_id != null) {
if ($escludi_id) {
$where[] = '`zz_segments`.`id` != '.prepare($escludi_id);
}
@ -54,9 +58,22 @@ switch ($resource) {
$filter[] = '`zz_segments`.`id`='.prepare($element);
}
if ($tipo['is_autofattura']) {
$where[] = '`zz_segments`.`autofatture` = 1';
}
if ($tipo['is_nota_credito'] && $predefined_accredito) {
$where[] = '`zz_segments`.`predefined_accredito` = 1';
}
if ($tipo['is_nota_debito'] && $predefined_addebito) {
$where[] = '`zz_segments`.`predefined_addebito` = 1';
}
if (!empty($search)) {
$search_fields[] = '`zz_segments_lang`.`title` LIKE '.prepare('%'.$search.'%');
}
}
break;

View File

@ -59,7 +59,7 @@ $id_module_vendite = Module::where('name', 'Fatture di vendita')->first()->id;
echo '
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1]).', "value": "$id_segment$" ]}
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1, 'tipo' => $record['codice_tipo_documento_fe']]).', "value": "$id_segment$" ]}
</div>
<div class="col-md-12">

View File

@ -25,3 +25,15 @@ INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
-- Rimozione impostazioni deprecate per sezionale predefinito autofatture
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di vendita';
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di acquisto';
-- Aggiunta flag is_autofattura, is_nota_debito e is_nota_credito in fe_tipi_documento
ALTER TABLE `fe_tipi_documento` ADD `is_autofattura` INT NOT NULL DEFAULT '0' AFTER `name`, ADD `is_nota_credito` INT NOT NULL DEFAULT '0' AFTER `is_autofattura`, ADD `is_nota_debito` INT NOT NULL DEFAULT '0' AFTER `is_nota_credito`;
UPDATE `fe_tipi_documento` SET `is_nota_credito` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD04';
UPDATE `fe_tipi_documento` SET `is_nota_debito` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD05';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD16';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD17';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD18';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD19';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD20';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD21';
UPDATE `fe_tipi_documento` SET `is_autofattura` = 1 WHERE `fe_tipi_documento`.`codice` = 'TD28';