Aggiunta tabella dt_causalet_lang

This commit is contained in:
Pek5892 2024-02-27 11:10:40 +01:00
parent 760b594e70
commit 1b3ba587e4
19 changed files with 160 additions and 57 deletions

View File

@ -22,27 +22,28 @@ include_once __DIR__.'/../../core.php';
switch (filter('op')) {
case 'update':
$descrizione = filter('descrizione');
$predefined = post('predefined');
if (isset($descrizione)) {
if ($dbo->fetchNum('SELECT * FROM `dt_causalet` WHERE `deleted_at` IS NULL AND `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) {
$predefined = post('predefined');
if ($dbo->fetchNum('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)) == 0) {
if (!empty($predefined)) {
$dbo->query('UPDATE dt_causalet SET predefined = 0');
}
$dbo->update('dt_causalet', [
'descrizione' => $descrizione,
'is_importabile' => filter('is_importabile'),
'reversed' => filter('reversed'),
'predefined' => $predefined,
'is_rientrabile' => filter('is_rientrabile'),
], ['id' => $id_record]);
$dbo->update('dt_causalet_lang', [
'name' => $descrizione,
], ['id_record' => $id_record, 'id_lang' => setting('Lingua')]);
flash()->info(tr('Salvataggio completato!'));
} else {
flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
'_TYPE_' => 'causale',
]));
flash()->error(tr("E' già presente una causale di trasporto con la stessa descrizione"));
}
} else {
flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio'));
@ -54,24 +55,24 @@ switch (filter('op')) {
$descrizione = filter('descrizione');
if (isset($descrizione)) {
if ($dbo->fetchNum('SELECT * FROM `dt_causalet` WHERE `deleted_at` IS NULL AND `descrizione`='.prepare($descrizione)) == 0) {
if ($dbo->fetchNum('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione)) == 0) {
$dbo->insert('dt_causalet', [
'descrizione' => $descrizione,
'is_importabile' => 1,
]);
$id_record = $dbo->lastInsertedID();
$dbo->insert('dt_causalet_lang', [
'name' => $descrizione,
'id_record' => $id_record,
'id_lang' => setting('Lingua'),
]);
if (isAjaxRequest()) {
echo json_encode(['id' => $id_record, 'text' => $descrizione]);
}
flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [
'_TYPE_' => 'causale',
]));
flash()->info(tr('Aggiunta nuova causale di trasporto.'));
} else {
flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione", [
'_TYPE_' => 'causale',
]));
flash()->error(tr("E' già presente una causale di trasporto con la stessa descrizione"));
}
} else {
flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio'));
@ -80,8 +81,7 @@ switch (filter('op')) {
break;
case 'delete':
$documenti = $dbo->fetchNum('SELECT id FROM dt_ddt WHERE idcausalet='.prepare($id_record).'
UNION SELECT id FROM co_documenti WHERE idcausalet='.prepare($id_record));
$documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idcausalet`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idcausalet`='.prepare($id_record));
if (isset($id_record) && empty($documenti)) {
$dbo->query('DELETE FROM `dt_causalet` WHERE `id`='.prepare($id_record));
@ -91,9 +91,7 @@ switch (filter('op')) {
], ['id' => $id_record]);
}
flash()->info(tr('Tipologia di _TYPE_ eliminata con successo.', [
'_TYPE_' => 'causale',
]));
flash()->info(tr('Causale di trasporto eliminata.'));
break;
}

View File

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

View File

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

View File

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

View File

@ -36,7 +36,7 @@ if ($module['name'] == 'Ddt di vendita') {
$tipo_anagrafica = tr('Fornitore');
$label = tr('Mittente');
}
$id_causalet = $dbo->fetchOne('SELECT id FROM dt_causalet WHERE predefined=1')['id'];
$id_causalet = $dbo->fetchOne('SELECT `id` FROM `dt_causalet` WHERE `predefined`=1')['id'];
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
?><form action="" method="post" id="add-form">

View File

@ -69,9 +69,9 @@ foreach ($stati as $stato) {
$stati_importabili[] = $stato['descrizione'];
}
$causali = $database->fetchArray('SELECT descrizione FROM `dt_causalet` WHERE `is_importabile` = 1');
$causali = $database->fetchArray('SELECT `name` FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `is_importabile` = 1');
foreach ($causali as $causale) {
$causali_importabili[] = $causale['descrizione'];
$causali_importabili[] = $causale['name'];
}
echo '

View File

@ -47,7 +47,7 @@ if (isset($id_record)) {
if (!empty($record)) {
$record['idporto'] = $record['idporto'] ?: $dbo->fetchOne('SELECT id FROM dt_porto WHERE predefined = 1')['id'];
$record['idcausalet'] = $record['idcausalet'] ?: $dbo->fetchOne('SELECT id FROM dt_causalet WHERE predefined = 1')['id'];
$record['idcausalet'] = $record['idcausalet'] ?: $dbo->fetchOne('SELECT `id` FROM `dt_causalet` WHERE `predefined` = 1')['id'];
$record['idspedizione'] = $record['idspedizione'] ?: $dbo->fetchOne('SELECT id FROM dt_spedizione WHERE predefined = 1')['id'];
}

View File

@ -131,12 +131,12 @@ class DDT extends Document
public function isImportabile()
{
$database = database();
$stati = $database->fetchArray('SELECT descrizione FROM `dt_statiddt` WHERE `is_fatturabile` = 1');
$stati = $database->fetchArray('SELECT `descrizione` FROM `dt_statiddt` WHERE `is_fatturabile` = 1');
foreach ($stati as $stato) {
$stati_importabili[] = $stato['descrizione'];
}
$causale = $database->fetchOne('SELECT * FROM `dt_causalet` WHERE `id` = '.prepare($this->idcausalet));
$causale = $database->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `dt_causalet`.`id` = '.prepare($this->idcausalet));
return $causale['is_importabile'] && in_array($this->stato->descrizione, $stati_importabili);
}
@ -144,7 +144,7 @@ class DDT extends Document
public function getReversedAttribute()
{
$database = database();
$causale = $database->fetchOne('SELECT * FROM `dt_causalet` WHERE `id` = '.prepare($this->idcausalet));
$causale = $database->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `dt_causalet`.`id` = '.prepare($this->idcausalet));
return $causale['reversed'];
}

View File

@ -50,7 +50,7 @@ $id_anagrafica = $documento_finale->idanagrafica;
echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT dt_ddt.id, CONCAT(\'DDT num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , \']\') AS descrizione FROM dt_ddt LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` WHERE idanagrafica='.prepare($id_anagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND `dt_causalet`.`is_importabile` = 1 AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0) ORDER BY data DESC, numero DESC" ]}
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT `dt_ddt`.`id`, CONCAT(\'DDT num. \', IF(`numero_esterno` != \'\', `numero_esterno`, `numero`), \' del \', DATE_FORMAT(`data`, \'%d-%m-%Y\'), \' [\', (SELECT `descrizione` FROM `dt_statiddt` WHERE `id` = `idstatoddt`) , \']\') AS descrizione FROM `dt_ddt` LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` WHERE `idanagrafica`='.prepare($id_anagrafica).' AND `idstatoddt` IN (SELECT `id` FROM `dt_statiddt` WHERE `descrizione` IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND `idtipoddt`=(SELECT `id` FROM `dt_tipiddt` WHERE `dir`='.prepare($dir).') AND `dt_causalet`.`is_importabile` = 1 AND `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` AND (`qta` - `qta_evasa`) > 0) ORDER BY `data` DESC, `numero` DESC" ]}
</div>
</div>

View File

@ -792,15 +792,20 @@ if (!$block_edit) {
}
// Lettura ddt (entrata o uscita)
$ddt_query = 'SELECT COUNT(*) AS tot FROM dt_ddt
$ddt_query = 'SELECT
COUNT(*) AS tot
FROM
`dt_ddt`
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet`
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt`
WHERE idanagrafica='.prepare($record['idanagrafica']).'
AND `dt_statiddt`.`descrizione` IN (\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')
AND `dt_tipiddt`.`dir` = '.prepare($dir).'
AND `dt_causalet`.`is_importabile` = 1
AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0)';
INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
WHERE
`idanagrafica`='.prepare($record['idanagrafica']).'
AND `dt_statiddt`.`descrizione` IN (\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')
AND `dt_tipiddt`.`dir` = '.prepare($dir).'
AND `dt_causalet`.`is_importabile` = 1
AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0';
$ddt = $dbo->fetchArray($ddt_query)[0]['tot'];
// Lettura ordini (cliente o fornitore)

View File

@ -50,7 +50,7 @@ if (isset($id_record)) {
(SELECT `is_fiscale` FROM `zz_segments` WHERE `zz_segments`.`id` = `co_documenti`.`id_segment`) AS is_fiscale,
(SELECT `descrizione` FROM `co_ritenutaacconto` WHERE `id`=`idritenutaacconto`) AS ritenutaacconto_desc,
(SELECT `descrizione` FROM `co_rivalse` WHERE `id`=`idrivalsainps`) AS rivalsainps_desc,
(SELECT `descrizione` FROM `dt_causalet` WHERE `id`=`idcausalet`) AS causale_desc
`dt_causalet_lang`.`name` AS causale_desc
FROM `co_documenti`
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento`=`co_statidocumento`.`id`
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
@ -59,6 +59,8 @@ if (isset($id_record)) {
LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento`=`co_pagamenti`.`id`
LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti_lang`.`id_record` = `co_pagamenti`.`id` AND `co_pagamenti_lang`.`id_lang` = '.prepare(setting('Lingua')).')
LEFT JOIN `dt_causalet` ON `co_documenti`.`idcausalet`=`dt_causalet`.`id`
LEFT JOIN `dt_causalet_lang` ON (`dt_causalet_lang`.`id_record` = `dt_causalet`.`id` AND `dt_causalet_lang`.`id_lang` = '.prepare(setting('Lingua')).')
WHERE `co_tipidocumento`.`dir` = '.prepare($dir).' AND `co_documenti`.`id`='.prepare($id_record));
// Note di credito collegate

View File

@ -219,7 +219,7 @@ class Fattura extends Document
if ($tipo_documento->descrizione == 'Fattura accompagnatoria di vendita') {
$model->idporto = database()->fetchOne('SELECT id FROM dt_porto WHERE predefined = 1')['id'];
$model->idcausalet = database()->fetchOne('SELECT id FROM dt_causalet WHERE predefined = 1')['id'];
$model->idcausalet = database()->fetchOne('SELECT `id` FROM `dt_causalet` WHERE `predefined` = 1')['id'];
$model->idspedizione = database()->fetchOne('SELECT id FROM dt_spedizione WHERE predefined = 1')['id'];
}

View File

@ -50,7 +50,7 @@ $id_anagrafica = $documento_finale->idanagrafica;
echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT dt_ddt.id, CONCAT(\'DDT num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , \']\') AS descrizione FROM dt_ddt LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` WHERE idanagrafica='.prepare($id_anagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND `dt_causalet`.`is_importabile` = 1 AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0) ORDER BY data DESC, numero DESC" ]}
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_documento", "values": "query=SELECT `dt_ddt`.`id`, CONCAT(\'DDT num. \', IF(`numero_esterno` != \'\', `numero_esterno`, `numero`), \' del \', DATE_FORMAT(`data`, \'%d-%m-%Y\'), \' [\', (SELECT `descrizione` FROM `dt_statiddt` WHERE `id` = `idstatoddt`) , \']\') AS descrizione FROM `dt_ddt` LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` WHERE `idanagrafica`='.prepare($id_anagrafica).' AND `idstatoddt` IN (SELECT `id` FROM `dt_statiddt` WHERE `descrizione` IN(\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND `idtipoddt`=(SELECT `id` FROM `dt_tipiddt` WHERE `dir`='.prepare($dir).') AND `dt_causalet`.`is_importabile` = 1 AND `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` AND (`qta` - `qta_evasa`) > 0) ORDER BY `data` DESC, `numero` DESC" ]}
</div>
</div>

View File

@ -503,15 +503,20 @@ if (!$block_edit) {
$contratti = $dbo->fetchArray($contr_query)[0]['tot'];
// Lettura ddt (entrata o uscita)
$ddt_query = 'SELECT COUNT(*) AS tot FROM dt_ddt
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet`
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt`
WHERE idanagrafica='.prepare($record['idanagrafica']).'
AND `dt_statiddt`.`descrizione` IN (\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')
AND `dt_tipiddt`.`dir` = '.prepare($intervento->direzione).'
AND `dt_causalet`.`is_importabile` = 1
AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0)';
$ddt_query = 'SELECT
COUNT(*) AS tot
FROM
`dt_ddt`
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet`
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt`
INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
WHERE
`idanagrafica`='.prepare($record['idanagrafica']).'
AND `dt_statiddt`.`descrizione` IN (\'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')
AND `dt_tipiddt`.`dir` = '.prepare($intervento->direzione).'
AND `dt_causalet`.`is_importabile` = 1
AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0';
$ddt = $dbo->fetchArray($ddt_query)[0]['tot'];
// Form di inserimento riga documento

View File

@ -1074,7 +1074,7 @@ class FatturaElettronica
$documento = $fattura->getDocumento();
$database = database();
$causale = $database->fetchOne('SELECT descrizione FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']))['descrizione'];
$causale = $database->fetchOne('SELECT `name` FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id`=`dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `dt_causalet`.`id` = '.prepare($documento['idcausalet']))['name'];
$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

@ -33,7 +33,7 @@ $id_sede = $record['idsede_partenza'];
$id_azienda = setting('Azienda predefinita');
$pagamento = Pagamento::find($documento['idpagamento']);
$causale = $dbo->fetchOne('SELECT * FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']));
$causale = $dbo->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(setting('Lingua')).') WHERE `dt_causalet`.`id` = '.prepare($documento['idcausalet']));
$porto = $dbo->fetchOne('SELECT * FROM dt_porto WHERE id = '.prepare($documento['idporto']));
$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']));

View File

@ -34,7 +34,7 @@ $record = $dbo->fetchOne('SELECT *,
`co_tipidocumento_lang`.`name` AS tipo_doc,
`co_tipidocumento`.`dir` AS dir,
`co_pagamenti_lang`.`name` AS pagamento,
`dt_causalet`.`descrizione` AS causalet,
`dt_causalet_lang`.`name` AS causalet,
`dt_porto`.`descrizione` AS porto,
`dt_aspettobeni_lang`.`name` AS aspettobeni,
`dt_spedizione`.`descrizione` AS spedizione,
@ -45,7 +45,7 @@ $record = $dbo->fetchOne('SELECT *,
FROM
`co_documenti`
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`co_documenti`.`idanagrafica`
LEFT JOIN `an_anagrafiche AS vettore ON vettore.idanagrafica = co_documenti.idvettore
LEFT JOIN `an_anagrafiche` AS vettore ON `vettore`.`idanagrafica` = `co_documenti`.`idvettore`
INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento`=`co_statidocumento`.`id`
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
@ -55,6 +55,7 @@ FROM
LEFT JOIN `co_banche` ON `co_banche`.`id` = `co_documenti`.`id_banca_azienda`
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment` = `zz_segments`.`id`
LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `co_documenti`.`idcausalet`
LEFT JOIN `dt_causalet_lang` ON (`dt_causalet_lang`.`id_record` = `dt_causalet`.`id` AND `dt_causalet_lang`.`id_lang` = '.prepare(setting('Lingua')).')
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')).')

View File

@ -835,4 +835,95 @@ WHERE
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';
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';
-- Aggiunta tabella dt_causalet_lang
CREATE TABLE IF NOT EXISTS `dt_causalet_lang` (
`id` int NOT NULL,
`id_lang` int NOT NULL,
`id_record` int NOT NULL,
`name` VARCHAR(255) NOT NULL
);
ALTER TABLE `dt_causalet_lang`
ADD PRIMARY KEY (`id`);
ALTER TABLE `dt_causalet_lang`
MODIFY `id` int NOT NULL AUTO_INCREMENT;
INSERT INTO `dt_causalet_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `descrizione` FROM `dt_causalet`;
ALTER TABLE `dt_causalet`
DROP `descrizione`;
ALTER TABLE `dt_causalet` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;
ALTER TABLE `dt_causalet_lang` ADD CONSTRAINT `dt_causalet_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `dt_causalet`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
-- Allineamento vista Causali trasporto
UPDATE `zz_modules` SET `options` = "
SELECT
|select|
FROM
`dt_causalet`
LEFT JOIN `dt_causalet_lang` ON (`dt_causalet_lang`.`id_record` = `dt_causalet`.`id` AND `dt_causalet_lang`.`id_lang` = |lang|)
WHERE
1=1 AND `deleted_at` IS NULL
HAVING
2=2" WHERE `name` = 'Causali';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_causalet_lang`.`name`' WHERE `zz_modules`.`name` = 'Causali' 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_causalet`.`id`' WHERE `zz_modules`.`name` = 'Causali' AND `zz_views`.`name` = 'id';
-- Allineamento vista Ddt di vendita
UPDATE `zz_modules` SET `options` = "
SELECT
|select|
FROM
`dt_ddt`
LEFT JOIN `an_anagrafiche` ON `dt_ddt`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
LEFT JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`
LEFT JOIN `dt_causalet` ON `dt_ddt`.`idcausalet` = `dt_causalet`.`id`
LEFT JOIN `dt_causalet_lang` ON (`dt_causalet_lang`.`id_record` = `dt_causalet`.`id` AND `dt_causalet_lang`.`id_lang` = |lang|)
LEFT JOIN `dt_spedizione` ON `dt_ddt`.`idspedizione` = `dt_spedizione`.`id`
LEFT JOIN `an_anagrafiche` `vettori` ON `dt_ddt`.`idvettore` = `vettori`.`idanagrafica`
LEFT JOIN `an_sedi` AS sedi ON `dt_ddt`.`idsede_partenza` = sedi.`id`
LEFT JOIN `an_sedi` AS `sedi_destinazione`ON `dt_ddt`.`idsede_destinazione` = `sedi_destinazione`.`id`
LEFT JOIN (SELECT `idddt`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `dt_righe_ddt` GROUP BY `idddt`) AS righe ON `dt_ddt`.`id` = `righe`.`idddt`
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT 'Fattura ',`co_documenti`.`numero_esterno` SEPARATOR ', ') AS `info`, `co_righe_documenti`.`original_document_id` AS `idddt` FROM `co_documenti` INNER JOIN `co_righe_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` WHERE `original_document_type`='Modules\\DDT\\DDT' GROUP BY `original_document_id`) AS `fattura` ON `fattura`.`idddt` = `dt_ddt`.`id`
LEFT JOIN (SELECT COUNT(id) as emails, em_emails.id_record FROM em_emails INNER JOIN zz_operations ON zz_operations.id_email = em_emails.id WHERE id_module IN(SELECT id FROM zz_modules WHERE name = 'Ddt di vendita') AND `zz_operations`.`op` = 'send-email' GROUP BY id_record) AS `email` ON `email`.`id_record` = `dt_ddt`.`id`
WHERE
1=1 |segment(`dt_ddt`.`id_segment`)| AND `dir` = 'entrata' |date_period(`data`)|
HAVING
2=2
ORDER BY
`data` DESC,
CAST(`numero_esterno` AS UNSIGNED) DESC,
`dt_ddt`.`created_at` DESC" WHERE `name` = 'Ddt di vendita';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_causalet_lang`.`name`' WHERE `zz_modules`.`name` = 'Ddt di vendita' AND `zz_views`.`name` = 'Causale';
-- Allineamento vista Ddt di acquisto
UPDATE `zz_modules` SET `options` = "
SELECT
|select|
FROM
`dt_ddt`
LEFT JOIN `an_anagrafiche` ON `dt_ddt`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
LEFT JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`
LEFT JOIN `dt_causalet` ON `dt_ddt`.`idcausalet` = `dt_causalet`.`id`
LEFT JOIN `dt_causalet_lang` ON (`dt_causalet_lang`.`id_record` = `dt_causalet`.`id` AND `dt_causalet_lang`.`id_lang` = |lang|)
LEFT JOIN `dt_spedizione` ON `dt_ddt`.`idspedizione` = `dt_spedizione`.`id`
LEFT JOIN `an_anagrafiche` `vettori` ON `dt_ddt`.`idvettore` = `vettori`.`idanagrafica`
LEFT JOIN `an_sedi` AS sedi ON `dt_ddt`.`idsede_partenza` = sedi.`id`
LEFT JOIN `an_sedi` AS `sedi_destinazione`ON `dt_ddt`.`idsede_destinazione` = `sedi_destinazione`.`id`
LEFT JOIN(SELECT `idddt`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`subtotale` - `sconto` + `iva`) AS `totale` FROM `dt_righe_ddt` GROUP BY `idddt`) AS righe ON `dt_ddt`.`id` = `righe`.`idddt`
LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt`
LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT 'Fattura ',`co_documenti`.`numero` SEPARATOR ', ') AS `info`, `co_righe_documenti`.`original_document_id` AS `idddt` FROM `co_documenti` INNER JOIN `co_righe_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` WHERE `original_document_type`='Modules\\DDT\\DDT' GROUP BY `original_document_id`) AS `fattura` ON `fattura`.`idddt` = `dt_ddt`.`id`
WHERE
1=1 |segment(`dt_ddt`.`id_segment`)| AND `dir` = 'uscita' |date_period(`data`)|
HAVING
2=2
ORDER BY
`data` DESC,
CAST(`numero_esterno` AS UNSIGNED) DESC,
`dt_ddt`.`created_at` DESC" WHERE `name` = 'Ddt di acquisto';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_causalet_lang`.`name`' WHERE `zz_modules`.`name` = 'Ddt di acquisto' AND `zz_views`.`name` = 'Causale';

View File

@ -65,6 +65,7 @@ return [
'dt_aspettobeni',
'dt_aspettobeni_lang',
'dt_causalet',
'dt_causalet_lang',
'dt_ddt',
'dt_porto',
'dt_righe_ddt',