Merge branch 'develop'
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomer;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250929111320 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
deleteSetup("w_jriep_presenze_dip_disp", "CB_AGGNOTE", "VISIBLE");
|
||||
|
||||
executeStatement("create table mtb_var_lisv_log (\n" +
|
||||
"id bigint identity,\n" +
|
||||
"datetime_var datetime not null,\n" +
|
||||
"user_name varchar(40),\n" +
|
||||
"cod_vlis varchar(5) not null, \n" +
|
||||
"versione int not null,\n" +
|
||||
"cod_promo varchar(10), \n" +
|
||||
"data_iniz datetime,\n" +
|
||||
"data_fine datetime,\n" +
|
||||
"cod_mart varchar(15),\n" +
|
||||
"note varchar(max))\n" ,
|
||||
"alter table mtb_var_lisv_log add constraint pk_mtb_var_lisv_log primary key ( id ) ");
|
||||
|
||||
if (isCustomer(IntegryCustomer.Carelli)) {
|
||||
executeStatement("update stb_abil set flag_abil = 'R'\n" +
|
||||
"where gest_name = 'vpromo'\n" +
|
||||
"and user_name not in ('Apapapicco', 'Gmezzapesa')\n" +
|
||||
"and flag_abil not in ('N', 'R')");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,481 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250929124316 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isDMS())
|
||||
return;
|
||||
|
||||
executeStatement("alter table vtb_dest alter column cod_affiliazione varchar(40)");
|
||||
|
||||
createOrUpdateFunction("getDocuPrint_generica", "CREATE FUNCTION [dbo].[getDocuPrint_generica]\n" +
|
||||
"( \n" +
|
||||
" @codAnag varchar(5), @codDtip varchar(5), @dataDoc datetime, @serDoc varchar(2), @numDoc int\n" +
|
||||
")\n" +
|
||||
"RETURNS TABLE \n" +
|
||||
"AS\n" +
|
||||
"RETURN \n" +
|
||||
"\n" +
|
||||
"WITH righe_doc as (\n" +
|
||||
" /*righe documento diretto */\n" +
|
||||
" select dtb_docr.cod_anag, dtb_docr.cod_dtip, dtb_docr.data_doc, dtb_docr.ser_doc, dtb_docr.num_doc, id_riga, null as tipo_cessione, \n" +
|
||||
" dtb_docr.cod_mart, mtb_aart.tipo_codice as tipo_codice_ean, mtb_aart.bar_code, \n" +
|
||||
" CASE WHEN len(dtb_docr.descrizione_estesa)>0 then dtb_docr.descrizione_estesa ELSE dtb_docr.descrizione END as descrizione, dtb_docr.descrizione as descrizione_breve, \n" +
|
||||
" convert(varchar(5), null) as cod_spes, dtb_docr.unt_doc, dtb_docr.qta_doc, dtb_docr.qta_cnf, dtb_docr.num_cnf, dtb_docr.val_unt, dtb_docr.val_unt_iva, \n" +
|
||||
" dtb_docr.sconto5, dtb_docr.sconto6, dtb_docr.sconto7, dtb_docr.sconto8, dtb_docr.importo_riga as importo_riga, \n" +
|
||||
" dtb_docr.cod_aliq, gtb_aliq.perc_aliq, CASE WHEN dtb_docr.cod_aliq is null THEN 'N2.2' ELSE gtb_aliq.natura END as natura, \n" +
|
||||
" dtb_docr.cod_kit, composto.descrizione as descr_kit, dtb_docr.partita_mag, dtb_docr.matricola, dtb_docr.data_iniz_comp, dtb_docr.data_fine_comp, dtb_docr.cod_jcom, \n" +
|
||||
" dtb_ordt.gestione, dtb_ordt.data_ord, dtb_ordt.num_ord, dtb_ordt.rif_ord, dtb_ordt.rif_data_ord, dtb_ordt.rif_num_ord, \n" +
|
||||
" dtb_doct.cod_dtip_val, dtb_doct.data_doc_val, dtb_doct.ser_doc_val, dtb_doct.num_doc_val, dtb_doct.num_doc_forn\n" +
|
||||
" from dtb_docr inner join dtb_doct \n" +
|
||||
" on dtb_docr.cod_anag = dtb_doct.cod_anag \n" +
|
||||
" and dtb_docr.cod_dtip = dtb_doct.cod_dtip\n" +
|
||||
" and dtb_docr.data_doc = dtb_doct.data_doc\n" +
|
||||
" and dtb_docr.ser_doc = dtb_doct.ser_doc\n" +
|
||||
" and dtb_docr.num_doc = dtb_doct.num_doc \n" +
|
||||
" left outer join dtb_ordt \n" +
|
||||
" on dtb_doct.gestione = dtb_ordt.gestione \n" +
|
||||
" and dtb_docr.data_ord = dtb_ordt.data_ord\n" +
|
||||
" and dtb_docr.num_ord = dtb_ordt.num_ord\n" +
|
||||
" left outer join gtb_aliq \n" +
|
||||
" on dtb_docr.cod_aliq = gtb_aliq.cod_aliq \n" +
|
||||
" left outer join (select cod_mart, descrizione, articolo_composto from mtb_aart) as composto \n" +
|
||||
" on composto.cod_mart = dtb_docr.cod_kit\n" +
|
||||
" left outer join mtb_aart on dtb_docr.cod_mart = mtb_aart.cod_mart\n" +
|
||||
" where dtb_doct.cod_anag = @codAnag and \n" +
|
||||
" dtb_doct.cod_dtip_val = @codDtip and \n" +
|
||||
" dtb_doct.data_doc_val = @dataDoc and \n" +
|
||||
" dtb_doct.ser_doc_val = @serDoc and \n" +
|
||||
" dtb_doct.num_doc_val = @numDoc and\n" +
|
||||
" /*esclusione degli articoli composti che vengono esplosi nel documento*/\n" +
|
||||
" not((composto.articolo_composto = 'S' and dtb_docr.cod_mart is null AND dtb_docr.qta_doc <> 0 and cod_kit is not null) OR \n" +
|
||||
" (composto.articolo_composto = 'N' and dtb_docr.cod_mart is NOT null AND dtb_docr.qta_doc <> 0 and cod_kit is not null and gtb_aliq.tipo_iva = 'IVA COMPOSTA') )\n" +
|
||||
" AND dtb_docr.descrizione NOT LIKE 'DDT N. %' \n" +
|
||||
" AND dtb_docr.descrizione NOT LIKE 'BOLLA N. %' \n" +
|
||||
" AND dtb_docr.descrizione NOT LIKE 'Rif.N.%' \n" +
|
||||
" UNION ALL \n" +
|
||||
" select dtb_docr.cod_anag, dtb_docr.cod_dtip, dtb_docr.data_doc, dtb_docr.ser_doc, dtb_docr.num_doc, id_riga, 'SC' as tipo_cessione, null as cod_mart, null as tipo_codice_ean, null as bar_code,\n" +
|
||||
" 'Omaggio con Rivalsa IVA -' + dtb_docr.descrizione, dtb_docr.descrizione as descrizione_breve, null as cod_spes,\n" +
|
||||
" null as unt_doc, 1 as qta_doc, null as qta_cnf, null as num_cnf, dtb_docr.qta_doc * dtb_docr.val_unt as val_unt, \n" +
|
||||
" dtb_docr.qta_doc * dtb_docr.val_unt_iva as val_unt_iva, 0 as sconto5, 0 as sconto6, 0 as sconto7, 0 as sconto8, dtb_docr.qta_doc * dtb_docr.val_unt as importo_riga, \n" +
|
||||
" dtb_docr.cod_aliq, gtb_aliq.perc_aliq, gtb_aliq.natura, \n" +
|
||||
" null as cod_kit, null as descr_kit, null as partita_mag, null as matricola, null as data_iniz_comp, null as data_fine_comp, null as cod_jcom,\n" +
|
||||
" dtb_ordt.gestione, dtb_ordt.data_ord, dtb_ordt.num_ord, dtb_ordt.rif_ord, dtb_ordt.rif_data_ord, dtb_ordt.rif_num_ord, \n" +
|
||||
" dtb_doct.cod_dtip_val, dtb_doct.data_doc_val, dtb_doct.ser_doc_val, dtb_doct.num_doc_val, dtb_doct.num_doc_forn\n" +
|
||||
" from dtb_docr inner join dtb_doct \n" +
|
||||
" on dtb_docr.cod_anag = dtb_doct.cod_anag \n" +
|
||||
" and dtb_docr.cod_dtip = dtb_doct.cod_dtip \n" +
|
||||
" and dtb_docr.data_doc = dtb_doct.data_doc \n" +
|
||||
" and dtb_docr.ser_doc = dtb_doct.ser_doc \n" +
|
||||
" and dtb_docr.num_doc = dtb_doct.num_doc \n" +
|
||||
" left outer join dtb_ordt \n" +
|
||||
" on dtb_doct.gestione = dtb_ordt.gestione \n" +
|
||||
" and dtb_docr.data_ord = dtb_ordt.data_ord \n" +
|
||||
" and dtb_docr.num_ord = dtb_ordt.num_ord \n" +
|
||||
" left outer join gtb_aliq \n" +
|
||||
" on dtb_docr.cod_aliq = gtb_aliq.cod_aliq \n" +
|
||||
" where dtb_doct.cod_anag = @codAnag \n" +
|
||||
" and dtb_doct.cod_dtip_val = @codDtip \n" +
|
||||
" and dtb_doct.data_doc_val = @dataDoc \n" +
|
||||
" and dtb_doct.ser_doc_val = @serDoc \n" +
|
||||
" and dtb_doct.num_doc_val = @numDoc \n" +
|
||||
" and (dtb_docr.sconto5 = 100 OR dtb_docr.sconto6 = 100 ) and gtb_aliq.perc_aliq >0\n" +
|
||||
" ) ,\n" +
|
||||
" \n" +
|
||||
" righe_doc_val as (\n" +
|
||||
" /*acquisizione dell'id_riga delle bolle in caso di documento differito per riportare lo stesso ordinamento */\n" +
|
||||
" select id_riga, dtb_docr.cod_anag, SUBSTRING(descrizione_estesa, 1, CHARINDEX( 'N.', descrizione_estesa, 1) - 2 ) as cod_dtip, \n" +
|
||||
" convert (datetime,\n" +
|
||||
" CASE WHEN CHARINDEX(' Rif.', descrizione_estesa) > 0 THEN \n" +
|
||||
" SUBSTRING(CASE WHEN CHARINDEX(' Dest.', descrizione_estesa) > 0 THEN \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , CHARINDEX(' Dest.', descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ) -1 ) ELSE \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , len(descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ))\n" +
|
||||
" END, 1, CHARINDEX(' Rif.', CASE WHEN CHARINDEX(' Dest.', descrizione_estesa) > 0 THEN \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , CHARINDEX(' Dest.', descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ) -1 ) ELSE \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , len(descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ))\n" +
|
||||
" END) - 1 )\n" +
|
||||
" ELSE \n" +
|
||||
" CASE WHEN CHARINDEX(' Dest.', descrizione_estesa) > 0 THEN \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , CHARINDEX(' Dest.', descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ) -1 ) ELSE \n" +
|
||||
" SUBSTRING(descrizione_estesa, CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') +1 , len(descrizione_estesa) - ( CHARINDEX( ' DEL', descrizione_estesa, 1) + len (' DEL') ))\n" +
|
||||
" END\n" +
|
||||
" END , 103) as data_doc, \n" +
|
||||
" cast (SUBSTRING(SUBSTRING(descrizione_estesa, CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 , CHARINDEX(' DEL', descrizione_estesa) - ( CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 ) ), 1 , CHARINDEX( ' ', SUBSTRING(descrizione_estesa, CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 , CHARINDEX(' DEL', descrizione_estesa) - ( CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 ) )) -1 ) as int ) AS num_doc, \n" +
|
||||
" SUBSTRING(SUBSTRING(descrizione_estesa, CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 , CHARINDEX(' DEL', descrizione_estesa) - ( CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 ) ), CHARINDEX( ' ', SUBSTRING(descrizione_estesa, CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 , CHARINDEX(' DEL', descrizione_estesa) - ( CHARINDEX( 'N.', descrizione_estesa, 1) + len ('N.') + 1 ) ))+ 1 , 2 ) AS ser_doc \n" +
|
||||
" \n" +
|
||||
" from dtb_docr \n" +
|
||||
" where dtb_docr.descrizione LIKE 'BOLLA N. %'\n" +
|
||||
" AND descrizione_estesa is not null and CHARINDEX( 'N.', descrizione_estesa, 1) > 0\n" +
|
||||
" AND cod_anag = @codAnag and cod_dtip = @codDtip and data_doc = @dataDoc and ser_doc = @serDoc and num_doc = @numDoc \n" +
|
||||
" ) \n" +
|
||||
"\n" +
|
||||
"\n" +
|
||||
"select dtb_docr_print.cod_anag,\n" +
|
||||
" dtb_docr_print.cod_dtip,\n" +
|
||||
" dtb_docr_print.data_doc,\n" +
|
||||
" dtb_docr_print.ser_doc,\n" +
|
||||
" dtb_docr_print.num_doc,\n" +
|
||||
" convert(varchar(2), null) as tipo_cessione, \n" +
|
||||
" dtb_docr_print.id_riga,\n" +
|
||||
" dtb_docr_print.cod_mart,\n" +
|
||||
" convert(varchar(4096), dtb_docr_print.descrizione) as descrizione,\n" +
|
||||
" convert(varchar(40), null) as descrizione_breve,\n" +
|
||||
" convert(varchar(5), null) as cod_spes,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_ean,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_ean,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_forn,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_forn,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_clie,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_clie,\n" +
|
||||
" convert(varchar(10), null) as tipodato_ct_art,\n" +
|
||||
" convert(int, null) as rifNumero_ct_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_ct_art,\n" +
|
||||
" convert(varchar(10), null) as tipodato_pz_art,\n" +
|
||||
" convert(int, null) as rifNumero_pz_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_pz_art,\n" +
|
||||
" convert(varchar(40), null) as bar_code,\n" +
|
||||
" dtb_docr_print.unt_doc,\n" +
|
||||
" dtb_docr_print.qta_doc,\n" +
|
||||
" convert(numeric(15,5), null) as qta_cnf, \n" +
|
||||
" convert(numeric(20,5), null) as num_cnf,\n" +
|
||||
" convert(numeric(20,5), dtb_docr_print.val_unt) as val_unt,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto1,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto2,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto3,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto4,\n" +
|
||||
" dtb_docr_print.sconto5,\n" +
|
||||
" dtb_docr_print.sconto6,\n" +
|
||||
" dtb_docr_print.sconto7,\n" +
|
||||
" dtb_docr_print.sconto8,\n" +
|
||||
" dtb_docr_print.importo_riga,\n" +
|
||||
" dtb_docr_print.cod_aliq,\n" +
|
||||
" convert(numeric(5,2), gtb_aliq.perc_aliq) as perc_aliq, \n" +
|
||||
" convert(varchar(5), gtb_aliq.natura) as natura, \n" +
|
||||
" convert(datetime, null) as data_iniz_comp, \n" +
|
||||
" convert(datetime, null) as data_fine_comp,\n" +
|
||||
" convert(varchar(15), null) as cod_kit,\n" +
|
||||
" convert(varchar(40), null) as descr_kit,\n" +
|
||||
" convert(varchar(20), null ) as partita_mag, \n" +
|
||||
" convert(varchar(20), null ) as matricola,\n" +
|
||||
" convert(varchar(10), null) as tipodato_lotto,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_lotto,\n" +
|
||||
" convert(varchar(10), null) as tipodato_dest,\n" +
|
||||
" convert(varchar(40), null) as rifNumero_dest,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_dest, \n" +
|
||||
" convert(varchar(5), null) as cod_vdes,\n" +
|
||||
" convert(varchar(40), null) as cod_affiliazione,\n" +
|
||||
" convert(varchar(40), null) as cod_ean_dest,\n" +
|
||||
" convert(varchar(255), null ) as indirizzo_dest, \n" +
|
||||
" convert(varchar(5), null) as cod_dtip_ddt,\n" +
|
||||
" convert(int, null ) as num_doc_ddt,\n" +
|
||||
" convert(varchar(2), null) as ser_doc_ddt,\n" +
|
||||
" convert(datetime, null) as data_ddt, \n" +
|
||||
" convert(varchar(20), null) as num_ddt,\n" +
|
||||
" convert(varchar(1), null) as gestione_ord,\n" +
|
||||
" convert(datetime, null) as data_ord,\n" +
|
||||
" convert(int, null ) as num_ord,\n" +
|
||||
" convert(varchar(40), null ) as rif_ord, \n" +
|
||||
" dtb_docr_print.rif_data_ord, \n" +
|
||||
" dtb_docr_print.rif_num_ord, \n" +
|
||||
" convert(varchar(10), null) as cod_jcom, \n" +
|
||||
" dtb_docr_print.id_riga as id_riga_orig,\n" +
|
||||
" CONVERT(varchar(60), null) as rifTesto_numDocCli, \n" +
|
||||
" CONVERT(varchar(40), null) as tipoDato_numDocCli\n" +
|
||||
"from dtb_docr_print left outer join gtb_aliq on dtb_docr_print.cod_aliq = gtb_aliq.cod_aliq \n" +
|
||||
"where cod_anag = @codAnag and cod_Dtip = @codDtip and\n" +
|
||||
"data_doc = @dataDoc and ser_doc = @serDoc and num_doc = @numDoc\n" +
|
||||
"union all\n" +
|
||||
"SELECT docu_tab.cod_anag,\n" +
|
||||
" docu_tab.cod_dtip_val,\n" +
|
||||
" docu_tab.data_doc_val, \n" +
|
||||
" docu_tab.ser_doc_val,\n" +
|
||||
" docu_tab.num_doc_val,\n" +
|
||||
" docu_tab.tipo_cessione,\n" +
|
||||
" cast(ROW_NUMBER() over(order by docu_tab.cod_anag,\n" +
|
||||
" docu_tab.cod_dtip_val, \n" +
|
||||
" docu_tab.data_doc_val, \n" +
|
||||
" docu_tab.ser_doc_val,\n" +
|
||||
" docu_tab.num_doc_val, \n" +
|
||||
" --docu_tab.data_ddt, \n" +
|
||||
" --docu_tab.num_ddt,\n" +
|
||||
" docu_tab.id_riga_doc_val, \n" +
|
||||
" docu_tab.id_riga ) as integer) as id_riga,\n" +
|
||||
" docu_tab.cod_mart,\n" +
|
||||
" docu_tab.descrizione,\n" +
|
||||
" docu_tab.descrizione_breve,\n" +
|
||||
" docu_tab.cod_spes,\n" +
|
||||
" docu_tab.tipo_codice_ean,\n" +
|
||||
" docu_tab.valore_codice_ean,\n" +
|
||||
" docu_tab.tipo_codice_forn,\n" +
|
||||
" docu_tab.valore_codice_forn,\n" +
|
||||
" docu_tab.tipo_codice_clie,\n" +
|
||||
" docu_tab.valore_codice_clie,\n" +
|
||||
" docu_tab.tipodato_ct_art,\n" +
|
||||
" docu_tab.rifNumero_ct_art,\n" +
|
||||
" docu_tab.rifTesto_ct_art,\n" +
|
||||
" docu_tab.tipodato_pz_art,\n" +
|
||||
" docu_tab.rifNumero_pz_art,\n" +
|
||||
" docu_tab.rifTesto_pz_art,\n" +
|
||||
" docu_tab.bar_code,\n" +
|
||||
" docu_tab.unt_doc,\n" +
|
||||
" docu_tab.qta_doc,\n" +
|
||||
" docu_tab.qta_cnf, \n" +
|
||||
" docu_tab.num_cnf,\n" +
|
||||
" convert(numeric(20,5), isNull(docu_tab.val_unt, 0)) as val_unt,\n" +
|
||||
" docu_tab.sconto1,\n" +
|
||||
" docu_tab.sconto2,\n" +
|
||||
" docu_tab.sconto3,\n" +
|
||||
" docu_tab.sconto4,\n" +
|
||||
" docu_tab.sconto5,\n" +
|
||||
" docu_tab.sconto6,\n" +
|
||||
" docu_tab.sconto7,\n" +
|
||||
" docu_tab.sconto8,\n" +
|
||||
" convert(numeric(20,5), isNull(docu_tab.importo_riga, 0) ) as importo_riga,\n" +
|
||||
" docu_tab.cod_aliq,\n" +
|
||||
" docu_tab.perc_aliq, \n" +
|
||||
" docu_tab.natura, \n" +
|
||||
" docu_tab.data_iniz_comp, \n" +
|
||||
" docu_tab.data_fine_comp,\n" +
|
||||
" docu_tab.cod_kit,\n" +
|
||||
" docu_tab.descr_kit,\n" +
|
||||
" docu_tab.partita_mag,\n" +
|
||||
" docu_tab.matricola,\n" +
|
||||
" docu_tab.tipodato_lotto,\n" +
|
||||
" docu_tab.rifTesto_lotto,\n" +
|
||||
" docu_tab.tipodato_dest,\n" +
|
||||
" docu_tab.rifNumero_dest,\n" +
|
||||
" docu_tab.rifTesto_dest, \n" +
|
||||
" docu_tab.cod_vdes,\n" +
|
||||
" docu_tab.cod_affiliazione,\n" +
|
||||
" docu_tab.cod_ean_dest,\n" +
|
||||
" docu_tab.indirizzo_dest,\n" +
|
||||
" docu_tab.cod_dtip_ddt,\n" +
|
||||
" docu_tab.num_doc_ddt, \n" +
|
||||
" docu_tab.ser_doc_ddt, \n" +
|
||||
" docu_tab.data_ddt, \n" +
|
||||
" docu_tab.num_ddt,\n" +
|
||||
" docu_tab.gestione_ord, \n" +
|
||||
" docu_tab.data_ord, \n" +
|
||||
" docu_tab.num_ord, \n" +
|
||||
" docu_tab.rif_ord,\n" +
|
||||
" docu_tab.rif_data_ord, \n" +
|
||||
" docu_tab.rif_num_ord, \n" +
|
||||
" docu_tab.cod_jcom,\n" +
|
||||
" docu_tab.id_riga as id_riga_orig, \n" +
|
||||
" docu_tab.rifTesto_numDocCli, \n" +
|
||||
" docu_tab.tipodato_numDocCli\n" +
|
||||
"FROM \n" +
|
||||
"(\n" +
|
||||
" SELECT dtb_doct.cod_anag,\n" +
|
||||
" dtb_doct.cod_dtip_val, \n" +
|
||||
" dtb_doct.data_doc_val, \n" +
|
||||
" dtb_doct.ser_doc_val,\n" +
|
||||
" dtb_doct.num_doc_val,\n" +
|
||||
" righe_doc.tipo_cessione,\n" +
|
||||
" righe_doc_val.id_riga as id_riga_doc_val, \n" +
|
||||
" righe_doc.id_riga,\n" +
|
||||
" righe_doc.cod_mart,\n" +
|
||||
" righe_doc.descrizione, \n" +
|
||||
" righe_doc.descrizione_breve, \n" +
|
||||
" righe_doc.cod_spes,\n" +
|
||||
" CASE WHEN PATINDEX('%EAN%', righe_doc.tipo_codice_ean ) > 0 THEN 'EAN' ELSE NULL END as tipo_codice_ean,\n" +
|
||||
" CASE WHEN PATINDEX('%EAN%', righe_doc.tipo_codice_ean ) > 0 THEN righe_doc.bar_code ELSE NULL END as valore_codice_ean,\n" +
|
||||
" CASE WHEN righe_doc.cod_mart IS NOT NULL THEN 'COD.ART.FORNIT' ELSE null END as tipo_codice_forn,\n" +
|
||||
" righe_doc.cod_mart as valore_codice_forn,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_clie,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_clie,\n" +
|
||||
" convert(varchar(10), null) as tipodato_ct_art,\n" +
|
||||
" convert(int, null) as rifNumero_ct_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_ct_art,\n" +
|
||||
" convert(varchar(10), null) as tipodato_pz_art,\n" +
|
||||
" convert(int, null) as rifNumero_pz_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_pz_art,\n" +
|
||||
" righe_doc.bar_code,\n" +
|
||||
" righe_doc.unt_doc,\n" +
|
||||
" righe_doc.qta_doc \n" +
|
||||
" * CASE WHEN (dtb_tipi.segno_val_scar * dtb_tipi_val.segno_val_scar) = 0 THEN 1 ELSE (dtb_tipi.segno_val_scar * dtb_tipi_val.segno_val_scar) END \n" +
|
||||
" as qta_doc,\n" +
|
||||
" righe_doc.qta_cnf, \n" +
|
||||
" righe_doc.num_cnf,\n" +
|
||||
" CASE WHEN dtb_tipi.flag_prz_iva = 'S' THEN Round( Round(righe_doc.qta_doc * righe_doc.val_unt_iva, 2) / (1 + perc_aliq /100) / CASE WHEN righe_doc.qta_doc = 0 THEN 1 ELSE righe_doc.qta_doc END, 5) ELSE righe_doc.val_unt END \n" +
|
||||
" * isNull(dvw_tipi_integrazioni.segno, 1) as val_unt, \n" +
|
||||
" CASE WHEN flag_prz_scontati = 'S' THEN 0 ELSE dtb_doct.sconto1 END as sconto1 , \n" +
|
||||
" CASE WHEN flag_prz_scontati = 'S' THEN 0 ELSE dtb_doct.sconto2 END as sconto2 , \n" +
|
||||
" CASE WHEN flag_prz_scontati = 'S' THEN 0 ELSE dtb_doct.sconto3 END as sconto3 ,\n" +
|
||||
" CASE WHEN flag_prz_scontati = 'S' THEN 0 ELSE dtb_doct.sconto4 END as sconto4 , \n" +
|
||||
" righe_doc.sconto5,\n" +
|
||||
" righe_doc.sconto6,\n" +
|
||||
" righe_doc.sconto7,\n" +
|
||||
" righe_doc.sconto8,\n" +
|
||||
" round(CASE WHEN dtb_tipi.flag_prz_iva = 'S' THEN Round( Round(righe_doc.qta_doc * righe_doc.val_unt_iva * (1 - righe_doc.sconto5 / 100) * (1 - righe_doc.sconto6 / 100) * (1 - righe_doc.sconto7 / 100) * (1 - righe_doc.sconto8 / 100), 2) / (1 + perc_aliq /100), 5) ELSE righe_doc.importo_riga END \n" +
|
||||
" * CASE WHEN flag_prz_scontati <> 'S' THEN (1 - dtb_doct.sconto1 / 100) * (1 - dtb_doct.sconto2 / 100) * (1 - dtb_doct.sconto3 / 100) * (1 - dtb_doct.sconto4 / 100) ELSE 1 END * CASE WHEN (dtb_tipi.segno_val_scar * dtb_tipi_val.segno_val_scar) = 0 THEN 1 ELSE (dtb_tipi.segno_val_scar * dtb_tipi_val.segno_val_scar) END\n" +
|
||||
" * isNull(dvw_tipi_integrazioni.segno, 1) \n" +
|
||||
" ,\n" +
|
||||
" CASE WHEN dtb_tipi.flag_prz_iva = 'S' THEN 5 ELSE 2 END ) as importo_riga,\n" +
|
||||
" righe_doc.cod_aliq,\n" +
|
||||
" isnull(righe_doc.perc_aliq, 0) as perc_aliq, \n" +
|
||||
" righe_doc.natura,\n" +
|
||||
" righe_doc.data_iniz_comp, \n" +
|
||||
" righe_doc.data_fine_comp,\n" +
|
||||
" righe_doc.cod_kit,\n" +
|
||||
" righe_doc.descr_kit, \n" +
|
||||
" righe_doc.partita_mag, \n" +
|
||||
" righe_doc.matricola, \n" +
|
||||
" CASE WHEN len(righe_doc.partita_mag ) > 0 THEN 'LOTTO' ELSE null END as tipodato_lotto,\n" +
|
||||
" CASE WHEN len(righe_doc.partita_mag ) > 0 THEN righe_doc.partita_mag ELSE null END as rifTesto_lotto,\n" +
|
||||
" CASE WHEN len(vtb_dest.cod_affiliazione) > 0 THEN 'PV' ELSE \n" +
|
||||
" CASE WHEN len(dtb_doct.cod_vdes) > 0 THEN 'PV.FORNIT' ELSE null END END as tipodato_dest,\n" +
|
||||
" CASE WHEN len(vtb_dest.cod_affiliazione) > 0 AND ISNUMERIC(vtb_dest.cod_affiliazione) = 1 THEN vtb_dest.cod_affiliazione ELSE null END as rifNumero_dest,\n" +
|
||||
" CASE WHEN len(vtb_dest.cod_affiliazione) > 0 THEN \n" +
|
||||
" CASE WHEN ISNUMERIC(vtb_dest.cod_affiliazione) = 1 THEN vtb_dest.indirizzo ELSE vtb_dest.cod_affiliazione END\n" +
|
||||
" ELSE \n" +
|
||||
" CASE WHEN len(dtb_doct.cod_vdes) > 0 THEN dtb_doct.cod_vdes + ' - '+ vtb_dest.indirizzo ELSE null END\n" +
|
||||
" END as rifTesto_dest,\n" +
|
||||
" dtb_doct.cod_vdes, \n" +
|
||||
" vtb_dest.cod_affiliazione,\n" +
|
||||
" vtb_dest.cod_ean as cod_ean_dest,\n" +
|
||||
" vtb_dest.indirizzo as indirizzo_dest,\n" +
|
||||
" CASE WHEN dtb_doct.cod_dtip_val <> dtb_doct.cod_dtip THEN dtb_doct.cod_dtip ELSE null END as cod_dtip_ddt, \n" +
|
||||
" CASE WHEN dtb_doct.cod_dtip_val <> dtb_doct.cod_dtip THEN dtb_doct.num_doc ELSE null END as num_doc_ddt,\n" +
|
||||
" CASE WHEN dtb_doct.cod_dtip_val <> dtb_doct.cod_dtip THEN dtb_doct.ser_doc ELSE null END as ser_doc_ddt,\n" +
|
||||
" CASE WHEN dtb_doct.cod_dtip_val <> dtb_doct.cod_dtip THEN dtb_doct.data_doc ELSE null END as data_ddt ,\n" +
|
||||
" CASE WHEN dtb_doct.cod_dtip_val <> dtb_doct.cod_dtip THEN cast(dtb_doct.num_doc as varchar) + ' '+ dtb_doct.ser_doc ELSE null END as num_ddt, \n" +
|
||||
" righe_doc.gestione as gestione_ord, righe_doc.data_ord, righe_doc.num_ord, \n" +
|
||||
" righe_doc.rif_ord, righe_doc.rif_data_ord, righe_doc.rif_num_ord, righe_doc.cod_jcom , righe_doc.num_doc_forn as rifTesto_numDocCli, 'N.DOC.CLI.' as tipodato_numDocCli\n" +
|
||||
" FROM dtb_doct inner join dtb_tipi \n" +
|
||||
" on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" inner join dtb_tipi as dtb_tipi_val \n" +
|
||||
" on dtb_doct.cod_dtip_val = dtb_tipi_val.cod_dtip\n" +
|
||||
" inner join righe_doc \n" +
|
||||
" on dtb_doct.cod_anag = righe_doc.cod_anag \n" +
|
||||
" and dtb_doct.cod_dtip = righe_doc.cod_dtip \n" +
|
||||
" and dtb_doct.data_doc = righe_doc.data_doc \n" +
|
||||
" and dtb_doct.ser_doc = righe_doc.ser_doc \n" +
|
||||
" and dtb_doct.num_doc = righe_doc.num_doc \n" +
|
||||
" left outer join righe_doc_val \n" +
|
||||
" on righe_doc.cod_anag = righe_doc_val.cod_anag \n" +
|
||||
" and righe_doc.cod_dtip = righe_doc_val.cod_dtip \n" +
|
||||
" and righe_doc.data_doc = righe_doc_val.data_doc \n" +
|
||||
" and righe_doc.ser_doc = righe_doc_val.ser_doc \n" +
|
||||
" and righe_doc.num_doc =righe_doc_val.num_doc\n" +
|
||||
" left outer join vtb_dest \n" +
|
||||
" on dtb_doct.cod_anag = vtb_dest.cod_anag \n" +
|
||||
" and dtb_doct.cod_vdes = vtb_dest.cod_vdes\n" +
|
||||
" left outer join ctb_caus \n" +
|
||||
" on dtb_tipi_val.cod_ccau = ctb_caus.cod_ccau\n" +
|
||||
" left outer join dvw_tipi_integrazioni \n" +
|
||||
" on dtb_doct.cod_dtip = dvw_tipi_integrazioni.cod_dtip\n" +
|
||||
" WHERE dtb_tipi.tipo_emissione ='DIRETTA' and \n" +
|
||||
" dtb_doct.cod_anag = @codAnag and \n" +
|
||||
" dtb_doct.cod_dtip_val = @codDtip and \n" +
|
||||
" dtb_doct.data_doc_val = @dataDoc and \n" +
|
||||
" dtb_doct.ser_doc_val = @serDoc and \n" +
|
||||
" dtb_doct.num_doc_val = @numDoc \n" +
|
||||
"UNION ALL\n" +
|
||||
" SELECT dtb_doct.cod_anag,\n" +
|
||||
" dtb_doct.cod_dtip_val, \n" +
|
||||
" dtb_doct.data_doc_val, \n" +
|
||||
" dtb_doct.ser_doc_val,\n" +
|
||||
" dtb_doct.num_doc_val,\n" +
|
||||
" 'AC' as tipo_cessione, \n" +
|
||||
" (SELECT Max(id_riga) id FROM dtb_docr as docr\n" +
|
||||
" WHERE docr.cod_anag = dtb_doct.cod_anag AND docr.cod_dtip = dtb_doct.cod_dtip \n" +
|
||||
" AND docr.data_doc = dtb_doct.data_doc \n" +
|
||||
" AND docr.ser_doc = dtb_doct.ser_doc \n" +
|
||||
" AND docr.num_doc = dtb_doct.num_doc) as id_riga_doc_val ,\n" +
|
||||
" dtb_docs.riga as id_riga , \n" +
|
||||
" convert(varchar(15), null) as cod_mart,\n" +
|
||||
" convert(varchar(4096), dtb_docs.descrizione) as descrizione, \n" +
|
||||
" convert(varchar(40), dtb_docs.descrizione) as descrizione_breve, \n" +
|
||||
" dtb_docs.cod_spes ,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_ean,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_ean,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_forn,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_forn,\n" +
|
||||
" convert(varchar(35), null) as tipo_codice_clie,\n" +
|
||||
" convert(varchar(40), null) as valore_codice_clie,\n" +
|
||||
" convert(varchar(10), null) as tipodato_ct_art,\n" +
|
||||
" convert(int, null) as rifNumero_ct_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_ct_art,\n" +
|
||||
" convert(varchar(10), null) as tipodato_pz_art,\n" +
|
||||
" convert(int, null) as rifNumero_pz_art,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_pz_art,\n" +
|
||||
" convert(varchar(40), null) as bar_code,\n" +
|
||||
" dtb_docs.unt_mis as unt_doc,\n" +
|
||||
" 1 as qta_doc,\n" +
|
||||
" convert(numeric(15,5), null) as qta_cnf, \n" +
|
||||
" convert(numeric(20,5), null) as num_cnf,\n" +
|
||||
" convert(numeric(20,5), CASE WHEN flag_prz_iva = 'S' THEN Round( dtb_docs.importo / (1 + perc_aliq /100), 5) ELSE dtb_docs.importo END ) as val_unt,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto1,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto2,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto3,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto4,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto5,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto6,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto7,\n" +
|
||||
" convert(numeric(5,2), 0) as sconto8, \n" +
|
||||
" convert(numeric(20,5), CASE WHEN flag_prz_iva = 'S' THEN Round( dtb_docs.importo / (1 + perc_aliq /100), 5) ELSE dtb_docs.importo END) as importo_riga,\n" +
|
||||
" dtb_docs.cod_aliq,\n" +
|
||||
" isnull(gtb_aliq.perc_aliq, 0) as perc_aliq, \n" +
|
||||
" gtb_aliq.natura,\n" +
|
||||
" convert(datetime, null) as data_iniz_comp, \n" +
|
||||
" convert(datetime, null) as data_fine_comp,\n" +
|
||||
" convert(varchar(15), null) as cod_kit,\n" +
|
||||
" convert(varchar(40), null) as descr_kit,\n" +
|
||||
" convert(varchar(20), null ) as partita_mag, \n" +
|
||||
" convert(varchar(20), null ) as matricola, \n" +
|
||||
" convert(varchar(10), null) as tipodato_lotto,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_lotto,\n" +
|
||||
" convert(varchar(10), null) as tipodato_dest,\n" +
|
||||
" convert(varchar(40), null) as rifNumero_dest,\n" +
|
||||
" convert(varchar(60), null) as rifTesto_dest, \n" +
|
||||
" convert(varchar(5), null) as cod_vdes,\n" +
|
||||
" convert(varchar(10), null) as cod_affiliazione,\n" +
|
||||
" convert(varchar(40), null) as cod_ean_dest,\n" +
|
||||
" convert(varchar(255), null ) as indirizzo_dest, \n" +
|
||||
" convert(varchar(5), null) as cod_dtip_ddt,\n" +
|
||||
" convert(int, null ) as num_doc_ddt,\n" +
|
||||
" convert(varchar(2), null) as ser_doc_ddt,\n" +
|
||||
" convert(datetime, null) as data_ddt, \n" +
|
||||
" convert(varchar(20), null) as num_ddt,\n" +
|
||||
" convert(varchar(1), null) as gestione_ord,\n" +
|
||||
" convert(datetime, null) as data_ord,\n" +
|
||||
" convert(int, null ) as num_ord,\n" +
|
||||
" convert(varchar(40), null) as rif_ord,\n" +
|
||||
" convert(datetime, null) as rif_data_ord, \n" +
|
||||
" convert(varchar(20), null) as rif_num_ord,\n" +
|
||||
" convert(varchar(10), null) as cod_jcom,\n" +
|
||||
" CONVERT(varchar(60), null) as rifTesto_numDocCli, \n" +
|
||||
" CONVERT(varchar(40), null) as tipodato_numDocCli\n" +
|
||||
" FROM dtb_doct inner join dtb_docs on dtb_docs.cod_anag = dtb_doct.cod_anag and \n" +
|
||||
" dtb_docs.cod_dtip = dtb_doct.cod_dtip and \n" +
|
||||
" dtb_docs.data_doc = dtb_doct.data_doc and \n" +
|
||||
" dtb_docs.ser_doc = dtb_doct.ser_doc and \n" +
|
||||
" dtb_docs.num_doc = dtb_doct.num_doc \n" +
|
||||
" INNER JOIN dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" left outer join gtb_aliq on dtb_docs.cod_aliq = gtb_aliq.cod_aliq \n" +
|
||||
" WHERE dtb_doct.cod_anag = @codAnag and \n" +
|
||||
" dtb_doct.cod_dtip = @codDtip and \n" +
|
||||
" dtb_doct.data_doc = @dataDoc and \n" +
|
||||
" dtb_doct.ser_doc = @serDoc and \n" +
|
||||
" dtb_doct.num_doc = @numDoc ) as docu_tab left outer join dtb_docr_print on docu_tab.cod_anag = dtb_docr_print.cod_anag AND\n" +
|
||||
" docu_tab.cod_dtip_val = dtb_docr_print.cod_dtip AND\n" +
|
||||
" docu_tab.data_doc_val = dtb_docr_print.data_doc AND\n" +
|
||||
" docu_tab.ser_doc_val = dtb_docr_print.ser_doc AND\n" +
|
||||
" docu_tab.num_doc_val = dtb_docr_print.num_doc\n" +
|
||||
"WHERE dtb_docr_print.cod_anag is null");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,216 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250930121417 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if(isDMS())
|
||||
return;
|
||||
|
||||
createOrUpdateProcedure("UpdProgOrdini", "CREATE PROCEDURE [dbo].[UpdProgOrdini](\n" +
|
||||
" @codAnag varchar(5),\n" +
|
||||
" @codDtip varchar(5),\n" +
|
||||
" @dataDoc dateTime,\n" +
|
||||
" @serDoc varchar(2),\n" +
|
||||
" @numDoc integer,\n" +
|
||||
" @segno integer,\n" +
|
||||
" @Operation varchar(1))\n" +
|
||||
" /***DESCRIZIONE: Questa storedProcedure aggiorna la quantitàevasa degli ordini e anche il \n" +
|
||||
" numero di pezzi, non contiene una serie di logiche particolarti tipo la \n" +
|
||||
" sostuzione dell'articolo nell'ordine\n" +
|
||||
" \n" +
|
||||
" */\n" +
|
||||
"AS\n" +
|
||||
"BEGIN\n" +
|
||||
" SET NOCOUNT ON;\n" +
|
||||
" \n" +
|
||||
"\n" +
|
||||
" UPDATE dtb_ordr\n" +
|
||||
" SET dtb_ordr.qta_evasa = \n" +
|
||||
" CASE WHEN (SELECT application_name from azienda ) = 'WINGEST' THEN \n" +
|
||||
" dtb_ordr.qta_evasa + \n" +
|
||||
" (@segno * \n" +
|
||||
" (CASE dtb_ordr.unt_ord\n" +
|
||||
" when doc.unt_doc then doc.qta_doc\n" +
|
||||
" when doc.unt_doc2 then doc.qta_doc2\n" +
|
||||
" when doc.unt_doc3 then doc.qta_doc3\n" +
|
||||
" else \n" +
|
||||
" Round(((doc.qta_doc_no_um / dtb_ordr.rap_conv)),mtb_unt_mis.cifre_dec) \n" +
|
||||
" end ))\n" +
|
||||
" ELSE \n" +
|
||||
" dtb_ordr.qta_evasa \n" +
|
||||
" END, \n" +
|
||||
" dtb_ordr.num_cnf_evasa = dtb_ordr.num_cnf_evasa + (@segno * doc.num_cnf),\n" +
|
||||
" dtb_ordr.flag_evaso_forzato = CASE WHEN @Operation = 'D' THEN 'N' ELSE doc.flag_evaso_forzato END,\n" +
|
||||
" dtb_ordr.flag_evaso = CASE WHEN @Operation = 'D' THEN 'I'\n" +
|
||||
" WHEN doc.flag_evaso_forzato = 'S' THEN 'E' ELSE dtb_ordr.flag_evaso END \n" +
|
||||
" FROM dtb_ordr INNER JOIN mtb_unt_mis ON dtb_ordr.unt_ord = mtb_unt_mis.unt_mis\n" +
|
||||
" INNER JOIN \n" +
|
||||
" (SELECT dtb_doct.gestione,\n" +
|
||||
" dtb_docr.data_ord,\n" +
|
||||
" dtb_docr.num_ord,\n" +
|
||||
" dtb_docr.riga_ord,\n" +
|
||||
" sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc_no_um,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc,\n" +
|
||||
" sum(dtb_docr.qta_doc) as qta_doc,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc2,\n" +
|
||||
" sum(dtb_docr.qta_doc2) as qta_doc2,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc3,\n" +
|
||||
" sum(dtb_docr.qta_doc3) as qta_doc3,\n" +
|
||||
" sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||
" max(dtb_docr.flag_evaso_forzato) as flag_evaso_forzato\n" +
|
||||
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc \n" +
|
||||
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||
" dtb_docr.data_ord is not null AND\n" +
|
||||
" ( dtb_doct.gestione <> 'L' AND (dtb_tipi.segno_qta_car = 1 OR dtb_tipi.segno_qta_scar = 1 ) OR \n" +
|
||||
" ( dtb_doct.gestione = 'L' AND dtb_tipi.segno_qta_scar = 1 ))\n" +
|
||||
" GROUP BY dtb_doct.gestione,\n" +
|
||||
" dtb_docr.data_ord,\n" +
|
||||
" dtb_docr.num_ord,\n" +
|
||||
" dtb_docr.riga_ord, \n" +
|
||||
" dtb_docr.unt_doc, \n" +
|
||||
" dtb_docr.unt_doc2, \n" +
|
||||
" dtb_docr.unt_doc3 \n" +
|
||||
" UNION ALL\n" +
|
||||
" SELECT dtb_ordt.gestione_rif,\n" +
|
||||
" dtb_ordt.data_ord_rif, \n" +
|
||||
" dtb_ordt.num_ord_rif, \n" +
|
||||
" dtb_ordt.riga_ord_rif,\n" +
|
||||
" sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc_no_um,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc,\n" +
|
||||
" sum(dtb_docr.qta_doc) as qta_doc,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc2,\n" +
|
||||
" sum(dtb_docr.qta_doc2) as qta_doc2,\n" +
|
||||
" \n" +
|
||||
" dtb_docr.unt_doc3,\n" +
|
||||
" sum(dtb_docr.qta_doc3) as qta_doc3,\n" +
|
||||
" sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||
" max(dtb_docr.flag_evaso_forzato) as flag_evaso_forzato\n" +
|
||||
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc\n" +
|
||||
" left outer join dtb_ordt ON dtb_tipi.gestione = dtb_ordt.gestione and\n" +
|
||||
" dtb_docr.data_ord = dtb_ordt.data_ord and\n" +
|
||||
" dtb_docr.num_ord = dtb_ordt.num_ord\n" +
|
||||
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||
" dtb_docr.data_ord is not null AND\n" +
|
||||
" dtb_doct.gestione = 'L' AND dtb_tipi.segno_qta_car = 1 AND\n" +
|
||||
" (SELECT application_name from azienda ) = 'WINGEST'\n" +
|
||||
" GROUP BY dtb_ordt.gestione_rif,\n" +
|
||||
" dtb_ordt.data_ord_rif,\n" +
|
||||
" dtb_ordt.num_ord_rif,\n" +
|
||||
" dtb_ordt.riga_ord_rif, \n" +
|
||||
" dtb_docr.unt_doc, \n" +
|
||||
" dtb_docr.unt_doc2, \n" +
|
||||
" dtb_docr.unt_doc3 ) doc ON\n" +
|
||||
" dtb_ordr.gestione = doc.gestione AND\n" +
|
||||
" dtb_ordr.data_ord = doc.data_ord AND\n" +
|
||||
" dtb_ordr.num_ord = doc.num_ord AND\n" +
|
||||
" dtb_ordr.riga_ord = doc.riga_ord;\n" +
|
||||
" \n" +
|
||||
" UPDATE dtb_ordt\n" +
|
||||
" SET dtb_ordt.qta_evasa_prod = dtb_ordt.qta_evasa_prod + (@segno * (doc.qta_doc / case when dtb_ordt.rap_conv_prod = 0 then 1 ELSE dtb_ordt.rap_conv_prod END)),\n" +
|
||||
" dtb_ordt.flag_evaso_prod = \n" +
|
||||
" CASE WHEN dtb_ordt.flag_evaso_prod = 'A' THEN dtb_ordt.flag_evaso_prod\n" +
|
||||
" WHEN @segno = -1 THEN CASE WHEN dtb_ordt.flag_evaso_forzato ='S' and dtb_ordt.flag_evaso_prod <> 'A' THEN 'E' ELSE 'I' END\n" +
|
||||
" WHEN @segno = 1 THEN \n" +
|
||||
" CASE WHEN doc.flag_evaso_forzato ='S' and dtb_ordt.flag_evaso_prod <> 'A' THEN 'E' \n" +
|
||||
" WHEN dtb_ordt.qta_evasa_prod + (@segno * (doc.qta_doc / case when dtb_ordt.rap_conv_prod = 0 then 1 ELSE dtb_ordt.rap_conv_prod END)) = dtb_ordt.qta_prod then 'E' \n" +
|
||||
" ELSE dtb_ordt.flag_evaso_prod END\n" +
|
||||
" END\n" +
|
||||
" FROM dtb_ordt INNER JOIN \n" +
|
||||
" (SELECT dtb_doct.gestione,\n" +
|
||||
" dtb_docr.data_ord,\n" +
|
||||
" dtb_docr.num_ord,\n" +
|
||||
" Sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc,\n" +
|
||||
" Sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||
" max(dtb_docr.flag_evaso_forzato) as flag_evaso_forzato\n" +
|
||||
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc\n" +
|
||||
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||
" dtb_docr.data_ord is not null AND\n" +
|
||||
" dtb_doct.gestione = 'L' AND \n" +
|
||||
" dtb_tipi.segno_qta_car = 1 \n" +
|
||||
" GROUP BY dtb_doct.gestione,\n" +
|
||||
" dtb_docr.data_ord,\n" +
|
||||
" dtb_docr.num_ord\n" +
|
||||
" UNION ALL\n" +
|
||||
" SELECT dtb_doct.gestione,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.num_ord,\n" +
|
||||
" Sum(dtb_docr.qta_doc * dtb_docr.rap_conv) as qta_doc,\n" +
|
||||
" Sum(dtb_docr.num_cnf) as num_cnf,\n" +
|
||||
" case when (SELECT application_name from azienda ) = 'WINGEST' THEN min (CASE WHEN dtb_docr.qta_doc >= ord_prod.qta_ord OR (dtb_docr.qta_doc < ord_prod.qta_ord AND dtb_docr.flag_evaso_forzato = 'S' ) THEN 'S' ELSE 'N' END ) ELSE 'N' END as flag_evaso_forzato \n" +
|
||||
" FROM dtb_doct inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" inner join dtb_docr on dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc\n" +
|
||||
" inner join dtb_ordr ord_prod on dtb_docr.data_ord = ord_prod.data_ord and\n" +
|
||||
" dtb_docr.num_ord = ord_prod.num_ord and\n" +
|
||||
" dtb_docr.riga_ord = ord_prod.riga_ord and\n" +
|
||||
" ord_prod.gestione = 'A'\n" +
|
||||
" inner join dtb_ordt on dtb_docr.data_ord = dtb_ordt.data_ord_rif and\n" +
|
||||
" dtb_docr.num_ord = dtb_ordt.num_ord_rif and\n" +
|
||||
" dtb_ordt.gestione = 'L' \n" +
|
||||
" WHERE dtb_doct.cod_dtip = @codDtip AND\n" +
|
||||
" dtb_doct.cod_anag = @codAnag AND\n" +
|
||||
" dtb_doct.data_doc = @dataDoc AND\n" +
|
||||
" dtb_doct.ser_doc = @serDoc AND\n" +
|
||||
" dtb_doct.num_doc = @numDoc AND\n" +
|
||||
" dtb_docr.data_ord is not null AND\n" +
|
||||
" dtb_doct.gestione = 'L' AND (dtb_tipi.segno_qta_car = 0 AND dtb_tipi.segno_val_car = 1)\n" +
|
||||
" \n" +
|
||||
" GROUP BY dtb_doct.gestione,\n" +
|
||||
" dtb_ordt.data_ord,\n" +
|
||||
" dtb_ordt.num_ord \n" +
|
||||
" ) doc ON\n" +
|
||||
" dtb_ordt.gestione = doc.gestione AND\n" +
|
||||
" dtb_ordt.data_ord = doc.data_ord AND\n" +
|
||||
" dtb_ordt.num_ord = doc.num_ord ;\n" +
|
||||
" \n" +
|
||||
"END");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomer;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250930122122 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetup("w_ddocu_ord_rc", "SETUP", "CHK_DATA_DECORRENZA", "S",
|
||||
"Verifica che la data decorrenza sia precedente alla data del documento", false, null, false, false,
|
||||
false, false, false, null, false, null);
|
||||
|
||||
if(isCustomer(IntegryCustomer.RossoGargano))
|
||||
updateSetupValue("w_ddocu_ord_rc", "SETUP", "CHK_DATA_DECORRENZA", "N");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,6 +10,8 @@ public class Migration_20250930151328 extends BaseMigration implements Migration
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if(isDMS())
|
||||
return;
|
||||
|
||||
createOrUpdateFunction("[GetDatiProvv]", "CREATE FUNCTION [dbo].[GetDatiProvv](@codVlis varchar(5), \n" +
|
||||
" @dataValidita datetime, \n" +
|
||||
|
||||
@@ -10,6 +10,8 @@ public class Migration_20250930152326 extends BaseMigration implements Migration
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if(isDMS())
|
||||
return;
|
||||
createOrUpdateProcedure("UpdProgOrdini", "CREATE PROCEDURE [dbo].[UpdProgOrdini](\n" +
|
||||
" @codAnag varchar(5),\n" +
|
||||
" @codDtip varchar(5),\n" +
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20250930182717 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
createSetupQuery("SI_NO", "SI_NO", "SELECT 'S' UNION ALL SELECT 'N'");
|
||||
createSetup("w_jriep_presenze_dip_disp", "CBX_VISUALIZZANOTEAGG", "VISIBLE", "N",
|
||||
"Inserire S/N se si vuole o meno visualizzare il flag", false, "SI_NO", false, false,
|
||||
false, false, false, null, false, "SELECT 'S' UNION ALL SELECT 'N'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251001103200 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("update stb_gest_setup set key_section = 'FLAG_COSTO_DISTINTA_NO_MDO' where key_section = 'COSTO_DA_DISTINTA_SENZA_MDO' and gest_name = 'w_mriassegna_costo_dlg'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251001104616 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
executeStatement("update stb_gest_setup set section = 'SETUP' where key_section = 'FLAG_COSTO_DISTINTA_NO_MDO'");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251002113809 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (!isTextiles()) return;
|
||||
|
||||
dropIndex("ttb_qta_min_ord", "ix_unique_ttb_qta_min_ord");
|
||||
executeStatement("create unique index ix_unique_ttb_qta_min_ord on ttb_qta_min_ord (cod_line, cod_style, cod_grtg, range_taglie);");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomer;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251002114819 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
if (!isCustomer(IntegryCustomer.Biolevante)) return;
|
||||
|
||||
|
||||
createOrUpdateFunction("f_pp_consuntivo_prod_tracc", "CREATE function [dbo].[f_pp_consuntivo_prod_tracc] (@as_codProdParent varchar(15), @as_partitaMagParent varchar(20), @ac_qtaProdParent numeric(20,5), @as_codProd varchar(15), @as_partitaMag varchar(20), @ac_qtaProd numeric(20, 5), @ai_livello integer, @as_item_id varchar(255), @ai_idRiga integer) \n" +
|
||||
"RETURNS @dettCosti TABLE(livello integer, \n" +
|
||||
" item_id varchar(255),\n" +
|
||||
" cod_prod_parent varchar(15),\n" +
|
||||
" partita_mag_parent varchar(20), \n" +
|
||||
" qta_prod_parent numeric(20,5),\n" +
|
||||
" cod_prod varchar(15),\n" +
|
||||
" partita_mag varchar(20), \n" +
|
||||
" qta_prod numeric(20,5),\n" +
|
||||
" gruppo_conto varchar(40), \n" +
|
||||
" conto varchar(40), \n" +
|
||||
" descrizione_conto varchar(255), \n" +
|
||||
" dettaglio_conto varchar(40),\n" +
|
||||
" unt_mis varchar(5), \n" +
|
||||
" qta_consumata numeric(20, 5)) AS\n" +
|
||||
"Begin\n" +
|
||||
" DECLARE \n" +
|
||||
" @lc_qtaProd numeric(20,5), \n" +
|
||||
" @ls_gruppoConto varchar(40), \n" +
|
||||
" @ls_codMart varchar(15), \n" +
|
||||
" @ls_partitaMag varchar(20), \n" +
|
||||
" @ls_descrizione varchar(255), \n" +
|
||||
" @ls_untMis varchar(5), \n" +
|
||||
" @lc_qtaMP numeric(20,5), \n" +
|
||||
" @li_existDist integer, \n" +
|
||||
" @lc_rapporto numeric(20, 5),\n" +
|
||||
" @lc_qtaProdScaricata numeric(20,5),\n" +
|
||||
" @li_livello integer, \n" +
|
||||
" @ls_itemID varchar(255),\n" +
|
||||
" @li_idRiga integer,\n" +
|
||||
" @ls_codMiscela varchar(15),\n" +
|
||||
" @ls_posizione varchar(20),\n" +
|
||||
" @ls_posizione_da varchar(20),\n" +
|
||||
" @ls_posizione_a varchar(20)\n" +
|
||||
"\n" +
|
||||
" SELECT @ls_codMiscela = cod_mart FROM olvw_miscele_olio\n" +
|
||||
"\n" +
|
||||
" if @ai_idRiga is null\n" +
|
||||
" begin\n" +
|
||||
" SELECT @ai_livello = 1\n" +
|
||||
" SELECT @as_item_id = '00001';\n" +
|
||||
" end ;\n" +
|
||||
" IF @as_item_id = '' \n" +
|
||||
" begin\n" +
|
||||
" Select @ls_posizione = mtb_depo_posizioni.posizione from mtb_partita_mag, mtb_depo_posizioni \n" +
|
||||
" where mtb_depo_posizioni.posizione = mtb_partita_mag.posizione and\n" +
|
||||
" mtb_partita_mag.cod_mart = @as_codProdParent and partita_mag = @as_partitaMagParent and\n" +
|
||||
" mtb_depo_posizioni.flag_silos_liquidi = 1;\n" +
|
||||
" If @ls_posizione is not null Select @as_item_id = 'SILOS' --Serve ad identificare le miscele di olio\n" +
|
||||
" end\n" +
|
||||
"\n" +
|
||||
" /* Acquisizione quantita totale prodotta per prodotto-partita */\n" +
|
||||
" Select @lc_qtaProd = ISNULL(sum(dtb_docr.qta_doc * dtb_docr.rap_conv * dtb_tipi.segno_qta_car), 0)\n" +
|
||||
" from dtb_docr, \n" +
|
||||
" dtb_tipi, \n" +
|
||||
" mtb_aart, \n" +
|
||||
" mtb_grup\n" +
|
||||
" where dtb_docr.cod_dtip = dtb_tipi.cod_dtip and\n" +
|
||||
" dtb_docr.cod_mart = mtb_aart.cod_mart and\n" +
|
||||
" mtb_aart.cod_mgrp = mtb_Grup.cod_mgrp and\n" +
|
||||
" dtb_docr.cod_mart = @as_codProd and\n" +
|
||||
" dtb_docr.partita_mag = @as_partitaMag and\n" +
|
||||
" dtb_tipi.gestione = 'L' and\n" +
|
||||
" dtb_tipi.tipo_emissione = 'DIRETTA' and\n" +
|
||||
" dtb_tipi.segno_qta_car <> 0\n" +
|
||||
"\n" +
|
||||
" /* Calcolo del rapporto della qta passata come parametro e di quella totale*/\n" +
|
||||
" if @ac_qtaProd is not null\n" +
|
||||
" if @lc_qtaProd = 0 select @lc_rapporto = 0 else select @lc_rapporto = @ac_qtaProd / @lc_qtaProd\n" +
|
||||
" else\n" +
|
||||
" begin \n" +
|
||||
" select @lc_rapporto = 1\n" +
|
||||
" select @ac_qtaProdParent = @lc_qtaProd\n" +
|
||||
" end\n" +
|
||||
" \n" +
|
||||
" /* Acquisizione totale quantita' prodotta per prododo-partita_mag dagli scarichi\n" +
|
||||
" E' necessario prendere la quantita dalla testata degli scarichi perche' ci \n" +
|
||||
" potrebbero essere delle perdite rispetto alla quantita' caricata.\n" +
|
||||
" N.B. al momento questa variabile viene acquisita solo per controllo in fase di debug\n" +
|
||||
" */\n" +
|
||||
" Select @lc_qtaProdScaricata = sum(dtb_doct.qta_prod*dtb_doct.rap_conv_prod * @lc_rapporto)\n" +
|
||||
" From dtb_doct, \n" +
|
||||
" dtb_tipi\n" +
|
||||
" Where dtb_doct.cod_dtip = dtb_tipi.cod_dtip and\n" +
|
||||
" dtb_tipi.gestione = 'L' and \n" +
|
||||
" dtb_tipi.segno_qta_scar = 1 and\n" +
|
||||
" dtb_doct.cod_prod = @as_codProd and\n" +
|
||||
" ISNULL(dtb_doct.partita_mag, '') = ISNULL(@as_partitaMag, '')\n" +
|
||||
" \n" +
|
||||
"\n" +
|
||||
" /* Acquisizione scarichi per prodotto-partita_mag */\n" +
|
||||
" select @li_idRiga = 0;\n" +
|
||||
" IF @as_codProd = @ls_codMiscela\n" +
|
||||
" begin\n" +
|
||||
" Select @ai_livello = @ai_livello+1\n" +
|
||||
" end\n" +
|
||||
" Declare csr_scarichi Cursor LOCAL SCROLL FOR\n" +
|
||||
" Select PP_gruppiCostiMP.GruppoConto,\n" +
|
||||
" dtb_docr.cod_mart, \n" +
|
||||
" dtb_docr.partita_mag,\n" +
|
||||
" dtb_docr.descrizione_estesa as descrizione,\n" +
|
||||
" mtb_aart.unt_mis,\n" +
|
||||
" sum(dtb_docr.qta_doc*dtb_docr.rap_conv*dtb_tipi.segno_qta_scar*@lc_rapporto) as Qta_mp\n" +
|
||||
" From dtb_doct, \n" +
|
||||
" dtb_docr, \n" +
|
||||
" dtb_tipi, \n" +
|
||||
" mtb_aart, \n" +
|
||||
" mtb_grup, \n" +
|
||||
" PP_gruppiCostiMP\n" +
|
||||
" Where dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc and\n" +
|
||||
" dtb_doct.cod_dtip = dtb_tipi.cod_dtip and\n" +
|
||||
" dtb_tipi.gestione = 'L' and \n" +
|
||||
" dtb_tipi.segno_qta_scar = 1 and\n" +
|
||||
" dtb_docr.cod_mart = mtb_aart.cod_mart and\n" +
|
||||
" mtb_aart.cod_mgrp = mtb_grup.cod_mgrp and\n" +
|
||||
" dtb_docr.cod_mart = PP_gruppiCostiMP.cod_mart and\n" +
|
||||
" dtb_doct.cod_prod = @as_codProd and\n" +
|
||||
" ISNULL(dtb_doct.partita_mag, '') = ISNULL(@as_partitaMag, '')\n" +
|
||||
" and NOT (dtb_docr.cod_mart = @as_codProd and ISNULL(dtb_docr.partita_mag, '') = ISNULL(@as_partitaMag, ''))\n" +
|
||||
" group by PP_gruppiCostiMP.GruppoConto,\n" +
|
||||
" dtb_docr.cod_mart, \n" +
|
||||
" dtb_docr.partita_mag,\n" +
|
||||
" dtb_docr.descrizione_estesa,\n" +
|
||||
" mtb_aart.unt_mis\n" +
|
||||
" union all\n" +
|
||||
" \n" +
|
||||
" Select PP_gruppiCostiMP.GruppoConto,\n" +
|
||||
" car.cod_mart, \n" +
|
||||
" car.partita_mag,\n" +
|
||||
" car.descrizione_estesa as descrizione,\n" +
|
||||
" mtb_aart.unt_mis,\n" +
|
||||
" sum(car.qta_doc*car.rap_conv*dtb_tipi.segno_qta_scar*@lc_rapporto) as Qta_mp \n" +
|
||||
" from dtb_doct inner join dtb_docr on dtb_doct.cod_anag = dtb_docr.cod_anag and\n" +
|
||||
" dtb_doct.cod_dtip = dtb_docr.cod_dtip and\n" +
|
||||
" dtb_doct.data_doc = dtb_docr.data_doc and\n" +
|
||||
" dtb_doct.ser_doc = dtb_docr.ser_doc and\n" +
|
||||
" dtb_doct.num_doc = dtb_docr.num_doc \n" +
|
||||
" inner join dtb_tipi on dtb_doct.cod_dtip = dtb_tipi.cod_dtip \n" +
|
||||
" inner join dtb_docr car on dtb_doct.activity_id = car.activity_id_row \n" +
|
||||
" inner join dtb_tipi tipo_car on car.cod_dtip = tipo_car.cod_dtip\n" +
|
||||
" inner join olvw_caratteristiche on car.cod_mart = olvw_caratteristiche.cod_mart\n" +
|
||||
" inner join PP_gruppiCostiMP on car.cod_mart = PP_gruppiCostiMP.cod_mart\n" +
|
||||
" inner join mtb_aart on car.cod_mart = mtb_aart.cod_mart \n" +
|
||||
" inner join mtb_grup on mtb_aart.cod_mgrp = mtb_grup.cod_mgrp \n" +
|
||||
" where tipo_car.gestione = 'L' and \n" +
|
||||
" tipo_car.segno_qta_car - tipo_car.segno_qta_scar < 0 and \n" +
|
||||
" olvw_caratteristiche.Confezionato = 'S' and \n" +
|
||||
" dtb_tipi.gestione = 'L' and \n" +
|
||||
" dtb_tipi.segno_qta_scar = 1 and\n" +
|
||||
" dtb_doct.cod_prod = @as_codProd and\n" +
|
||||
" ISNULL(dtb_doct.partita_mag, '') = ISNULL(@as_partitaMag, '')\n" +
|
||||
" and NOT (dtb_docr.cod_mart = @as_codProd and ISNULL(dtb_docr.partita_mag, '') = ISNULL(@as_partitaMag, '')) \n" +
|
||||
" group by PP_gruppiCostiMP.GruppoConto,\n" +
|
||||
" car.cod_mart, \n" +
|
||||
" car.partita_mag,\n" +
|
||||
" car.descrizione_estesa,\n" +
|
||||
" mtb_aart.unt_mis\n" +
|
||||
" Order by PP_gruppiCostiMP.GruppoConto desc \n" +
|
||||
" \n" +
|
||||
" OPEN csr_scarichi\n" +
|
||||
" FETCH NEXT FROM csr_scarichi INTO @ls_gruppoConto, @ls_codMart, @ls_partitaMag, @ls_descrizione, @ls_untMis, @lc_qtaMP\n" +
|
||||
" WHILE @@FETCH_STATUS = 0\n" +
|
||||
" begin\n" +
|
||||
" IF ABS(@lc_qtaMP) > 0.01\n" +
|
||||
" Begin\n" +
|
||||
" select @li_idRiga = @li_idRiga + 1;\n" +
|
||||
" SELECT @ls_itemID = @as_item_id + '_' + REPLICATE('0', 5 - len(CONVERT(varchar(15), @li_idRiga))) + CONVERT(varchar(15), @li_idRiga); \n" +
|
||||
"\n" +
|
||||
" /* verifica esistenza scarico, Indica che siamo in presenza di un semilavorato/lotto */\n" +
|
||||
" select @li_existDist = count(*)\n" +
|
||||
" from dtb_doct, dtb_tipi\n" +
|
||||
" where dtb_doct.cod_prod = @ls_codMart and partita_mag = @ls_partitaMag and \n" +
|
||||
" dtb_doct.cod_dtip = dtb_tipi.cod_dtip and\n" +
|
||||
" dtb_tipi.segno_qta_scar = 1 and \n" +
|
||||
" dtb_doct.gestione = 'L'\n" +
|
||||
" \n" +
|
||||
" \n" +
|
||||
" /* Materia prima */\n" +
|
||||
" if @li_existDist = 0 or @@NESTLEVEL >= 30\n" +
|
||||
" begin\n" +
|
||||
" insert into @dettCosti \n" +
|
||||
" select @ai_livello,\n" +
|
||||
" @ls_itemID,\n" +
|
||||
" @as_codProdParent, \n" +
|
||||
" @as_partitaMagParent, \n" +
|
||||
" @ac_qtaProdParent, \n" +
|
||||
" @as_codProd, \n" +
|
||||
" @as_partitaMag, \n" +
|
||||
" @lc_qtaProdScaricata, \n" +
|
||||
" @ls_gruppoConto, \n" +
|
||||
" @ls_codMart, \n" +
|
||||
" @ls_descrizione, \n" +
|
||||
" @ls_partitaMag, \n" +
|
||||
" @ls_untMis, \n" +
|
||||
" @lc_qtaMP\n" +
|
||||
" end\n" +
|
||||
" else\n" +
|
||||
" Begin\n" +
|
||||
" /* Semilavorato */\n" +
|
||||
" \n" +
|
||||
" Select @ls_posizione_a = mtb_depo_posizioni.posizione \n" +
|
||||
" from mtb_partita_mag, mtb_depo_posizioni \n" +
|
||||
" where mtb_depo_posizioni.posizione = mtb_partita_mag.posizione and\n" +
|
||||
" mtb_partita_mag.cod_mart = @as_codProd and partita_mag = @as_partitaMag and\n" +
|
||||
" mtb_depo_posizioni.flag_silos_liquidi = 1;\n" +
|
||||
" Select @ls_posizione_da = mtb_depo_posizioni.posizione \n" +
|
||||
" from mtb_partita_mag, mtb_depo_posizioni \n" +
|
||||
" where mtb_depo_posizioni.posizione = mtb_partita_mag.posizione and\n" +
|
||||
" mtb_partita_mag.cod_mart = @ls_codMart and partita_mag = @ls_partitaMag and\n" +
|
||||
" mtb_depo_posizioni.flag_silos_liquidi = 1;\n" +
|
||||
"\n" +
|
||||
" If @ls_posizione_da is not null and\n" +
|
||||
" (ISNULL(@ls_posizione_da,'') <> ISNULL(@ls_posizione_a,00) or \n" +
|
||||
" @ls_posizione_da is null or @ls_posizione_a is null or \n" +
|
||||
" (@ai_livello <1 and @as_codProd = @ls_codMiscela) or \n" +
|
||||
" (ISNULL(@ls_posizione_da,'') = ISNULL(@ls_posizione_a,00) and @as_codProd= @ls_codMiscela))\n" +
|
||||
" --Questa insert serve per trattare l'olio che proviene da altro serbatoio come una materia prima a partire dal 2° livello di ricorsione\n" +
|
||||
" Begin\n" +
|
||||
" insert into @dettCosti \n" +
|
||||
" select @ai_livello,\n" +
|
||||
" @ls_itemID,\n" +
|
||||
" @as_codProdParent, \n" +
|
||||
" @as_partitaMagParent, \n" +
|
||||
" @ac_qtaProdParent, \n" +
|
||||
" @as_codProd, \n" +
|
||||
" @as_partitaMag, \n" +
|
||||
" @lc_qtaProdScaricata, \n" +
|
||||
" @ls_gruppoConto, \n" +
|
||||
" @ls_codMart, \n" +
|
||||
" @ls_descrizione, \n" +
|
||||
" @ls_partitaMag, \n" +
|
||||
" @ls_untMis, \n" +
|
||||
" @lc_qtaMP;\n" +
|
||||
" End\n" +
|
||||
" \n" +
|
||||
" /*Ricorsione su semilavorato-partita_mag*/\n" +
|
||||
" If ISNULL(@ls_posizione_da,'') = ISNULL(@ls_posizione_a,00) and @as_codProd <> @ls_codMiscela or \n" +
|
||||
" @ls_posizione_da is null or @ls_posizione_a is null or \n" +
|
||||
" (@ai_livello <1 and @as_codProd = @ls_codMiscela)\n" +
|
||||
" --La ricorsione non avviene sugli olii provenienti da altro serbatoio e neanche nel caso di Miscele fittizie create nello stesso serbatoio dell'olio di provenienza in assenza di polmone\n" +
|
||||
" insert into @dettCosti \n" +
|
||||
" select costi.livello, \n" +
|
||||
" costi.item_id,\n" +
|
||||
" @as_codProdParent, \n" +
|
||||
" @as_partitaMagParent,\n" +
|
||||
" @ac_qtaProdParent,\n" +
|
||||
" costi.cod_prod, \n" +
|
||||
" costi.partita_mag, \n" +
|
||||
" costi.qta_prod,\n" +
|
||||
" costi.gruppo_conto, \n" +
|
||||
" costi.conto, \n" +
|
||||
" costi.descrizione_conto, \n" +
|
||||
" costi.dettaglio_conto,\n" +
|
||||
" costi.unt_mis, \n" +
|
||||
" costi.qta_consumata \n" +
|
||||
" from dbo.f_pp_consuntivo_prod_tracc(@as_codProdParent, @as_partitaMagParent, @ac_qtaProdParent, @ls_codMart, @ls_partitaMag, @lc_qtaMP, @ai_livello, @ls_itemID, @li_idRiga) costi\n" +
|
||||
" \n" +
|
||||
" \n" +
|
||||
" end\n" +
|
||||
" end\n" +
|
||||
" FETCH NEXT FROM csr_scarichi INTO @ls_gruppoConto, @ls_codMart, @ls_partitaMag, @ls_descrizione, @ls_untMis, @lc_qtaMP\n" +
|
||||
" end\n" +
|
||||
" close csr_scarichi\n" +
|
||||
" deallocate csr_scarichi\n" +
|
||||
" return\n" +
|
||||
"END");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251002154118 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Carelli_Winact)) {
|
||||
executeStatement(
|
||||
"ALTER TABLE mtb_aart\n" +
|
||||
" ALTER COLUMN cod_mart VARCHAR(15) NOT NULL;\n" +
|
||||
"ALTER TABLE mtb_aart\n" +
|
||||
" ADD CONSTRAINT pk_mtb_aart PRIMARY KEY (cod_mart);"
|
||||
);
|
||||
}
|
||||
|
||||
executeStatement(
|
||||
"CREATE TABLE mrl_aart_clie_blacklist\n" +
|
||||
"(\n" +
|
||||
" cod_anag VARCHAR(5)\n" +
|
||||
" CONSTRAINT mrl_aart_clie_blacklist_gtb_anag_cod_anag_fk\n" +
|
||||
" REFERENCES dbo.gtb_anag,\n" +
|
||||
" cod_mart VARCHAR(15)\n" +
|
||||
" CONSTRAINT mrl_aart_clie_blacklist_mtb_aart_cod_mart_fk\n" +
|
||||
" REFERENCES dbo.mtb_aart,\n" +
|
||||
" CONSTRAINT mrl_aart_clie_blacklist_pk\n" +
|
||||
" PRIMARY KEY (cod_anag, cod_mart)\n" +
|
||||
");"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251003120037 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if(isTextiles())
|
||||
enableSaveToRest("ttline");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -280,6 +280,7 @@ public class ReportProcessor {
|
||||
hm_parameters.put("ROOT_DIR", pathJrxmlHome);
|
||||
hm_parameters.put("SUBREPORT_DIR", this.getSubreportPath()/* pathJrxmlHome*/);
|
||||
|
||||
|
||||
HashMap<String, String> ipAddressAndPort = UtilityURL.getIpAddressAndPort();
|
||||
String url = null;
|
||||
if (ipAddressAndPort.get("host") != null) {
|
||||
@@ -288,7 +289,9 @@ public class ReportProcessor {
|
||||
}
|
||||
hm_parameters.put("api_webservices", url);
|
||||
|
||||
|
||||
if ( userSession.getCurrentUser() != null ) {
|
||||
hm_parameters.put("user_name", userSession.getUsername());
|
||||
String firmaUtente;
|
||||
String sql =
|
||||
Query.format(
|
||||
|
||||
@@ -27,6 +27,13 @@ public class ComuniController {
|
||||
return ServiceRestResponse.createPositiveResponse(comuniService.savePosition(request));
|
||||
}
|
||||
|
||||
@PostMapping(value = "retrievePosition")
|
||||
public ServiceRestResponse retrievePosition(@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestBody String id) throws Exception {
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(comuniService.retrievePosition(id));
|
||||
}
|
||||
|
||||
@PostMapping(value = "infoComuni")
|
||||
public ServiceRestResponse getInfoComuni(@RequestParam(required = false) String nome,
|
||||
@RequestParam(required = false) String cap,
|
||||
|
||||
@@ -59,6 +59,15 @@ public class ComuniService {
|
||||
return position;
|
||||
}
|
||||
|
||||
public StbPosizioni retrievePosition(String id) throws Exception {
|
||||
StbPosizioni position = new StbPosizioni().setId(Long.valueOf(id));
|
||||
|
||||
position.setOperation(OperationType.SELECT_OBJECT);
|
||||
entityProcessor.processEntity(position, multiDBTransactionManager);
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo che filtra l'intera lista dei comuni corrispondenti ai parametri specificati
|
||||
*
|
||||
|
||||
@@ -219,7 +219,7 @@ public class ProductionOrderDataHandlerService {
|
||||
" ordl.colli_pedana,\n" +
|
||||
" ordl.riga_ord_rif riga_ord_prod,\n" +
|
||||
" ISNULL(mtb_aart.descrizione_estesa, mtb_aart.descrizione) AS descrizione_prod,\n" +
|
||||
" colli.data_scad,\n" +
|
||||
" isNull(colli.data_scad,mtb_partita_mag.data_scad) AS data_scad,\n" +
|
||||
" jtb_comt.cod_jcom,\n" +
|
||||
" jtb_comt.descrizione as descrizione_commessa,\n" +
|
||||
" jl.id_lotto\n" +
|
||||
@@ -231,9 +231,11 @@ public class ProductionOrderDataHandlerService {
|
||||
" ordl.data_ord = steps.data_ord AND\n" +
|
||||
" ordl.num_ord = steps.num_ord\n" +
|
||||
" INNER JOIN mtb_aart ON ordl.cod_prod = mtb_aart.cod_mart\n" +
|
||||
" INNER JOIN colli ON colli.gestione = ordl.gestione AND\n" +
|
||||
" LEFT OUTER JOIN colli ON colli.gestione = ordl.gestione AND\n" +
|
||||
" ordl.data_ord = colli.data_ord AND\n" +
|
||||
" ordl.num_ord = colli.num_ord \n" +
|
||||
" LEFT OUTER JOIN mtb_partita_mag ON ordl.cod_prod = mtb_partita_mag.cod_mart\n" +
|
||||
" AND ordl.partita_mag = mtb_partita_mag.partita_mag\n" +
|
||||
" LEFT OUTER JOIN jtb_comt ON ordl.cod_jcom = jtb_comt.cod_jcom\n" +
|
||||
" LEFT OUTER JOIN jtb_lotr jl\n" +
|
||||
" ON steps.cod_jfas = jl.cod_jfas AND\n" +
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@Table(MrlAartClieBlacklist.ENTITY)
|
||||
@JsonTypeName(MrlAartClieBlacklist.ENTITY)
|
||||
public class MrlAartClieBlacklist extends EntityBase {
|
||||
public static final String ENTITY = "mrl_aart_clie_blacklist";
|
||||
|
||||
private static final Logger logger = LogManager.getLogger();
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public MrlAartClieBlacklist() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
@PK
|
||||
@SqlField(value = "cod_anag", maxLength = 5, nullable = false)
|
||||
private String codAnag;
|
||||
|
||||
@PK
|
||||
@SqlField(value = "cod_mart", maxLength = 15, nullable = false)
|
||||
private String codMart;
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public MrlAartClieBlacklist setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public MrlAartClieBlacklist setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -5,13 +5,14 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@Master
|
||||
@PropertyReactive
|
||||
@@ -152,6 +153,9 @@ public class MtbDepo extends EntityBase {
|
||||
@EntityChild
|
||||
private List<MrlDepoArtEsclusiWms> mrlDepoArtEsclusiWms = new ArrayList<>();
|
||||
|
||||
@EntityChild
|
||||
private List<WtbDepo> wtbDepo = new ArrayList<>();
|
||||
|
||||
public MtbDepo() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -559,37 +563,13 @@ public class MtbDepo extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void insertChilds() throws Exception {
|
||||
for (MtbDepoPosizioni mtbDepoPosizioni : getMtbDepoPosizioni()) {
|
||||
mtbDepoPosizioni.manageWithParentConnection(connection, mtbDepoPosizioni.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MtbDepoArea mtbDepoArea : getMtbDepoArea()) {
|
||||
mtbDepoArea.manageWithParentConnection(connection, mtbDepoArea.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MtbDepoCasse mtbDepoCasse : getMtbDepoCasse()) {
|
||||
mtbDepoCasse.manageWithParentConnection(connection, mtbDepoCasse.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MtbDepoIntercode mtbDepoIntercode : getMtbDepoIntercode()) {
|
||||
mtbDepoIntercode.manageWithParentConnection(connection, mtbDepoIntercode.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MtbDepoOper mtbDepoOper : getMtbDepoOper()) {
|
||||
mtbDepoOper.manageWithParentConnection(connection, mtbDepoOper.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MtbDepoMarcatempo mtbDepoMarcatempo : getMtbDepoMarcatempo()) {
|
||||
mtbDepoMarcatempo.manageWithParentConnection(connection, mtbDepoMarcatempo.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (NtbTipiInca ntbTipiInca : getNtbTipiInca()) {
|
||||
ntbTipiInca.manageWithParentConnection(connection, ntbTipiInca.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (MrlDepoArtEsclusiWms mrlDepoArtEsclusiWms : getMrlDepoArtEsclusiWms()) {
|
||||
mrlDepoArtEsclusiWms.manageWithParentConnection(connection, mrlDepoArtEsclusiWms.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
public List<WtbDepo> getWtbDepo() {
|
||||
return wtbDepo;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateChilds() throws Exception {
|
||||
insertChilds();
|
||||
public MtbDepo setWtbDepo(List<WtbDepo> wtbDepo) {
|
||||
this.wtbDepo = wtbDepo;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -608,5 +588,7 @@ public class MtbDepo extends EntityBase {
|
||||
ntbTipiInca.deleteAllEntities(connection, this);
|
||||
MrlDepoArtEsclusiWms mrlDepoArtEsclusiWms = new MrlDepoArtEsclusiWms();
|
||||
mrlDepoArtEsclusiWms.deleteAllEntities(connection, this);
|
||||
WtbDepo wtbDepo = new WtbDepo();
|
||||
wtbDepo.deleteAllEntities(connection, this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import it.integry.common.var.CommonConstants;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.annotation.Master;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.Identity;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import java.util.Date;
|
||||
|
||||
@Master()
|
||||
@PropertyReactive()
|
||||
@Table(value = MtbVarLisvLog.ENTITY)
|
||||
@JsonTypeName(value = MtbVarLisvLog.ENTITY)
|
||||
public class MtbVarLisvLog extends EntityBase {
|
||||
|
||||
public final static String ENTITY = "mtb_var_lisv_log";
|
||||
|
||||
private final static Long serialVersionUID = 1L;
|
||||
|
||||
private final static Logger logger = LogManager.getLogger();
|
||||
|
||||
public MtbVarLisvLog() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
@PK()
|
||||
@Identity()
|
||||
@SqlField(value = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
@SqlField(value = "datetime_var", nullable = false, defaultObjectValue = CommonConstants.TIMESTAMP)
|
||||
private LocalDateTime datetimeVar;
|
||||
|
||||
@SqlField(value = "user_name", maxLength = 40, nullable = true)
|
||||
private String userName;
|
||||
|
||||
@SqlField(value = "cod_vlis", maxLength = 5, nullable = false)
|
||||
private String codVlis;
|
||||
|
||||
@SqlField(value = "versione", nullable = false)
|
||||
private Integer versione;
|
||||
|
||||
@SqlField(value = "cod_promo", maxLength = 10, nullable = true)
|
||||
private String codPromo;
|
||||
|
||||
@SqlField(value = "data_iniz", nullable = true)
|
||||
private LocalDate dataIniz;
|
||||
|
||||
@SqlField(value = "data_fine", nullable = true)
|
||||
private LocalDate dataFine;
|
||||
|
||||
@SqlField(value = "cod_mart", maxLength = 15, nullable = true)
|
||||
private String codMart;
|
||||
|
||||
@SqlField(value = "note", nullable = true)
|
||||
private String note;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDateTime getDatetimeVar() {
|
||||
return datetimeVar;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setDatetimeVar(LocalDateTime datetimeVar) {
|
||||
this.datetimeVar = datetimeVar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodVlis() {
|
||||
return codVlis;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setCodVlis(String codVlis) {
|
||||
this.codVlis = codVlis;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getVersione() {
|
||||
return versione;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setVersione(Integer versione) {
|
||||
this.versione = versione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodPromo() {
|
||||
return codPromo;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setCodPromo(String codPromo) {
|
||||
this.codPromo = codPromo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataIniz() {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setDataIniz(LocalDate dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalDate getDataFine() {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setDataFine(LocalDate dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNote() {
|
||||
return note;
|
||||
}
|
||||
|
||||
public MtbVarLisvLog setNote(String note) {
|
||||
this.note = note;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -143,6 +143,9 @@ public class TtbLine extends EntityBase {
|
||||
@EntityChild
|
||||
private List<TtbLineLingua> ttbLineLingua = new ArrayList<>();
|
||||
|
||||
@EntityChild
|
||||
private List<TtbQtaMinOrd> ttbQtaMinOrd = new ArrayList<>();
|
||||
|
||||
public TtbLine() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -478,19 +481,13 @@ public class TtbLine extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void insertChilds() throws Exception {
|
||||
for (TtbLinePeriod ttbLinePeriod : getTtbLinePeriod()) {
|
||||
ttbLinePeriod.manageWithParentConnection(connection, ttbLinePeriod.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
for (TtbLineLingua ttbLineLingua : getTtbLineLingua()) {
|
||||
ttbLineLingua.manageWithParentConnection(connection, ttbLineLingua.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
public List<TtbQtaMinOrd> getTtbQtaMinOrd() {
|
||||
return ttbQtaMinOrd;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateChilds() throws Exception {
|
||||
insertChilds();
|
||||
public TtbLine setTtbQtaMinOrd(List<TtbQtaMinOrd> ttbQtaMinOrd) {
|
||||
this.ttbQtaMinOrd = ttbQtaMinOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -499,5 +496,7 @@ public class TtbLine extends EntityBase {
|
||||
ttbLinePeriod.deleteAllEntities(connection, this);
|
||||
TtbLineLingua ttbLineLingua = new TtbLineLingua();
|
||||
ttbLineLingua.deleteAllEntities(connection, this);
|
||||
TtbQtaMinOrd ttbQtaMinOrd = new TtbQtaMinOrd();
|
||||
ttbQtaMinOrd.deleteAllEntities(connection, this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.annotation.FK;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Master()
|
||||
@PropertyReactive()
|
||||
@Table(value = TtbQtaMinOrd.ENTITY)
|
||||
@JsonTypeName(value = TtbQtaMinOrd.ENTITY)
|
||||
|
||||
@@ -96,7 +96,7 @@ public class VtbDest extends EntityBase implements EquatableEntityInterface<VtbD
|
||||
@SqlField(value = "part_iva", maxLength = 20)
|
||||
private String partIva;
|
||||
|
||||
@SqlField(value = "cod_affiliazione", maxLength = 10)
|
||||
@SqlField(value = "cod_affiliazione", maxLength = 40)
|
||||
private String codAffiliazione;
|
||||
|
||||
@SqlField(value = "indirizzo_legale", maxLength = 255)
|
||||
|
||||
@@ -5,9 +5,9 @@ import it.integry.ems_model.annotation.PK;
|
||||
import it.integry.ems_model.annotation.SqlField;
|
||||
import it.integry.ems_model.annotation.Table;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
@PropertyReactive
|
||||
@Table(WtbDepo.ENTITY)
|
||||
@@ -29,7 +29,7 @@ public class WtbDepo extends EntityBase {
|
||||
private String codMdep;
|
||||
|
||||
@SqlField(value = "default_depo", nullable = false)
|
||||
private boolean defaultDepo;
|
||||
private Boolean defaultDepo;
|
||||
|
||||
public WtbDepo() {
|
||||
super(logger);
|
||||
@@ -58,11 +58,11 @@ public class WtbDepo extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isDefaultDepo() {
|
||||
public Boolean getDefaultDepo() {
|
||||
return defaultDepo;
|
||||
}
|
||||
|
||||
public WtbDepo setDefaultDepo(boolean defaultDepo) {
|
||||
public WtbDepo setDefaultDepo(Boolean defaultDepo) {
|
||||
this.defaultDepo = defaultDepo;
|
||||
return this;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -357,31 +357,37 @@ public class ActivityController {
|
||||
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_POST_ACTIVITY_PLAN, method = RequestMethod.POST)
|
||||
public ServiceRestResponse postActivityPlan(
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestBody ActivityPlanDTO planDto
|
||||
) throws Exception{
|
||||
public ServiceRestResponse postActivityPlan(@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestBody ActivityPlanDTO planDto) throws Exception {
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(activityService.createActivityPlan(planDto));
|
||||
|
||||
}
|
||||
@RequestMapping(value = EmsRestConstants.PATH_DELETE_ACTIVITY_PLAN, method = RequestMethod.POST)
|
||||
public ServiceRestResponse deleteActivityPlan(
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@PathVariable("id") Long id
|
||||
) throws Exception{
|
||||
return ServiceRestResponse.createPositiveResponse(activityService.deleteActivityPlan(id));
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_DELETE_ACTIVITY_PLAN, method = RequestMethod.POST)
|
||||
public ServiceRestResponse deleteActivityPlan(@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@PathVariable("id") Long id) throws Exception {
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(activityService.deleteActivityPlan(id));
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = EmsRestConstants.PATH_GET_SCHEDULED_ACTIVITIES, method = RequestMethod.GET)
|
||||
public ServiceRestResponse getScheduledActivities(
|
||||
@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestParam String username,
|
||||
@RequestParam String startDate,
|
||||
@RequestParam String endDate
|
||||
) throws Exception{
|
||||
return ServiceRestResponse.createPositiveResponse(activityService.getScheduledActivities(username, UtilityString.parseLocalDate(startDate),UtilityString.parseLocalDate(endDate)));
|
||||
public ServiceRestResponse getScheduledActivities(@RequestParam(CommonConstants.PROFILE_DB) String config,
|
||||
@RequestParam String username,
|
||||
@RequestParam String startDate,
|
||||
@RequestParam String endDate) throws Exception {
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(
|
||||
activityService.getScheduledActivities(
|
||||
username,
|
||||
UtilityString.parseLocalDate(startDate),
|
||||
UtilityString.parseLocalDate(endDate)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@GetMapping(value = "activity/getAvgResolutionTime")
|
||||
public ServiceRestResponse getAvgResolutionTime(@RequestParam(CommonConstants.PROFILE_DB) String config) throws Exception {
|
||||
return ServiceRestResponse.createPositiveResponse(activityService.getAvgResolutionTime());
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,9 @@ public class TreeViewDTO {
|
||||
@SqlField("cod_jcom")
|
||||
private String codJcom;
|
||||
|
||||
@SqlField("cod_anag")
|
||||
private String codAnag;
|
||||
|
||||
@SqlField("livello")
|
||||
private int livello;
|
||||
|
||||
@@ -46,6 +49,15 @@ public class TreeViewDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public TreeViewDTO setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getRow() {
|
||||
return row;
|
||||
}
|
||||
|
||||
@@ -1528,8 +1528,9 @@ public class ActivityService {
|
||||
String sql;
|
||||
|
||||
if (codJcom == null) {
|
||||
sql = "WITH commesse AS (SELECT cod_jcom FROM jtb_comt WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA'))\n" +
|
||||
sql = "WITH commesse AS (SELECT cod_jcom, cod_anag FROM jtb_comt WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA'))\n" +
|
||||
"SELECT t.cod_jcom,\n" +
|
||||
" commesse.cod_anag,\n" +
|
||||
" t.livello,\n" +
|
||||
" t.activity_id,\n" +
|
||||
" stb_activity.activity_description,\n" +
|
||||
@@ -2130,4 +2131,41 @@ public class ActivityService {
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
public int getAvgResolutionTime() throws Exception {
|
||||
String sql = "WITH parent AS (\n" +
|
||||
" SELECT p.*\n" +
|
||||
" FROM stb_activity p\n" +
|
||||
" INNER JOIN jtb_comt ON jtb_comt.cod_jcom = p.cod_jcom\n" +
|
||||
" WHERE stato_commessa IN ('IN CORSO', 'POST VENDITA', 'TRATTATIVA')\n" +
|
||||
" AND activity_type_id = 'ticket'\n" +
|
||||
"),\n" +
|
||||
"figlie AS (\n" +
|
||||
" SELECT f.activity_id,\n" +
|
||||
" f.parent_activity_id,\n" +
|
||||
" f.effective_time,\n" +
|
||||
" f.effective_endtime\n" +
|
||||
" FROM stb_activity f\n" +
|
||||
" WHERE f.effective_endtime IS NOT NULL\n" +
|
||||
"),\n" +
|
||||
"riepilogo AS (\n" +
|
||||
" SELECT\n" +
|
||||
" p.activity_id AS parent_id,\n" +
|
||||
" p.data_ins_act,\n" +
|
||||
" MAX(f.effective_endtime) AS max_endtime,\n" +
|
||||
" SUM(DATEDIFF(MINUTE, f.effective_time, f.effective_endtime)) AS minuti_figlie\n" +
|
||||
" FROM parent p\n" +
|
||||
" LEFT JOIN figlie f ON f.parent_activity_id = p.activity_id\n" +
|
||||
" GROUP BY p.activity_id, p.data_ins_act\n" +
|
||||
"),\n" +
|
||||
"minuti_effettivi AS (\n" +
|
||||
" SELECT IIF(CAST(r.data_ins_act AS DATE) >= CAST(r.max_endtime AS DATE), r.minuti_figlie,\n" +
|
||||
" DATEDIFF(MINUTE, r.data_ins_act, r.max_endtime)) AS minuti\n" +
|
||||
" FROM riepilogo r\n" +
|
||||
")\n" +
|
||||
"SELECT AVG(minuti) AS media_minuti_effettivi\n" +
|
||||
"FROM minuti_effettivi";
|
||||
|
||||
return UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(multiDBTransactionManager.getPrimaryConnection(), sql);
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -118,7 +119,11 @@ public class DataSheetServices {
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
|
||||
allVariables.forEach(variable -> {
|
||||
if (mtb_aart.containsKey(variable)) {
|
||||
if (variable.equalsIgnoreCase("colli_pedana") || variable.equalsIgnoreCase("colli_strato")){
|
||||
BigDecimal value = UtilityHashMap.getValueIfExists(mtb_aart, variable);
|
||||
resultMap.put(variable, value.toBigInteger().toString());
|
||||
|
||||
} else if (mtb_aart.containsKey(variable)) {
|
||||
resultMap.put(variable, String.valueOf(mtb_aart.get(variable)));
|
||||
}
|
||||
|
||||
|
||||
@@ -179,20 +179,50 @@ public class DigitalInvoiceService {
|
||||
Azienda datiAzienda = this.getDatiAzienda(data);
|
||||
|
||||
// GET Dati Testata
|
||||
String queryDatiHeader = "SELECT dtb_doct.num_cmov, dtb_doct.gestione, dtb_doct.num_doc, isNull(vtb_dest.cuu_pa, gtb_anag.cuu_pa ) as cuu_pa, IsNull(vtb_dest.e_mail_pec, gtb_anag.e_mail_pec) as e_mail_pec, gtb_anag.flag_persona_fg, naziAnag.cod_nazi_alpha_2 as nazione, " +
|
||||
" gtb_anag.part_iva, gtb_anag.rag_soc + isNull(' ' + gtb_anag.rag_soc2, '') as rag_soc, gtb_anag.cod_fisc, gtb_anag.nome, " +
|
||||
" gtb_anag.cognome, gtb_anag.indirizzo, gtb_anag.cap, gtb_anag.citta, gtb_anag.prov, gtb_anag.reg_fisc, vtb_dest.destinatario as rag_soc_dest, vtb_dest.indirizzo AS indirizzo_dest, " +
|
||||
" vtb_dest.citta AS citta_dest, vtb_dest.cap AS cap_dest, vtb_dest.prov AS prov_dest, naziDest.cod_nazi_alpha_2 AS nazione_dest, " +
|
||||
" vtb_dest.part_iva AS part_iva_dest, CASE WHEN Len(isNull(vtb_dest.cuu_pa, gtb_anag.cuu_pa )) = 6 THEN 'FPA12' ELSE 'FPR12' END AS formato, isNull(vtb_dest.flag_stabile_org, 'N') as flag_stabile_org " +
|
||||
"FROM dtb_doct " +
|
||||
" LEFT OUTER JOIN gtb_anag ON gtb_anag.cod_anag = dtb_doct.cod_anag " +
|
||||
" LEFT OUTER JOIN (select gtb_nazi.nazione, gtb_nazi_iso.cod_nazione_iso, gtb_nazi_iso.cod_nazi_alpha_2 " +
|
||||
" from gtb_nazi left outer join gtb_nazi_iso on gtb_nazi.cod_nazione_iso = gtb_nazi_iso.cod_nazione_iso) naziAnag ON gtb_anag.nazione = naziAnag.nazione " +
|
||||
" LEFT OUTER JOIN vtb_dest " +
|
||||
" ON vtb_dest.cod_anag = dtb_doct.cod_anag " +
|
||||
" AND vtb_dest.cod_vdes = dtb_doct.cod_vdes " +
|
||||
" LEFT OUTER JOIN (select gtb_nazi.nazione, gtb_nazi_iso.cod_nazione_iso, gtb_nazi_iso.cod_nazi_alpha_2 " +
|
||||
" from gtb_nazi left outer join gtb_nazi_iso on gtb_nazi.cod_nazione_iso = gtb_nazi_iso.cod_nazione_iso) naziDest ON vtb_dest.nazione = naziDest.nazione " +
|
||||
String queryDatiHeader = "SELECT dtb_doct.num_cmov,\n" +
|
||||
" dtb_doct.gestione,\n" +
|
||||
" dtb_doct.num_doc,\n" +
|
||||
" IIF(ISNULL(dtb_tipi_fe.flag_integrazione, 0) = 1, azienda.cod_sdi_ditta,\n" +
|
||||
" ISNULL(vtb_dest.cuu_pa, gtb_anag.cuu_pa)) AS cuu_pa,\n" +
|
||||
" ISNULL(vtb_dest.e_mail_pec, gtb_anag.e_mail_pec) AS e_mail_pec,\n" +
|
||||
" gtb_anag.flag_persona_fg,\n" +
|
||||
" naziAnag.cod_nazi_alpha_2 AS nazione,\n" +
|
||||
" gtb_anag.part_iva,\n" +
|
||||
" gtb_anag.rag_soc + ISNULL(' ' + gtb_anag.rag_soc2, '') AS rag_soc,\n" +
|
||||
" gtb_anag.cod_fisc,\n" +
|
||||
" gtb_anag.nome,\n" +
|
||||
" gtb_anag.cognome,\n" +
|
||||
" gtb_anag.indirizzo,\n" +
|
||||
" IIF(ISNULL(dtb_tipi_fe.flag_integrazione, 0) = 1, '00000', gtb_anag.cap) AS cap,\n" +
|
||||
" gtb_anag.citta,\n" +
|
||||
" gtb_anag.prov,\n" +
|
||||
" gtb_anag.reg_fisc,\n" +
|
||||
" vtb_dest.destinatario AS rag_soc_dest,\n" +
|
||||
" vtb_dest.indirizzo AS indirizzo_dest,\n" +
|
||||
" vtb_dest.citta AS citta_dest,\n" +
|
||||
" vtb_dest.cap AS cap_dest,\n" +
|
||||
" vtb_dest.prov AS prov_dest,\n" +
|
||||
" naziDest.cod_nazi_alpha_2 AS nazione_dest,\n" +
|
||||
" vtb_dest.part_iva AS part_iva_dest,\n" +
|
||||
" IIF(LEN(ISNULL(vtb_dest.cuu_pa, gtb_anag.cuu_pa)) = 6, 'FPA12', 'FPR12') AS formato,\n" +
|
||||
" ISNULL(vtb_dest.flag_stabile_org, 'N') AS flag_stabile_org\n" +
|
||||
"FROM dtb_doct\n" +
|
||||
" INNER JOIN dtb_tipi ON dtb_doct.cod_dtip = dtb_tipi.cod_dtip\n" +
|
||||
" LEFT OUTER JOIN ctb_caus ON dtb_tipi.cod_ccau = ctb_caus.cod_ccau\n" +
|
||||
" LEFT OUTER JOIN dtb_tipi_fe ON ctb_caus.cod_dtip_ccau = dtb_tipi_fe.cod_dtip_ccau\n" +
|
||||
" LEFT OUTER JOIN gtb_anag ON gtb_anag.cod_anag = dtb_doct.cod_anag\n" +
|
||||
" LEFT OUTER JOIN (SELECT gtb_nazi.nazione, gtb_nazi_iso.cod_nazione_iso, gtb_nazi_iso.cod_nazi_alpha_2\n" +
|
||||
" FROM gtb_nazi\n" +
|
||||
" LEFT OUTER JOIN gtb_nazi_iso ON gtb_nazi.cod_nazione_iso = gtb_nazi_iso.cod_nazione_iso) naziAnag\n" +
|
||||
" ON gtb_anag.nazione = naziAnag.nazione\n" +
|
||||
" LEFT OUTER JOIN vtb_dest\n" +
|
||||
" ON vtb_dest.cod_anag = dtb_doct.cod_anag\n" +
|
||||
" AND vtb_dest.cod_vdes = dtb_doct.cod_vdes\n" +
|
||||
" LEFT OUTER JOIN (SELECT gtb_nazi.nazione, gtb_nazi_iso.cod_nazione_iso, gtb_nazi_iso.cod_nazi_alpha_2\n" +
|
||||
" FROM gtb_nazi\n" +
|
||||
" LEFT OUTER JOIN gtb_nazi_iso ON gtb_nazi.cod_nazione_iso = gtb_nazi_iso.cod_nazione_iso) naziDest\n" +
|
||||
" ON vtb_dest.nazione = naziDest.nazione\n" +
|
||||
" CROSS APPLY azienda\n" +
|
||||
"WHERE dtb_doct.cod_anag = " + UtilityDB.valueToString(codAnag) +
|
||||
" AND dtb_doct.cod_dtip = " + UtilityDB.valueToString(codDtip) +
|
||||
" AND dtb_doct.data_doc = " + UtilityDB.valueToString(dataDoc) +
|
||||
|
||||
@@ -67,6 +67,14 @@ public class DocumentiDirettiService {
|
||||
dtbDoc.setIdRiga(null);
|
||||
});
|
||||
}
|
||||
|
||||
if (UtilityString.isNullOrEmpty(dtbDoct.getCodAnag() )) {
|
||||
throw new Exception("Codice cliente/fornitore obbligatorio");
|
||||
}
|
||||
|
||||
if (UtilityString.isNullOrEmpty(dtbDoct.getCodDtip() )) {
|
||||
throw new Exception("Tipo documento obbligatorio");
|
||||
}
|
||||
entityList.add(dtbDoct);
|
||||
|
||||
String sql =
|
||||
|
||||
@@ -1139,14 +1139,14 @@ public class CrmService {
|
||||
consegna = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, DtbDocr.class);
|
||||
|
||||
sql = Query.format(
|
||||
"SELECT CAST(COUNT(*) AS BIT)\n" +
|
||||
"SELECT CAST(IIF(flag_evaso = 'i', 1, 0) AS BIT) AS in_corso\n" +
|
||||
"FROM dtb_ordr\n" +
|
||||
" INNER JOIN dtb_ordt ON dtb_ordr.num_ord = dtb_ordt.num_ord AND\n" +
|
||||
" dtb_ordr.data_ord = dtb_ordt.data_ord AND\n" +
|
||||
" dtb_ordr.gestione = dtb_ordt.gestione\n" +
|
||||
"WHERE dtb_ordr.cod_jcom = %s\n" +
|
||||
" AND dtb_ordr.gestione = 'V'\n" +
|
||||
" AND flag_evaso = 'I'\n" +
|
||||
" AND qta_evasa > 0\n" +
|
||||
" AND flag_evaso <> 'A'\n" +
|
||||
" AND flag_annulla = 'N'\n" +
|
||||
" AND flag_sospeso = 'N'\n" +
|
||||
@@ -1155,12 +1155,13 @@ public class CrmService {
|
||||
" FROM mtb_aart\n" +
|
||||
" INNER JOIN ctb_cont ON mtb_aart.cod_ccon_ricavi = ctb_cont.cod_ccon\n" +
|
||||
" INNER JOIN ctb_grup ON ctb_cont.cod_cgrp = ctb_grup.cod_cgrp\n" +
|
||||
" WHERE ctb_grup.sezione = 1)",
|
||||
" WHERE ctb_grup.sezione = 1)\n" +
|
||||
"GROUP BY CAST(IIF(FLAG_EVASO = 'i', 1, 0) AS BIT)",
|
||||
codJcom
|
||||
);
|
||||
boolean isLoading = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
Boolean isLoading = UtilityDB.executeSimpleQueryOnlyFirstRowFirstColumn(conn, sql);
|
||||
|
||||
if (consegna == null)
|
||||
if (isLoading == null)
|
||||
jobProgressResponse.addSkippedStep("Consegna & Montaggio");
|
||||
else {
|
||||
if (isLoading)
|
||||
|
||||
@@ -535,6 +535,30 @@ public class ListiniVenditaServices {
|
||||
}
|
||||
entities.addAll(getVtbListData(listini));
|
||||
|
||||
if ( userSession.getCurrentUser() != null ) {
|
||||
List<MtbVarLisvLog> chiusuraPromo = listini
|
||||
.stream()
|
||||
.map(
|
||||
l -> {
|
||||
MtbVarLisvLog log = new MtbVarLisvLog()
|
||||
.setUserName(userSession.getUsername())
|
||||
.setVersione(l.getVersione())
|
||||
.setCodVlis(l.getCodVlis())
|
||||
.setDataIniz(UtilityLocalDate.localDateFromDate(l.getDataIniz()))
|
||||
.setDataFine(UtilityLocalDate.localDateFromDate(l.getDataFine()))
|
||||
.setCodPromo(l.getCodPromo())
|
||||
.setCodMart(l.getCodMart())
|
||||
.setNote("Chiusura Promo");
|
||||
log.setOperation(OperationType.INSERT);
|
||||
return log;
|
||||
}
|
||||
).collect(Collectors.toList());
|
||||
|
||||
entities.addAll(chiusuraPromo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (saveEntity) {
|
||||
entities = entityProcessor.processEntityList(entities, true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user