From 7409d15cceb9c11a587eb9bbca05f1ff4db78b10 Mon Sep 17 00:00:00 2001 From: FabioN Date: Wed, 29 Oct 2025 17:11:14 +0100 Subject: [PATCH] Modifica funzione acquisizione matricole MAGGIO --- .../model/Migration_20251029170931.java | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251029170931.java diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251029170931.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251029170931.java new file mode 100644 index 0000000000..cdf0094041 --- /dev/null +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20251029170931.java @@ -0,0 +1,113 @@ +package it.integry.ems.migration.model; + +import it.integry.ems.migration._base.BaseMigration; +import it.integry.ems.migration._base.MigrationModelInterface; + +public class Migration_20251029170931 extends BaseMigration implements MigrationModelInterface { + + @Override + public void up() throws Exception { + if (isHistoryDB()) + return; + + + createOrUpdateFunction("getDettMatricoleDaOrdine", "CREATE Function [dbo].[getDettMatricoleDaOrdine] (@codJcom varchar(10)) \n" + + "RETURNS @dettMatricole TABLE( cod_prod varchar(15),\n" + + " descrizione_prod varchar(255), \n" + + " unt_mis_prod varchar(3),\n" + + " qta_inevasa numeric(20,5),\n" + + " qta_da_prod numeric(20,5),\n" + + " data_ord datetime, \n" + + " num_ord integer, \n" + + "matricola varchar(20)) AS\n" + + "Begin\n" + + " declare @codProd varchar(15),\n" + + " @descrizioneProd varchar(255), \n" + + " @untMisProd varchar(3), \n" + + " @qtaInevasa numeric(20,5), \n" + + " @qtaProd numeric(20,5), \n" + + " @dataOrd datetime, \n" + + " @numOrd integer,\n" + + " @existMatricola integer,\n" + + " @matricola varchar(20),\n" + + " @termCons varchar(1024);\n" + + "\n" + + " Declare crs_prod Cursor LOCAL SCROLL FOR\n" + + " select dtb_ordt.cod_prod, \n" + + " dtb_ordt.descrizione_prod, \n" + + " dtb_ordt.unt_mis_prod, \n" + + " dtb_ordt.qta_prod - dtb_ordt.qta_evasa_prod as qta_inevasa, \n" + + " convert(numeric(20,5), 0) as qta_da_prod, \n" + + " dtb_ordt.data_ord, \n" + + " dtb_ordt.num_ord,\n" + + " dtb_ordt.term_cons\n" + + " from dtb_ordt \n" + + " where gestione = 'L' and \n" + + " livello = 1 and\n" + + " /*flag_evaso_forzato = 'N' and\n" + + " flag_evaso_prod = 'I' and */\n" + + " dtb_ordt.cod_jcom = @codJcom\n" + + "\n" + + " OPEN crs_prod \n" + + " FETCH NEXT FROM crs_prod INTO @codProd, @descrizioneProd, @untMisProd, @qtaInevasa, @qtaProd, @dataOrd, @numOrd, @termCons\n" + + " WHILE @@FETCH_STATUS = 0\n" + + " Begin \n" + + " IF @termCons IS NOT NULL\n" + + " BEGIN\n" + + " Declare crs_matricole Cursor LOCAL SCROLL FOR\n" + + " select value_string\n" + + " from parseStringIntoArray(@termcons, '|') \n" + + "\n" + + " OPEN crs_matricole \n" + + " FETCH NEXT FROM crs_matricole INTO @matricola\n" + + " WHILE @@FETCH_STATUS = 0\n" + + " Begin\n" + + " select @existMatricola = 0\n" + + " select @existMatricola = COUNT(*)\n" + + " from dtb_ordt, \n" + + " dtb_docr inner join (select cod_prod, \n" + + " partita_mag \n" + + " from dtb_doct \n" + + " where cod_dtip = dbo.getGestSetup('IMPORT_DOCUMENTI', 'CARICO_SCARICO_DA_FABB', 'COD_DTIP_SCAR_GIROC'))giroc on giroc.cod_prod = dtb_docr.cod_mart and\n" + + " giroc.partita_mag = dtb_docr.matricola, \n" + + " dtb_tipi\n" + + " where dtb_docr.data_ord = dtb_ordt.data_ord and\n" + + " dtb_docr.num_ord = dtb_ordt.num_ord and\n" + + " dtb_ordt.gestione = 'L' and \n" + + " dtb_docr.cod_dtip = dtb_tipi.cod_dtip and\n" + + " dtb_tipi.tipo_emissione = 'DIRETTA' and\n" + + " dtb_tipi.segno_qta_car = 1 and\n" + + " dtb_ordt.livello = 1 and\n" + + " dtb_ordt.data_ord = @dataOrd and\n" + + " dtb_ordt.num_ord = @numOrd and\n" + + " dtb_docr.matricola = @matricola;\n" + + " \n" + + "\n" + + " IF @existMatricola = 0\n" + + " insert into @dettMatricole \n" + + " select @codProd, @descrizioneProd, @untMisProd, @qtaInevasa, @qtaProd, @dataOrd, @numOrd, @matricola\n" + + "\n" + + " FETCH NEXT FROM crs_matricole INTO @matricola\n" + + " end \n" + + " close crs_matricole\n" + + " deallocate crs_matricole \n" + + " END\n" + + " ELSE\n" + + " insert into @dettMatricole \n" + + " select @codProd, @descrizioneProd, @untMisProd, @qtaInevasa, @qtaProd, @dataOrd, @numOrd, null\n" + + "\n" + + " FETCH NEXT FROM crs_prod INTO @codProd, @descrizioneProd, @untMisProd, @qtaInevasa, @qtaProd, @dataOrd, @numOrd, @termCons\n" + + " end \n" + + " close crs_prod\n" + + " deallocate crs_prod \n" + + "\n" + + " return\n" + + "end"); + } + + @Override + public void down() throws Exception { + + } + +}