Finish Hotfix-100
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-07-09 12:51:51 +02:00
2 changed files with 37 additions and 9 deletions

View File

@@ -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 {
}
}

View File

@@ -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<HashMap<String, Object>> scontrini = UtilityDB.executeSimpleQuery(multiDBTransactionManager.getPrimaryConnection(), sql);
if ( scontrini == null || scontrini.isEmpty()) {