Modifica funzione acquisizione matricole MAGGIO

This commit is contained in:
2025-10-29 17:11:14 +01:00
parent 0bac28fc98
commit 7409d15cce

View File

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