Aggiunta tabella dt_aspettobeni_lang

This commit is contained in:
Pek5892 2024-02-27 09:59:44 +01:00
parent 74930d424f
commit 760b594e70
9 changed files with 58 additions and 29 deletions

View File

@ -23,49 +23,40 @@ switch (post('op')) {
case 'update':
$descrizione = post('descrizione');
if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) {
$dbo->query('UPDATE `dt_aspettobeni` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record));
if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`lang`='.prepare(setting('Lingua')).') WHERE `name`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)) == 0) {
$dbo->query('UPDATE `dt_aspettobeni_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `lang`='.prepare(setting('Lingua'));
flash()->info(tr('Salvataggio completato.'));
} else {
flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
'_TYPE_' => 'bene',
]));
flash()->error(tr("E' già presente un aspetto beni con questa descrizione."));
}
break;
case 'add':
$descrizione = post('descrizione');
if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` WHERE `descrizione`='.prepare($descrizione)) == 0) {
$dbo->query('INSERT INTO `dt_aspettobeni` (`descrizione`) VALUES ('.prepare($descrizione).')');
if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni_lang` WHERE `name`='.prepare($descrizione)) == 0) {
$dbo->query('INSERT INTO `dt_aspettobeni` (`created_at`) VALUES (NOW())');
$id_record = $dbo->lastInsertedID();
$dbo->query('INSERT INTO `dt_aspettobeni_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(setting('Lingua')).')');
if (isAjaxRequest()) {
echo json_encode(['id' => $id_record, 'text' => $descrizione]);
}
flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [
'_TYPE_' => 'bene',
]));
flash()->info(tr('Aggiunto nuovo Aspetto beni.'));
} else {
flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
'_TYPE_' => 'bene',
]));
flash()->error(tr("E' già presente un aspetto beni con questa descrizione."));
}
break;
case 'delete':
$documenti = $dbo->fetchNum('SELECT id FROM dt_ddt WHERE idaspettobeni='.prepare($id_record).'
UNION SELECT id FROM co_documenti WHERE idaspettobeni='.prepare($id_record));
$documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idaspettobeni`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idaspettobeni`='.prepare($id_record));
if (isset($id_record) && empty($documenti)) {
$dbo->query('DELETE FROM `dt_aspettobeni` WHERE `id`='.prepare($id_record));
flash()->info(tr('Tipologia di _TYPE_ eliminata con successo.', [
'_TYPE_' => 'bene',
]));
flash()->info(tr('Aspetto beni eliminato con successo.'));
} else {
flash()->error(tr('Sono presenti dei documenti collegati a questo aspetto beni.'));
}

View File

@ -21,14 +21,14 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'aspetto-beni':
$query = 'SELECT id, descrizione FROM dt_aspettobeni |where| ORDER BY descrizione ASC';
$query = 'SELECT `dt_aspettobeni`.`id`, `dt_aspettobeni_lang`.`name` as descrizione FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') |where| ORDER BY `name` ASC';
foreach ($elements as $element) {
$filter[] = 'id='.prepare($element);
$filter[] = '`dt_aspettobeni`.`id`='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
}
break;

View File

@ -34,7 +34,7 @@ include_once __DIR__.'/../../core.php';
<div class="panel-body">
<div class="row">
<div class="col-md-12">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$name$" ]}
</div>
</div>
</div>

View File

@ -20,5 +20,5 @@
include_once __DIR__.'/../../core.php';
if (isset($id_record)) {
$record = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` WHERE id='.prepare($id_record));
$record = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id`='.prepare($id_record));
}

View File

@ -1075,7 +1075,7 @@ class FatturaElettronica
$database = database();
$causale = $database->fetchOne('SELECT descrizione FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']))['descrizione'];
$aspetto = $database->fetchOne('SELECT descrizione FROM dt_aspettobeni WHERE id = '.prepare($documento['idaspettobeni']))['descrizione'];
$aspetto = $database->fetchOne('SELECT `name` FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']))['name'];
$result = [];

View File

@ -35,7 +35,7 @@ $id_azienda = setting('Azienda predefinita');
$pagamento = Pagamento::find($documento['idpagamento']);
$causale = $dbo->fetchOne('SELECT * FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']));
$porto = $dbo->fetchOne('SELECT * FROM dt_porto WHERE id = '.prepare($documento['idporto']));
$aspetto_beni = $dbo->fetchOne('SELECT * FROM dt_aspettobeni WHERE id = '.prepare($documento['idaspettobeni']));
$aspetto_beni = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']));
$spedizione = $dbo->fetchOne('SELECT * FROM dt_spedizione WHERE id = '.prepare($documento['idspedizione']));
$vettore = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare($documento['idvettore']));

View File

@ -36,7 +36,7 @@ $record = $dbo->fetchOne('SELECT *,
`co_pagamenti_lang`.`name` AS pagamento,
`dt_causalet`.`descrizione` AS causalet,
`dt_porto`.`descrizione` AS porto,
`dt_aspettobeni`.`descrizione` AS aspettobeni,
`dt_aspettobeni_lang`.`name` AS aspettobeni,
`dt_spedizione`.`descrizione` AS spedizione,
`vettore`.`ragione_sociale` AS vettore,
`co_banche`.`id` AS id_banca,
@ -57,6 +57,7 @@ FROM
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `co_documenti`.`idcausalet`
LEFT JOIN `dt_porto` ON `dt_porto`.`id` = `co_documenti`.`idporto`
LEFT JOIN `dt_aspettobeni` ON `dt_aspettobeni`.`id` = `co_documenti`.`idaspettobeni`
LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni_lang`.`id_record` = `dt_aspettobeni`.`id` AND `dt_aspettobeni_lang`.`id_lang` = '.prepare(setting('Lingua')).')
LEFT JOIN `dt_spedizione` ON `dt_spedizione`.`id` = `co_documenti`.`idspedizione`
WHERE
`co_documenti`.`id`='.prepare($id_record));

View File

@ -799,4 +799,40 @@ WHERE
HAVING
2=2" WHERE `name` = 'Categorie documenti';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`do_categorie_lang`.`name`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'Descrizione';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`do_categorie`.`id`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'id';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`do_categorie`.`id`' WHERE `zz_modules`.`name` = 'Categorie documenti' AND `zz_views`.`name` = 'id';
-- Aggiunta tabella dt_aspettobeni_lang
CREATE TABLE IF NOT EXISTS `dt_aspettobeni_lang` (
`id` int NOT NULL,
`id_lang` int NOT NULL,
`id_record` int NOT NULL,
`name` VARCHAR(255) NOT NULL
);
ALTER TABLE `dt_aspettobeni_lang`
ADD PRIMARY KEY (`id`);
ALTER TABLE `dt_aspettobeni_lang`
MODIFY `id` int NOT NULL AUTO_INCREMENT;
INSERT INTO `dt_aspettobeni_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `descrizione` FROM `dt_aspettobeni`;
ALTER TABLE `dt_aspettobeni`
DROP `descrizione`;
ALTER TABLE `dt_aspettobeni` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;
ALTER TABLE `dt_aspettobeni_lang` ADD CONSTRAINT `dt_aspettobeni_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `dt_aspettobeni`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
-- Allineamento vista Aspetto beni
UPDATE `zz_modules` SET `options` = "
SELECT
|select|
FROM
`dt_aspettobeni`
LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni_lang`.`id_record` = `dt_aspettobeni`.`id` AND `dt_aspettobeni_lang`.`id_lang` = |lang|)
WHERE
1=1
HAVING
2=2" WHERE `name` = 'Aspetto beni';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_aspettobeni_lang`.`name`' WHERE `zz_modules`.`name` = 'Aspetto beni' AND `zz_views`.`name` = 'Descrizione';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_aspettobeni`.`id`' WHERE `zz_modules`.`name` = 'Aspetto beni' AND `zz_views`.`name` = 'id';

View File

@ -63,6 +63,7 @@ return [
'do_documenti',
'do_permessi',
'dt_aspettobeni',
'dt_aspettobeni_lang',
'dt_causalet',
'dt_ddt',
'dt_porto',