diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240930180552.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240930180552.java index d12a6e7082..1996b3aa31 100644 --- a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240930180552.java +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20240930180552.java @@ -1,16 +1,243 @@ -package it.integry.ems.migration.model;import it.integry.ems.migration._base.BaseMigration; +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_20240930180552 extends BaseMigration implements MigrationModelInterface{ +public class Migration_20240930180552 extends BaseMigration implements MigrationModelInterface { @Override - public void up()throws Exception { - if(isHistoryDB()) + public void up() throws Exception { + if (isHistoryDB()) return; + + if (!isCustomerDb(IntegryCustomerDB.Biolevante_Biolevante)) + return; + + executeStatement("ALTER VIEW [dbo].[vsvw_vendite]\n" + + "AS\n" + + " SELECT DISTINCT dtb_doct_b.cod_dtip_val AS cod_dtip,\n" + + "\t\tdtb_doct_b.data_doc_val AS data_doc,\n" + + "\t\tdtb_doct_b.ser_doc_val AS ser_doc,\n" + + "\t\tdtb_doct_b.num_doc_val AS num_doc,\n" + + "\t\tdtb_docr.cod_dtip_comp,\n" + + "\t\tdtb_docr.data_doc_comp,\n" + + "\t\tdtb_docr.ser_doc_comp,\n" + + "\t\tdtb_docr.num_doc_comp,\n" + + "\t\tdtb_doct_a.cod_vage,\n" + + "\t\tIsnull(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag) AS cod_anag,\n" + + "\t\tdtb_doct_b.cod_vdes,\n" + + "\t\tdtb_doct_b.cod_vzon,\n" + + "\t\tvtb_clie.cod_vtip,\n" + + "\t\tdtb_doct_b.cod_dtip AS cod_dtip_bolla,\n" + + "\t\tdtb_doct_b.data_doc AS data_doc_bolla,\n" + + "\t\tdtb_doct_b.ser_doc AS ser_doc_bolla,\n" + + "\t\tdtb_doct_b.num_doc AS num_doc_bolla,\n" + + "\t\tdtb_doct_b.cod_mdep,\n" + + "\t\tIsnull(mtb_aart.cod_mart_stat, dtb_docr.cod_mart) AS cod_mart,\n" + + "\t\tmtb_aart.cod_mgrp,\n" + + "\t\tmtb_aart.cod_msgr,\n" + + "\t\tmtb_aart.cod_mtip,\n" + + "\t\tmtb_aart.cod_mstp,\n" + + "\t\tIsnull(mtb_aart.descrizione_estesa, dtb_docr.descrizione) AS descrizione,\n" + + "\t\tdtb_docr.unt_doc,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_imponib / dtb_doct_a.cambio AS tot_imponib,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_iva / dtb_doct_a.cambio AS tot_iva,\n" + + "\t\tdtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" + + "\t\tdtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_docr.importo_riga / dtb_doct_b.cambio AS importo_riga,\n" + + "\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_vend,\n" + + "\t\tCASE WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN( CASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100\tTHEN\t\t( segno_qta_scar - segno_qta_car ) * qta_doc * dtb_docr.rap_conv * mtb_aart.peso_kg\tELSE 0 END ) ELSE 0 END AS qta_vend_kg,\n" + + "\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_vend,\n" + + "\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_omg,\n" + + "\t\tCASE WHEN mtb_aart.peso_kg <> 0 AND mtb_aart.peso_kg IS NOT NULL THEN( CASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100THEN( segno_qta_scar - segno_qta_car ) * qta_doc * dtb_docr.rap_conv * mtb_aart.peso_kg ELSE 0 END ) ELSE 0 END AS qta_omg_kg,\n" + + "\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg,\n" + + "\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_prov / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_prov ) / dtb_doct_b.cambio ASimporto_prov,\n" + + "\t\tdtb_docr.id_riga,\n" + + "\t\tgtb_divi.cod_divi,\n" + + "\t\tdtb_doct_a.listino AS cod_vlis,\n" + + "\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt / dtb_doct_b.cambio ELSE 0 END AS val_costo,\n" + + "\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg_costo,\n" + + "\t\tCASE WHEN sconto8 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * costo_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_scarti_prod,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'R' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rivendibili,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'S' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_non_rivendibili,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'P' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rettifica_prezzo,\n" + + "\t\tCASE WHEN flag_tipo_reso IS NOT NULL THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_resi_rivendibili,\n" + + "\t\tdtb_docr.rap_conv,\n" + + "\t\tqta_doc * dtb_docr.rap_conv * peso_kg * ( segno_qta_scar - segno_qta_car ) ASpesokg,\n" + + "\t\tCASE WHEN dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) = 0 THEN 0 ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) END AS confezioni,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( dtb_doct_b.sconto1 / 100 ) )) / dtb_doct_b.cambio AS val_sconto1,(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( dtb_doct_b.sconto2 / 100 ) )) /dtb_doct_b.cambio AS val_sconto2,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( dtb_doct_b.sconto3 / 100 ) )) / dtb_doct_b.cambio AS val_sconto3,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_doct_b.sconto4 / 100 ) )) / dtb_doct_b.cambio AS val_sconto4,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( dtb_docr.sconto5 / 100 ) )) /dtb_doct_b.cambio AS val_sconto5,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( dtb_docr.sconto6 / 100 ) )) / dtb_doct_b.cambio AS val_sconto6,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( dtb_docr.sconto7 / 100 ) )) /dtb_doct_b.cambio AS val_sconto7,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( dtb_docr.sconto8 / 100 ) )) / dtb_doct_b.cambio AS val_sconto8,\n" + + "\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio AS fatturato_lordo,\n" + + "\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_doct_b.sconto4 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_gest / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_gest ) / dtb_doct_b.cambio AS importo_gest,\n" + + "\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_ispe / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_ispe ) / dtb_doct_b.cambio AS importo_prov_ispe,\n" + + "\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_promo / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_promo ) / dtb_doct_b.cambio AS importo_promo,\n" + + "\t\t( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_oneri / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_oneri ) / dtb_doct_b.cambio ) +Isnull(( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( venditeOneri.perc_oneri_art / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * venditeOneri.val_oneri_art ) / dtb_doct_b.cambio ), 0) AS importo_oneri,\n" + + "\t\tdtb_docr.cod_promo,\n" + + "\t\tvtb_clie.cod_vass,\n" + + "\t\tvtb_clie.cod_vgrp_acq,\n" + + "\t\tmtb_aart.peso_kg,\n" + + "\t\tmtb_aart.qta_cnf,\n" + + "\t\tCONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" + + "\t\tdtb_docr.cod_jcom,\n" + + "\t\tdtb_doct_b.porto,\n" + + "\t\tdtb_doct_b.mezzo,\n" + + "\t\tgtb_anag.nazione as nazione_clie, \n" + + "\t\tvtb_dest.nazione as nazione_dest\n" + + "FROM dtb_docr\n" + + " LEFT OUTER JOIN dbo.Getviewvenditeoneri() venditeOneri\n" + + " ON dtb_docr.cod_anag = venditeOneri.cod_anag_comp\n" + + " AND dtb_docr.cod_dtip = venditeOneri.cod_dtip_comp\n" + + " AND dtb_docr.data_doc = venditeOneri.data_doc_comp\n" + + " AND dtb_docr.num_doc = venditeOneri.num_doc_comp\n" + + " AND dtb_docr.ser_doc = venditeOneri.ser_doc_comp\n" + + " AND dtb_docr.cod_mart = venditeOneri.cod_mart,\n" + + " dtb_doct AS dtb_doct_a,\n" + + " dtb_doct AS dtb_doct_b left outer join vtb_dest on dtb_doct_b.cod_anag = vtb_dest.cod_anag and \n" + + "\t\t\t\t\t\t\t\t\t\t\t\t\t\t dtb_doct_b.cod_vdes = vtb_dest.cod_vdes,\n" + + " dtb_tipi,\n" + + " gtb_divi,\n" + + " azienda,\n" + + " mtb_aart,\n" + + " mtb_sgrp,\n" + + " vtb_clie inner join gtb_anag on vtb_Clie.cod_anag = gtb_anag.cod_anag\t\t\t \n" + + "WHERE ( dtb_doct_b.cod_anag = dtb_docr.cod_anag )\n" + + " AND ( dtb_doct_b.cod_dtip = dtb_docr.cod_dtip )\n" + + " AND ( dtb_doct_b.data_doc = dtb_docr.data_doc )\n" + + " AND ( dtb_doct_b.ser_doc = dtb_docr.ser_doc )\n" + + " AND ( dtb_doct_b.num_doc = dtb_docr.num_doc )\n" + + " AND ( dtb_doct_b.cod_anag = dtb_doct_a.cod_anag )\n" + + " AND ( dtb_doct_b.cod_dtip_val = dtb_doct_a.cod_dtip )\n" + + " AND ( dtb_doct_b.data_doc_val = dtb_doct_a.data_doc )\n" + + " AND ( dtb_doct_b.ser_doc_val = dtb_doct_a.ser_doc )\n" + + " AND ( dtb_doct_b.num_doc_val = dtb_doct_a.num_doc )\n" + + " AND ( dtb_doct_b.cod_anag = vtb_clie.cod_anag )\n" + + " AND ( dtb_tipi.cod_dtip = dtb_doct_b.cod_dtip )\n" + + " AND ( azienda.cod_divi_contab = gtb_divi.cod_divi )\n" + + " AND ( dtb_docr.cod_mart = mtb_aart.cod_mart )\n" + + " AND ( mtb_aart.cod_mgrp = mtb_sgrp.cod_mgrp )\n" + + " AND ( mtb_aart.cod_msgr = mtb_sgrp.cod_msgr )\n" + + " AND ( mtb_sgrp.incl_in_stat = 'S' )\n" + + " AND ( ( dtb_doct_b.gestione = 'V' )\n" + + " AND ( dtb_tipi.tipo_emissione = 'DIRETTA' )\n" + + " AND ( dtb_docr.cod_mart IS NOT NULL ) )\n" + + " AND ( dtb_tipi.flag_incl_stat = 'S' )\n" + + "UNION ALL\n" + + "SELECT dtb_doct_b.cod_dtip_val,\n" + + "\t\tdtb_doct_b.data_doc_val,\n" + + "\t\tdtb_doct_b.ser_doc_val,\n" + + "\t\tdtb_doct_b.num_doc_val,\n" + + "\t\tdtb_docr.cod_dtip_comp,\n" + + "\t\tdtb_docr.data_doc_comp,\n" + + "\t\tdtb_docr.ser_doc_comp,\n" + + "\t\tdtb_docr.num_doc_comp,\n" + + "\t\tdtb_doct_a.cod_vage,\n" + + "\t\tIsnull(vtb_clie.cod_anag_stat, dtb_doct_b.cod_anag)\n" + + "\t\tAS cod_anag,\n" + + "\t\tdtb_doct_b.cod_vdes,\n" + + "\t\tdtb_doct_b.cod_vzon,\n" + + "\t\tvtb_clie.cod_vtip,\n" + + "\t\tdtb_doct_b.cod_dtip,\n" + + "\t\tdtb_doct_b.data_doc,\n" + + "\t\tdtb_doct_b.ser_doc,\n" + + "\t\tdtb_doct_b.num_doc,\n" + + "\t\tdtb_doct_b.cod_mdep,\n" + + "\t\tdtb_docr.cod_mart,\n" + + "\t\tNULL,\n" + + "\t\tNULL,\n" + + "\t\tNULL,\n" + + "\t\tNULL,\n" + + "\t\tdtb_docr.descrizione,\n" + + "\t\tdtb_docr.unt_doc,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_imponib / dtb_doct_a.cambio AS tot_imponib,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_doct_a.tot_iva / dtb_doct_a.cambio AS tot_iva,\n" + + "\t\tdtb_doct_b.tot_imponib / dtb_doct_b.cambio AS tot_imponib_bolla,\n" + + "\t\tdtb_doct_b.tot_iva / dtb_doct_b.cambio AS tot_iva_bolla,\n" + + "\t\t( segno_val_scar - segno_val_car ) * dtb_docr.importo_riga / dtb_doct_b.cambio AS importo_riga,\n" + + "\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_vend,\n" + + "\t\tCONVERT(NUMERIC(15, 5), 0) AS qta_vend_kg,\n" + + "\t\tCASE WHEN sconto5 <> 100 AND sconto6 <> 100 AND sconto7 <> 100 AND sconto8 <> 100 THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_vend,\n" + + "\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_omg, CONVERT(NUMERIC(15, 5), 0) AS qta_omg_kg,\n" + + "\t\tCASE WHEN sconto5 = 100 OR sconto6 = 100 OR sconto7 = 100 THEN( ( segno_qta_scar - segno_qta_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio ELSE 0 END AS val_omg,\n" + + "\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_prov / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_prov ) / dtb_doct_b.cambio AS importo_prov,\n" + + "\t\tdtb_docr.id_riga,\n" + + "\t\tgtb_divi.cod_divi,\n" + + "\t\tdtb_doct_a.listino AS cod_vlis,\n" + + "\t\tCONVERT(NUMERIC(20, 5), 0) AS val_costo,\n" + + "\t\tCONVERT(NUMERIC(20, 5), 0) AS val_omg_costo,\n" + + "\t\tCONVERT(NUMERIC(20, 5), 0) AS val_scarti_prod,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'R' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rivendibili,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'S' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_non_rivendibili,\n" + + "\t\tCASE WHEN flag_tipo_reso = 'P' THEN( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) ) / dtb_doct_b.cambio ELSE 0 END AS val_resi_rettifica_prezzo,\n" + + "\t\tCASE WHEN flag_tipo_reso IS NOT NULL THEN ( segno_qta_scar - segno_qta_car ) * qta_doc ELSE 0 END AS qta_resi_rivendibili,\n" + + "\t\tdtb_docr.rap_conv,\n" + + "\t\t0 AS pesokg,\n" + + "\t\tCASE WHEN dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) = 0 THEN 0 ELSE qta_doc * dtb_docr.rap_conv / dtb_docr.qta_cnf * ( segno_qta_scar - segno_qta_car ) END AS confezioni,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( dtb_doct_b.sconto1 / 100 ) )) / dtb_doct_b.cambio AS val_sconto1, (( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( dtb_doct_b.sconto2 / 100 ) )) / dtb_doct_b.cambio AS val_sconto2,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( dtb_doct_b.sconto3 / 100 ) )) / dtb_doct_b.cambio AS val_sconto3,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_doct_b.sconto4 / 100 ) )) / dtb_doct_b.cambio AS val_sconto4,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( dtb_docr.sconto5 / 100 ) )) /dtb_doct_b.cambio AS val_sconto5,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( dtb_docr.sconto6 / 100 ) )) / dtb_doct_b.cambio AS val_sconto6,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( dtb_docr.sconto7 / 100 ) )) /dtb_doct_b.cambio AS val_sconto7,\n" + + "\t\t(( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( dtb_docr.sconto8 / 100 ) )) / dtb_doct_b.cambio AS val_sconto8,\n" + + "\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt ) / dtb_doct_b.cambio AS fatturato_lordo,\n" + + "\t\t( ( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_doct_b.sconto4 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_gest / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_gest ) / dtb_doct_b.cambio AS importo_gest,\n" + + "\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_ispe / 100 ) + (segno_val_scar - segno_val_car ) * qta_doc * val_ispe ) / dtb_doct_b.cambio ASimporto_prov_ispe,\n" + + "\t\t(( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_promo / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_promo ) / dtb_doct_b.cambio AS importo_promo,\n" + + "\t\t( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( dtb_docr.perc_oneri / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * val_oneri ) / dtb_doct_b.cambio ) +Isnull(( (( segno_val_scar - segno_val_car ) * qta_doc * val_unt * ( 1 - dtb_doct_b.sconto1 / 100 ) * ( 1 - dtb_doct_b.sconto2 / 100 ) * ( 1 - dtb_doct_b.sconto3 / 100 ) * ( 1 - dtb_docr.sconto5 / 100 ) * ( 1 - dtb_docr.sconto6 / 100 ) * ( 1 - dtb_docr.sconto7 / 100 ) * ( 1 - dtb_docr.sconto8 / 100 ) * ( venditeOneri.perc_oneri_art / 100 ) + ( segno_val_scar - segno_val_car ) * qta_doc * venditeOneri.val_oneri_art ) / dtb_doct_b.cambio ), 0) AS importo_oneri,\n" + + "\t\tdtb_docr.cod_promo,\n" + + "\t\tvtb_clie.cod_vass,\n" + + "\t\tvtb_clie.cod_vgrp_acq,\n" + + "\t\tNULL,\n" + + "\t\tNULL,\n" + + "\t\tCONVERT(INT, CASE WHEN dtb_doct_b.cod_forn_td IS NULL THEN 0 ELSE 1 END) AS flag_doc_td,\n" + + "\t\tdtb_docr.cod_jcom,\n" + + "\t\tdtb_doct_b.porto,\n" + + "\t\tdtb_doct_b.mezzo ,\n" + + "\t\tgtb_anag.nazione as nazione_clie, \n" + + "\t\tvtb_dest.nazione as nazione_dest\n" + + "FROM dtb_docr\n" + + " LEFT OUTER JOIN dbo.Getviewvenditeoneri() venditeOneri\n" + + " ON dtb_docr.cod_anag = venditeOneri.cod_anag_comp\n" + + " AND dtb_docr.cod_dtip = venditeOneri.cod_dtip_comp\n" + + " AND dtb_docr.data_doc = venditeOneri.data_doc_comp\n" + + " AND dtb_docr.num_doc = venditeOneri.num_doc_comp\n" + + " AND dtb_docr.ser_doc = venditeOneri.ser_doc_comp\n" + + " AND dtb_docr.cod_mart = venditeOneri.cod_mart,\n" + + " dtb_doct AS dtb_doct_b left outer join vtb_dest on dtb_doct_b.cod_anag = vtb_dest.cod_anag and \n" + + "\t\t\t\t\t\t\t\t\t\t\t\t\t\t dtb_doct_b.cod_vdes = vtb_dest.cod_vdes,\n" + + " dtb_doct AS dtb_doct_a,\n" + + " dtb_tipi,\n" + + " gtb_divi,\n" + + " azienda,\n" + + " vtb_clie inner join gtb_anag on vtb_Clie.cod_anag = gtb_anag.cod_anag\n" + + "WHERE ( dtb_doct_b.cod_anag = dtb_docr.cod_anag )\n" + + " AND ( dtb_doct_b.cod_dtip = dtb_docr.cod_dtip )\n" + + " AND ( dtb_doct_b.data_doc = dtb_docr.data_doc )\n" + + " AND ( dtb_doct_b.ser_doc = dtb_docr.ser_doc )\n" + + " AND ( dtb_doct_b.num_doc = dtb_docr.num_doc )\n" + + " AND ( dtb_doct_b.cod_anag = dtb_doct_a.cod_anag )\n" + + " AND ( dtb_doct_b.cod_dtip_val = dtb_doct_a.cod_dtip )\n" + + " AND ( dtb_doct_b.data_doc_val = dtb_doct_a.data_doc )\n" + + " AND ( dtb_doct_b.ser_doc_val = dtb_doct_a.ser_doc )\n" + + " AND ( dtb_doct_b.num_doc_val = dtb_doct_a.num_doc )\n" + + " AND ( dtb_doct_b.cod_anag = vtb_clie.cod_anag )\n" + + " AND ( dtb_tipi.cod_dtip = dtb_doct_b.cod_dtip )\n" + + " AND ( azienda.cod_divi_contab = gtb_divi.cod_divi )\n" + + " AND ( ( dtb_doct_b.gestione = 'V' )\n" + + " AND ( dtb_tipi.tipo_emissione = 'DIRETTA' )\n" + + " AND ( dtb_docr.cod_mart IS NULL )\n" + + " AND ( dtb_docr.qta_doc <> 0 ) )\n" + + " AND ( dtb_tipi.flag_incl_stat = 'S' ) \n"); } @Override - public void down()throws Exception{ + public void down() throws Exception { } diff --git a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241002090224.java b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241002090224.java index 65dcff46a0..fccfccf634 100644 --- a/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241002090224.java +++ b/ems-core/src/main/java/it/integry/ems/migration/model/Migration_20241002090224.java @@ -1,16 +1,24 @@ -package it.integry.ems.migration.model;import it.integry.ems.migration._base.BaseMigration; +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_20241002090224 extends BaseMigration implements MigrationModelInterface{ +public class Migration_20241002090224 extends BaseMigration implements MigrationModelInterface { @Override - public void up()throws Exception { - if(isHistoryDB()) + public void up() throws Exception { + if (isHistoryDB()) return; + + if (isCustomerDb(IntegryCustomerDB.Gramm_Gramm)) + return; + + executeStatement("update stb_gest_setup set value = 'N' where gest_name = 'IMPORT_DOCUMENTI_TRASPORTO' and section in ('DIPA','EBC', 'MIRARCHI') and key_section = 'ATTIVO' and value = 'S'"); } @Override - public void down()throws Exception{ + public void down() throws Exception { }