From 276dcee1ddee8fc0a01b59fbc0264459281c2d1f Mon Sep 17 00:00:00 2001 From: MinaR Date: Wed, 9 Jul 2025 12:51:41 +0200 Subject: [PATCH] gestire articoli a kg --- .../model/Migration_20250709123457.java | 21 ++++++++++++++++ .../ScontriniZucchettiExportServices.java | 25 ++++++++++++------- 2 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250709123457.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250709123457.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250709123457.java new file mode 100644 index 0000000000..2d2edc380e --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20250709123457.java @@ -0,0 +1,21 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20250709123457 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + createSetup("EXPORT_SCONTRINI", "ZUCCHETTI", "REPARTI_KG", null, + "Reparti gestiti a KG", true, null, true, false, + false, false, false, "mtb_grup", false, null); + } + + @Override + public void down() throws Exception { + } +} \ No newline at end of file diff --git a/ems-engine/src/main/java/it/integry/ems/retail/export/service/ScontriniZucchettiExportServices.java b/ems-engine/src/main/java/it/integry/ems/retail/export/service/ScontriniZucchettiExportServices.java index f20f83e2d2..188828addd 100644 --- a/ems-engine/src/main/java/it/integry/ems/retail/export/service/ScontriniZucchettiExportServices.java +++ b/ems-engine/src/main/java/it/integry/ems/retail/export/service/ScontriniZucchettiExportServices.java @@ -71,14 +71,23 @@ public class ScontriniZucchettiExportServices { sql = Query.format( + "with setup as (\n" + + "select val_col_rif AS COD_MGRP,\n" + + "MAX(IIF(key_section='INTERCODE_REPARTO', value,NULL)) AS INTERCODE,\n" + + "MAX(IIF(key_section='REPARTI_KG', value,'N')) AS REPARTO_KG\n" + + "from stb_gest_setup_det\n" + + "where gest_name = %s \n" + + "and section = %s \n" + + "AND tipo_setup = 'mtb_grup'\n" + + "GROUP BY val_col_rif) \n" + "SELECT ntb_doct.cod_mdep,\n" + " ntb_doct.date_only_doc AS data,\n" + " CONVERT(VARCHAR(5), Convert(time,DATEADD(MINUTE, (DATEDIFF(MINUTE, 0,ntb_doct.data_doc) / 30) * 30, 0)), 108) AS ora_iniz,\n" + " CONVERT(VARCHAR(5), Convert(time,DateAdd(minute, 30, DATEADD(MINUTE, (DATEDIFF(MINUTE, 0,ntb_doct.data_doc) / 30) * 30, 0))), 108) AS ora_fine,\n" + - " stb_gest_setup_det.value as cod_mgrp,\n" + + " setup.intercode as cod_mgrp,\n" + " CAST(\n" + " CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT) AS gruppo_ore,\n" + - " SUM(ntb_docr.qta_doc) AS qta,\n" + + " SUM(ntb_docr.qta_doc * IIF(setup.reparto_kg = 'S', mtb_aart.peso_kg, 1)) AS qta,\n" + " SUM((ntb_docr.qta_doc * ntb_docr.prz_unt_iva) - ntb_docr.val_sco) AS valore,\n" + " COUNT(DISTINCT ntb_doct.id_scontr) AS count_scontrini,\n" + " COUNT(*) AS count_battute\n" + @@ -87,20 +96,18 @@ public class ScontriniZucchettiExportServices { " AND ntb_doct.cod_cassa = ntb_docr.cod_cassa\n" + " AND ntb_doct.data_doc = ntb_docr.data_doc\n" + " INNER JOIN mtb_aart ON ntb_docr.cod_mart = mtb_aart.cod_mart\n" + - " INNER JOIN stb_gest_setup_det ON mtb_aart.cod_mgrp = stb_gest_setup_det.val_col_rif \n" + - " AND stb_gest_setup_det.gest_name = %s \n" + - " AND stb_gest_setup_det.section = %s \n" + - " AND stb_gest_setup_det.key_section = %s\n" + + " LEFT OUTER JOIN setup ON mtb_aart.cod_mgrp = setup.cod_mgrp\n" + + " WHERE 1 = 1 \n" + "GROUP BY ntb_doct.cod_mdep, ntb_doct.date_only_doc,\n" + " CAST(\n" + " CAST(DATEDIFF(MINUTE, ntb_doct.date_only_doc, ntb_doct.data_doc) AS FLOAT) / 30 AS INT),\n" + - " stb_gest_setup_det.value,\n" + + " setup.intercode,\n" + " CONVERT(VARCHAR(5), Convert(time,DATEADD(MINUTE, (DATEDIFF(MINUTE, 0,ntb_doct.data_doc) / 30) * 30, 0)), 108),\n" + " CONVERT(VARCHAR(5), Convert(time,DateAdd(minute, 30, DATEADD(MINUTE, (DATEDIFF(MINUTE, 0,ntb_doct.data_doc) / 30) * 30, 0))), 108)\n" + "ORDER BY ntb_doct.cod_mdep, ntb_doct.date_only_doc, 3", - "EXPORT_" + type, format, "INTERCODE_REPARTO"); + "EXPORT_" + type, format); - sql = UtilityDB.addwhereCond(sql, whereCond, false ); + sql = UtilityDB.addwhereCond(sql, whereCond, true ); List> scontrini = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql); if ( scontrini == null || scontrini.isEmpty()) {