Skip to content

Commit bd6c3b0

Browse files
committed
fix: background articoli per giacenze
1 parent 43dcb80 commit bd6c3b0

3 files changed

Lines changed: 29 additions & 31 deletions

File tree

update/2_8.sql

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -240,34 +240,6 @@ INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
240240
UPDATE `zz_modules` SET `directory` = 'categorie' WHERE `zz_modules`.`name` = 'Categorie';
241241
UPDATE `zz_modules` SET `attachments_directory` = 'categorie' WHERE `zz_modules`.`name` = 'Categorie';
242242

243-
-- Allineamento vista Articoli
244-
UPDATE `zz_modules` SET `options` = "
245-
SELECT
246-
|select|
247-
FROM
248-
`mg_articoli`
249-
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.|lang|)
250-
LEFT JOIN `an_anagrafiche` ON `mg_articoli`.`id_fornitore` = `an_anagrafiche`.`idanagrafica`
251-
LEFT JOIN `co_iva` ON `mg_articoli`.`idiva_vendita` = `co_iva`.`id`
252-
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_impegnata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'entrata' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1 GROUP BY `idarticolo`) a ON `a`.`idarticolo` = `mg_articoli`.`id`
253-
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_ordinata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'uscita' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1
254-
GROUP BY `idarticolo`) ordini_fornitore ON `ordini_fornitore`.`idarticolo` = `mg_articoli`.`id`
255-
LEFT JOIN `mg_categorie` ON `mg_articoli`.`id_categoria` = `mg_categorie`.`id`
256-
LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.|lang|)
257-
LEFT JOIN `mg_categorie` AS sottocategorie ON `mg_articoli`.`id_sottocategoria` = `sottocategorie`.`id`
258-
LEFT JOIN `mg_categorie_lang` AS sottocategorie_lang ON (`sottocategorie`.`id` = `sottocategorie_lang`.`id_record` AND `sottocategorie_lang`.|lang|)
259-
LEFT JOIN (SELECT `co_iva`.`percentuale` AS perc, `co_iva`.`id`, `zz_settings`.`nome` FROM `co_iva` INNER JOIN `zz_settings` ON `co_iva`.`id`=`zz_settings`.`valore`)AS iva ON `iva`.`nome`= 'Iva predefinita'
260-
LEFT JOIN mg_scorte_sedi ON mg_scorte_sedi.id_articolo = mg_articoli.id
261-
LEFT JOIN (SELECT CASE WHEN MIN(differenza) < 0 THEN -1 WHEN MAX(threshold_qta) > 0 THEN 1 ELSE 0 END AS stato_giacenza, idarticolo FROM (SELECT SUM(mg_movimenti.qta) - COALESCE(mg_scorte_sedi.threshold_qta, 0) AS differenza, COALESCE(mg_scorte_sedi.threshold_qta, 0) as threshold_qta, mg_movimenti.idarticolo FROM mg_movimenti LEFT JOIN mg_scorte_sedi ON mg_scorte_sedi.id_sede = mg_movimenti.idsede AND mg_scorte_sedi.id_articolo = mg_movimenti.idarticolo GROUP BY mg_movimenti.idarticolo, mg_movimenti.idsede) AS subquery GROUP BY idarticolo) AS giacenze ON giacenze.idarticolo = mg_articoli.id
262-
WHERE
263-
1=1 AND `mg_articoli`.`deleted_at` IS NULL
264-
GROUP BY
265-
`mg_articoli`.`id`
266-
HAVING
267-
2=2
268-
ORDER BY
269-
`mg_articoli_lang`.`title`" WHERE `name` = 'Articoli';
270-
271243
UPDATE `zz_modules` SET `options` = REPLACE(`options`, 'mg_categorie_lang', 'zz_categorie_lang') WHERE `options` LIKE '%mg_categorie_lang%';
272244
UPDATE `zz_modules` SET `options` = REPLACE(`options`, 'mg_categorie', 'zz_categorie') WHERE `options` LIKE '%mg_categorie%';
273245
UPDATE `zz_views` SET `query` = REPLACE(`query`, 'mg_categorie_lang', 'zz_categorie_lang') WHERE `query` LIKE '%mg_categorie_lang%';

update/2_9_3.sql

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,6 @@ HAVING
148148
ORDER BY
149149
`co_documenti`.`data` DESC, CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC' WHERE `zz_modules`.`name` = 'Fatture di vendita';
150150

151-
UPDATE `zz_views` LEFT JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `query` = "IF(giacenze.stato_giacenza = 0, '', IF(giacenze.stato_giacenza > 0, '#CCFFCC', '#ec5353'))" WHERE `zz_views`.`name` = '_bg_' AND `zz_modules`.`name` = 'Articoli';
152-
153151
-- fix: invio via mail token otp
154152
ALTER TABLE `em_emails` CHANGE `created_by` `created_by` INT(11) NULL;
155153

update/2_9_5.sql

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,32 @@ FROM (
4848
) AS dati
4949
WHERE 1=1
5050
HAVING 2=2
51-
ORDER BY `Data inizio` DESC" WHERE `name` = 'Log eventi';
51+
ORDER BY `Data inizio` DESC" WHERE `name` = 'Log eventi';
52+
53+
-- Allineamento vista Articoli
54+
UPDATE `zz_modules` SET `options` = "
55+
SELECT
56+
|select|
57+
FROM
58+
`mg_articoli`
59+
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.|lang|)
60+
LEFT JOIN `an_anagrafiche` ON `mg_articoli`.`id_fornitore` = `an_anagrafiche`.`idanagrafica`
61+
LEFT JOIN `co_iva` ON `mg_articoli`.`idiva_vendita` = `co_iva`.`id`
62+
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS `qta_impegnata`, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'entrata' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1 GROUP BY `idarticolo`) a ON `a`.`idarticolo` = `mg_articoli`.`id`
63+
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS `qta_ordinata`, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'uscita' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1 GROUP BY `idarticolo`) `ordini_fornitore` ON `ordini_fornitore`.`idarticolo` = `mg_articoli`.`id`
64+
LEFT JOIN `zz_categorie` ON `mg_articoli`.`id_categoria` = `zz_categorie`.`id`
65+
LEFT JOIN `zz_categorie_lang` ON (`zz_categorie`.`id` = `zz_categorie_lang`.`id_record` AND `zz_categorie_lang`.|lang|)
66+
LEFT JOIN `zz_categorie` AS `sottocategorie` ON `mg_articoli`.`id_sottocategoria` = `sottocategorie`.`id`
67+
LEFT JOIN `zz_categorie_lang` AS `sottocategorie_lang` ON (`sottocategorie`.`id` = `sottocategorie_lang`.`id_record` AND `sottocategorie_lang`.|lang|)
68+
LEFT JOIN (SELECT `co_iva`.`percentuale` AS `perc`, `co_iva`.`id`, `zz_settings`.`nome` FROM `co_iva` INNER JOIN `zz_settings` ON `co_iva`.`id` = `zz_settings`.`valore`) AS iva ON `iva`.`nome` = 'Iva predefinita'
69+
LEFT JOIN `mg_scorte_sedi` ON `mg_scorte_sedi`.`id_articolo` = `mg_articoli`.`id`
70+
LEFT JOIN (SELECT CASE WHEN MIN(`qta_attuale`) < MIN(`threshold_qta`) AND MIN(`threshold_qta`) > 0 THEN -1 WHEN MIN(`qta_attuale`) >= MIN(`threshold_qta`) AND MIN(`threshold_qta`) > 0 THEN 1 ELSE 0 END AS `stato_giacenza`, `idarticolo` FROM (SELECT COALESCE(SUM(`mg_movimenti`.`qta`), 0) AS `qta_attuale`, COALESCE(`mg_scorte_sedi`.`threshold_qta`, 0) AS `threshold_qta`, `mg_movimenti`.`idarticolo` FROM `mg_movimenti` LEFT JOIN `mg_scorte_sedi` ON (`mg_scorte_sedi`.`id_sede` = `mg_movimenti`.`idsede` AND `mg_scorte_sedi`.`id_articolo` = `mg_movimenti`.`idarticolo`) GROUP BY `mg_movimenti`.`idarticolo`, `mg_movimenti`.`idsede`) AS `subquery` WHERE `idarticolo` IS NOT NULL GROUP BY `idarticolo`) AS `giacenze` ON `giacenze`.`idarticolo` = `mg_articoli`.`id`
71+
LEFT JOIN (SELECT GROUP_CONCAT(`mg_articoli_barcode`.`barcode` SEPARATOR '<br />') AS `lista`, `mg_articoli_barcode`.`idarticolo` FROM `mg_articoli_barcode` GROUP BY `mg_articoli_barcode`.`idarticolo`) AS `barcode` ON `barcode`.`idarticolo` = `mg_articoli`.`id`
72+
WHERE
73+
1=1 AND `mg_articoli`.`deleted_at` IS NULL
74+
HAVING
75+
2=2
76+
ORDER BY
77+
`mg_articoli_lang`.`title`" WHERE `name` = 'Articoli';
78+
79+
UPDATE `zz_views` LEFT JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `query` = "IF(COALESCE(giacenze.stato_giacenza, 0) = -1, '#ec5353', IF(COALESCE(giacenze.stato_giacenza, 0) = 1, '#CCFFCC', ''))" WHERE `zz_views`.`name` = '_bg_' AND `zz_modules`.`name` = 'Articoli';

0 commit comments

Comments
 (0)