mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-03 09:17:37 +01:00
Aggiunta tabella dt_causalet_lang
This commit is contained in:
parent
760b594e70
commit
1b3ba587e4
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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">
|
||||
|
@ -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 '
|
||||
|
@ -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'];
|
||||
}
|
||||
|
||||
|
@ -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'];
|
||||
}
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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'];
|
||||
}
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 = [];
|
||||
|
@ -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']));
|
||||
|
@ -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')).')
|
||||
|
@ -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';
|
@ -65,6 +65,7 @@ return [
|
||||
'dt_aspettobeni',
|
||||
'dt_aspettobeni_lang',
|
||||
'dt_causalet',
|
||||
'dt_causalet_lang',
|
||||
'dt_ddt',
|
||||
'dt_porto',
|
||||
'dt_righe_ddt',
|
||||
|
Loading…
x
Reference in New Issue
Block a user