Miglioramento della gestione delle referenze eliminate
This commit is contained in:
parent
fa1dcef03c
commit
20b9869d64
|
@ -13,7 +13,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
return false;
|
||||
}
|
||||
|
||||
// DDT
|
||||
// Ddt
|
||||
if (!empty($array['idddt'])) {
|
||||
$rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_tipiddt.descrizione AS tipo, dt_tipiddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
|
||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
|
|
|
@ -42,7 +42,7 @@ switch (post('op')) {
|
|||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
$_SESSION['infos'][] = tr('Aggiunto DDT in _TYPE_ numero _NUM_!', [
|
||||
$_SESSION['infos'][] = tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [
|
||||
'_TYPE_' => $dir,
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
|
|
@ -19,7 +19,7 @@ $idanagrafica = $record[0]['idanagrafica'];
|
|||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('DDT').'", "name": "id_ddt", "required": 1, "values": "query=SELECT id, CONCAT(\'nr. \', if(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\')) AS descrizione, numero, numero_esterno, DATE_FORMAT(data, \'%d-%m-%Y\') AS data FROM dt_ddt WHERE idanagrafica='.prepare($idanagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione=\'Bozza\') AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') ORDER BY data DESC, numero DESC" ]}
|
||||
{[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_ddt", "required": 1, "values": "query=SELECT id, CONCAT(\'nr. \', if(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\')) AS descrizione, numero, numero_esterno, DATE_FORMAT(data, \'%d-%m-%Y\') AS data FROM dt_ddt WHERE idanagrafica='.prepare($idanagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione=\'Bozza\') AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') ORDER BY data DESC, numero DESC" ]}
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
|
|
@ -5,8 +5,7 @@ include_once __DIR__.'/../../core.php';
|
|||
/*
|
||||
Righe fattura
|
||||
*/
|
||||
$q = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento=".prepare($id_record).' LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' ORDER BY `order`';
|
||||
$rs = $dbo->fetchArray($q);
|
||||
$rs = $dbo->fetchArray("SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento=".prepare($id_record).' LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' ORDER BY `order`');
|
||||
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed table-bordered">
|
||||
|
@ -87,78 +86,63 @@ if (!empty($rs)) {
|
|||
}
|
||||
}
|
||||
|
||||
$descrizione = null;
|
||||
$ref_modulo = null;
|
||||
$ref_id = null;
|
||||
|
||||
// Aggiunta riferimento a ordine
|
||||
if (!empty($r['idordine'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data, dir FROM or_ordini JOIN or_tipiordine ON or_tipiordine.id = or_ordini.idtipoordine WHERE or_ordini.id='.prepare($r['idordine']));
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM or_ordini or_ordini.id=".prepare($r['idordine']));
|
||||
|
||||
$ref_modulo = $rso[0]['dir'] == 'entrata' ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$ref_modulo = ($dir == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$ref_id = $r['idordine'];
|
||||
|
||||
if (!empty($rso)) {
|
||||
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
|
||||
$descrizione = tr('Rif. ordine num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]);
|
||||
}
|
||||
$documento = tr('Ordine');
|
||||
} elseif (!empty($r['idddt'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM dt_ddt JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($r['idddt']));
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM dt_ddt WHERE dt_ddt.id=".prepare($r['idddt']));
|
||||
|
||||
$ref_modulo = $rso[0]['dir'] == 'entrata' ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||
$ref_modulo = ($dir == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||
$ref_id = $r['idddt'];
|
||||
|
||||
if (!empty($rso)) {
|
||||
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
|
||||
|
||||
$descrizione = tr('Rif. ddt num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $numero,
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
|
||||
]);
|
||||
}
|
||||
$documento = tr('Ddt');
|
||||
} elseif (!empty($r['idpreventivo'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, data_bozza FROM co_preventivi WHERE id='.prepare($r['idpreventivo']));
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_preventivi WHERE id='.prepare($r['idpreventivo']));
|
||||
|
||||
$ref_modulo = 'Preventivi';
|
||||
$ref_id = $r['idpreventivo'];
|
||||
|
||||
if (!empty($rso)) {
|
||||
$descrizione = tr('Rif. preventivo num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rso[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data_bozza']),
|
||||
]);
|
||||
}
|
||||
$documento = tr('Preventivo');
|
||||
} elseif (!empty($r['idcontratto'])) {
|
||||
$rso = $dbo->fetchArray('SELECT numero, data_bozza FROM co_contratti WHERE id='.prepare($r['idcontratto']));
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_contratti WHERE id='.prepare($r['idcontratto']));
|
||||
|
||||
$ref_modulo = 'Preventivi';
|
||||
$ref_modulo = 'Contratti';
|
||||
$ref_id = $r['idcontratto'];
|
||||
|
||||
if (!empty($rso)) {
|
||||
$descrizione = tr('Rif. contratto num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rso[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data_bozza']),
|
||||
]);
|
||||
}
|
||||
$documento = tr('Contratto');
|
||||
} elseif (!empty($r['idintervento'])) {
|
||||
$rso = $dbo->fetchArray('SELECT codice, data_richiesta FROM in_interventi WHERE id='.prepare($r['idintervento']));
|
||||
$data = $dbo->fetchArray('SELECT codice AS numero, data_richiesta AS data FROM in_interventi WHERE id='.prepare($r['idintervento']));
|
||||
|
||||
$ref_modulo = 'Interventi';
|
||||
$ref_id = $r['idintervento'];
|
||||
|
||||
if (!empty($rso)) {
|
||||
$descrizione = tr('Rif. intervento num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $rso[0]['codice'],
|
||||
'_DATE_' => Translator::dateToLocale($rso[0]['data_richiesta']),
|
||||
]);
|
||||
}
|
||||
$documento = tr('Intervento');
|
||||
}
|
||||
|
||||
if (!empty($descrizione)) {
|
||||
if (!empty($ref_modulo) && !empty($ref_id)) {
|
||||
$documento = Stringy\Stringy::create($documento)->toLowerCase();
|
||||
|
||||
if (!empty($data)) {
|
||||
$descrizione = tr('Rif. _DOC_ num. _NUM_ del _DATE_', [
|
||||
'_DOC_' => $documento,
|
||||
'_NUM_' => $data[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($data[0]['data']),
|
||||
]);
|
||||
} else {
|
||||
$descrizione = tr('_DOC_ di riferimento _ID_ eliminato', [
|
||||
'_DOC_' => $documento->upperCaseFirst(),
|
||||
'_ID_' => $ref_id,
|
||||
]);
|
||||
}
|
||||
|
||||
echo '
|
||||
<br>'.Modules::link($ref_modulo, $ref_id, $descrizione, $descrizione);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
function check_query($query)
|
||||
{
|
||||
$query = strtoupper($query);
|
||||
$query = mb_strtoupper($query);
|
||||
|
||||
$blacklist = ['INSERT', 'UPDATE', 'TRUNCATE', 'DELETE', 'DROP', 'GRANT', 'CREATE', 'REVOKE'];
|
||||
foreach ($blacklist as $value) {
|
||||
|
|
|
@ -15,7 +15,7 @@ $numero = !empty($records[0]['numero_esterno']) ? $records[0]['numero_esterno']
|
|||
|
||||
if (empty($records[0]['numero_esterno'])) {
|
||||
$numero = 'pro-forma '.$numero;
|
||||
$tipo_doc = 'DDT PRO-FORMA';
|
||||
$tipo_doc = tr('Ddt pro-forma', [], ['upper' => true]);
|
||||
}
|
||||
|
||||
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
||||
|
@ -42,7 +42,7 @@ if (!empty($records[0]['idsede'])) {
|
|||
|
||||
// Sostituzioni specifiche
|
||||
$custom = [
|
||||
'tipo_doc' => strtoupper($tipo_doc),
|
||||
'tipo_doc' => $tipo_doc,
|
||||
'numero_doc' => $numero,
|
||||
'data' => Translator::dateToLocale($records[0]['data']),
|
||||
'pagamento' => $records[0]['tipo_pagamento'],
|
||||
|
|
|
@ -19,7 +19,7 @@ $tipo_doc = $records[0]['tipo_doc'];
|
|||
if ($records[0]['stato_doc'] != 'Bozza') {
|
||||
$numero = !empty($records[0]['numero_esterno']) ? $records[0]['numero_esterno'] : $records[0]['numero'];
|
||||
} else {
|
||||
$tipo_doc = 'Fattura pro forma';
|
||||
$tipo_doc = tr('Fattura pro forma');
|
||||
$numero = 'PRO-'.$records[0]['numero'];
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ if (!empty($records[0]['idsede'])) {
|
|||
|
||||
// Sostituzioni specifiche
|
||||
$custom = [
|
||||
'tipo_doc' => strtoupper($tipo_doc),
|
||||
'tipo_doc' => Stringy\Stringy::create($tipo_doc)->toUpperCase(),
|
||||
'numero_doc' => $numero,
|
||||
'data' => Translator::dateToLocale($records[0]['data']),
|
||||
'pagamento' => $records[0]['tipo_pagamento'],
|
||||
|
|
|
@ -15,7 +15,6 @@ $numero = !empty($records[0]['numero_esterno']) ?$records[0]['numero_esterno'] :
|
|||
|
||||
// Sostituzioni specifiche
|
||||
$custom = [
|
||||
'tipo_doc' => strtoupper($records[0]['tipo_doc']),
|
||||
'numero_doc' => $numero,
|
||||
'data' => Translator::dateToLocale($records[0]['data']),
|
||||
'pagamento' => $records[0]['tipo_pagamento'],
|
||||
|
|
|
@ -57,7 +57,7 @@ UPDATE `my_componenti_interventi` SET `id_intervento` = NULL WHERE `id_intervent
|
|||
ALTER TABLE `co_ordiniservizio` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `co_preventivi_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `co_righe_contratti` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `co_righe_documenti` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `co_righe_documenti` CHANGE `idintervento` `idintervento` int(11);
|
||||
ALTER TABLE `in_righe_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `mg_movimenti` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `mg_articoli_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
|
@ -82,13 +82,13 @@ DROP TABLE `dt_automezzi_tagliandi`;
|
|||
DROP TABLE `co_contratti_interventi`;
|
||||
|
||||
-- RELEASE 2.2.1 [NON UFFICIALE] --
|
||||
-- Aggiunta del campo desc_iva anche per Preventivi, DDT e Ordini
|
||||
-- Aggiunta del campo desc_iva anche per Preventivi, Ddt e Ordini
|
||||
ALTER TABLE `dt_righe_ddt` ADD `desc_iva` varchar(255) NOT NULL AFTER `idiva`;
|
||||
ALTER TABLE `co_righe_preventivi` ADD `desc_iva` varchar(255) NOT NULL AFTER `idiva`;
|
||||
ALTER TABLE `or_righe_ordini` ADD `desc_iva` varchar(255) NOT NULL AFTER `idiva`;
|
||||
ALTER TABLE `co_righe2_contratti` ADD `desc_iva` varchar(255) NOT NULL AFTER `idiva`;
|
||||
|
||||
-- Fix per l'ordinamento delle righe in Preventivi, DDT e Ordini
|
||||
-- Fix per l'ordinamento delle righe in Preventivi, Ddt e Ordini
|
||||
ALTER TABLE `co_righe_preventivi` ADD `order` tinyint(11) NOT NULL AFTER `qta`;
|
||||
ALTER TABLE `dt_righe_ddt` ADD `order` tinyint(11) NOT NULL AFTER `qta_evasa`;
|
||||
ALTER TABLE `or_righe_ordini` ADD `order` tinyint(11) NOT NULL AFTER `qta_evasa`;
|
||||
|
@ -882,9 +882,6 @@ ALTER TABLE `dt_automezzi_tecnici` CHANGE `data_inizio` `data_inizio` date, CHAN
|
|||
ALTER TABLE `my_impianto_componenti` CHANGE `data` `data` date, CHANGE `data_sostituzione` `data_sostituzione` date;
|
||||
ALTER TABLE `or_righe_ordini` CHANGE `data_evasione` `data_evasione` date;
|
||||
|
||||
-- ALTER TABLE `my_componenti_interventi` ADD PRIMARY KEY (`id_intervento`, `id_componente`);
|
||||
-- ALTER TABLE `my_impianti_interventi` ADD PRIMARY KEY (`idintervento`, `idimpianto`);
|
||||
|
||||
-- Fix di alcuni problemi con le query dei widget
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM(qta),2), ",", "#"), ".", ","), "#", "."), "unità") AS dato FROM mg_articoli WHERE qta>0' WHERE `name` = 'Articoli in magazzino';
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT(SUM(prezzo_acquisto*qta),2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM mg_articoli WHERE qta>0' WHERE `name` = 'Valore magazzino';
|
||||
|
@ -893,7 +890,7 @@ UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE
|
|||
UPDATE `in_interventi_tecnici` SET `idtipointervento` = (SELECT `idtipointervento` FROM `in_interventi` WHERE `idintervento` = `in_interventi`.`id`) WHERE `idtipointervento` = '';
|
||||
|
||||
-- Fix per i serial number
|
||||
ALTER TABLE `mg_prodotti` ADD `id_riga_documento` int(11), ADD FOREIGN KEY (`id_riga_documento`) REFERENCES `co_righe_documenti`(`id`) ON DELETE CASCADE, ADD `id_riga_ordine` int(11), ADD FOREIGN KEY (`id_riga_ordine`) REFERENCES `or_righe_ordini`(`id`) ON DELETE CASCADE, ADD `id_riga_ddt` int(11), ADD FOREIGN KEY (`id_riga_ddt`) REFERENCES `dt_righe_ddt`(`id`) ON DELETE CASCADE, ADD `id_riga_intervento` int(11), ADD FOREIGN KEY (`id_riga_intervento`) REFERENCES `mg_articoli_interventi`(`id`) ON DELETE CASCADE, ADD `dir` enum('entrata', 'uscita') DEFAULT 'uscita', CHANGE `idarticolo` `id_articolo` int(11), ADD FOREIGN KEY (`id_articolo`) REFERENCES `mg_articoli`(`id`) ON DELETE CASCADE, CHANGE `serial` `serial` varchar(50), CHANGE `lotto` `lotto` varchar(50), CHANGE `altro` `altro` varchar(50);
|
||||
ALTER TABLE `mg_prodotti` ADD `id_riga_documento` int(11), ADD FOREIGN KEY (`id_riga_documento`) REFERENCES `co_righe_documenti`(`id`) ON DELETE CASCADE, ADD `id_riga_ordine` int(11), ADD FOREIGN KEY (`id_riga_ordine`) REFERENCES `or_righe_ordini`(`id`) ON DELETE CASCADE, ADD `id_riga_ddt` int(11), ADD FOREIGN KEY (`id_riga_ddt`) REFERENCES `dt_righe_ddt`(`id`) ON DELETE CASCADE, ADD `id_riga_intervento` int(11), ADD FOREIGN KEY (`id_riga_intervento`) REFERENCES `mg_articoli_interventi`(`id`) ON DELETE CASCADE, ADD `dir` enum('entrata', 'uscita') DEFAULT 'uscita', CHANGE `idarticolo` `id_articolo` int(11), ADD FOREIGN KEY (`id_articolo`) REFERENCES `mg_articoli`(`id`) ON DELETE SET NULL, CHANGE `serial` `serial` varchar(50), CHANGE `lotto` `lotto` varchar(50), CHANGE `altro` `altro` varchar(50);
|
||||
|
||||
INSERT INTO `mg_prodotti` (`id_riga_documento`, `dir`, `id_articolo`, `serial`, `lotto`, `altro`) SELECT `id`, (SELECT `dir` FROM `co_tipidocumento` JOIN `co_documenti` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`), IF(`idarticolo` IN (SELECT `id` FROM `mg_articoli`), `idarticolo`, NULL), `serial`, `lotto`, `altro` FROM `co_righe_documenti`;
|
||||
|
||||
|
@ -945,3 +942,7 @@ UPDATE `zz_modules` SET `title` = `name` WHERE `title` = '';
|
|||
|
||||
-- Aggiunta del campo per introdurre l'help nei widget
|
||||
ALTER TABLE `zz_widgets` ADD `help` VARCHAR(255) NULL;
|
||||
|
||||
-- ALTER TABLE `my_componenti_interventi` ADD PRIMARY KEY (`id_intervento`, `id_componente`);
|
||||
-- ALTER TABLE `my_impianti_interventi` ADD PRIMARY KEY (`idintervento`, `idimpianto`);
|
||||
-- ALTER TABLE `co_righe_documenti`ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
|
|
Loading…
Reference in New Issue